Использование генетических алгоритмов для обучения нейронных сетей
Изучение способов поиска субоптимальных нейронных сетей. Архитектура системы поиска нейронной сети с помощью генетического алгоритма. Особенности работы операторов генетического алгоритма. Обучение нейронных сетей. Принципы стохастического моделирования.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 29.04.2017 |
Размер файла | 136,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
УДК 004.94
Кубанский Государственный Технологический Университет, Краснодар, Россия
ИСПОЛЬЗОВАНИЕ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ ДЛЯ ОБУЧЕНИЯ НЕЙРОННЫХ СЕТЕЙ
USING GENETIC ALGORITHMS FOR TRAINING NEURAL NETWORKS
Шумков Евгений Александрович к.т.н.
Чистик Игорь Константинович
Аннотация
В статье показаны способы поиска субоптимальных нейронных сетей с помощью генетических алгоритмов
In this article we have shown how to find sub-optimal neural networks using genetic algorithms
Ключевые слова: ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ, НЕЙРОННЫЕ СЕТИ, ОБУЧЕНИЕ НЕЙРОННОЙ СЕТИ, СТОХАСТИЧЕСКИЕ МЕТОДЫ ОБУЧЕНИЯ
Keywords: GENETIC ALGORITHMS, NEURAL NETWORKS, NEURAL NETWORK TRAINING, STOCHASTIC METHODS OF TRAINING
В настоящее время создано большое количество архитектур нейронных сетей и методов их обучения [4]. Наиболее распространенной является связка - многослойный персептрон (далее МП) и алгоритм обратного распространения ошибки. Для МП также применяют и другие методы, в частности для «грубого» обучения применяют RProp, для «точного» - квазиньютоновские методы и др. [7]. Данные методы, в основном градиентные и не лишены недостатков. Один из основных - точные значения градиента не всегда доступны и кроме того решение задачи оптимизации в условиях большой размерности требует значительных вычислительных, а следовательно и временных затрат [4,6].
Одним из крупных классов обучения нейронных сетей являются вероятностные методы, а также принцип стохастического моделирования [4]. В частности выделяют методы стохастического моделирования: алгоритм Метрополиса, метод моделирования отжига, выборки Гиббса. Популярны и стохастические машины при обучении нейронных сетей - машина Больцмана, сигмоидальные сети доверия и стохастическая машина Гельмгольца. Стохастические методы обучения нейронных сетей черпают свои идеи в основном в статистической механике [4]. Данные методы обычно относятся, за некоторыми исключениями, к классу самоорганизующихся обучаемых систем.
Другим похожим классом обучения нейронных сетей является использование генетических алгоритмов для поиска весов синаптических связей и/или структуры сети. При использовании генетических алгоритмов для обучения МП можно действовать двумя способами. Первый - искать непосредственно комбинацию весов синаптических связей нейронной сети, а второй - искать нейронную сеть с нужными параметрами (количество слоев и нейронов в них, функция активации, входы - выходы сети и т.д.), то есть решается задача структурной оптимизации. В первом случае генерируются банки особей нейронных сетей и генетическим алгоритмом ищется комбинация синаптических весов, то есть методы обучения нейронных сетей при данном подходе не используются! А во втором случае генерируются особи с разными параметрами и с помощью выбранного метода обучения или нескольких эти нейронные сети обучаются. Здесь также важен следующий момент - можно перебирать входы и выходы нейронной сети Выходы нейросети обычно жестко задаются, в частности для прогнозирования обычно используется только один выход.. Можно также использовать комбинацию вышеописанных методов, например, на первом этапе с помощью генетического алгоритма ищутся общие параметры нейронной сети, а на втором этапе, также с помощью генетического алгоритма, ищутся значения синаптических весов [1]. Отметим, что во втором случае априори используется большее количество вычислительных затрат, но при этом плюсом является то, что можно быстрее найти нейронную сеть меньшего размера решающую поставленную задачу. Отечественные разработки применения генетических алгоритмов для обучения нейронных сетей можно посмотреть в работах [1,3,6].
Использование генетического алгоритма для обучения нейронных сетей обладает следующими достоинствами [1,6]:
- изучение пространства поиска при помощи множества решений, а не одного. Это дает значительный эффект при поиске глобальных минимумов адаптивных рельефов;
- генетические алгоритмы малочувствительны к росту размерности множества оптимизации.
В тоже время существует значительный недостаток использования генетических алгоритмов - серьезные вычислительные, а следовательно и временные затраты. Также генетические алгоритмы содержат в себе элементы эвристики и соответственно обладают всеми недостатками присущими эвристическим методам.
Управляемыми параметрами в генетическом алгоритме являются:
- длина хромосомы;
- наполнение хромосомы (локусы и аллели);
- параметры оператора кроссовера;
- параметры оператора мутации;
- параметры оператора инверсии;
- параметры выбора лучших особей;
- параметры генерации начальной и последующих популяций и т.д.
То есть видно, что в генетическом алгоритме можно подстраивать практически всё. При этом есть только общие рекомендации, как это делать. Конкретная реализация ложится полностью на плечи разработчика.
Относительно операции кроссовера можно управлять количеством точек разрезов и собственно позициями точек разрезов. Обычно для упрощения выбирается один из типов кроссовера - одноточечный или многоточечный, а также жестко закрепляются позиции разрезов. В операции мутации можно варьировать количеством изменяемых генов и ограничениями на изменения. При проведении инверсии также можно управлять количеством переставляемых генов.
Следует отметить, так как генетические алгоритмы во многом опираются на вероятностный выбор, то при программной реализации необходимо использовать качественный генератор случайных чисел.
Будем называть субоптимальным набором весов синаптических связей МП, такой набор весов, при котором МП решает задачу Мы имеем в виду «сложные» задачи, например, прогнозирование курса валют, распознавание изображения с веб - камеры и т.д. с ошибкой меньше заданной. Набор называется субоптимальным, а не оптимальным, потому - что всегда можно найти другой набор весов, который будет решать эту же задачу с меньшей ошибкой, но поиск «лучшего» набора, возможно займет гораздо больше времени [2].
Предложим архитектуру системы, использующую генетический алгоритм для поиска субоптимальной нейронной сети для поставленной задачи. Исходным моментом для любой нейросетевой задачи, является обучающая выборка, описывающая решаемую задачу. Здесь мы предлагаем использовать базу данных временных рядов в стандартном исполнении.
Предлагаемая топология выглядит, как показано на Рисунке 1.
Рисунок 1. Архитектура системы поиска нейронной сети с помощью генетического алгоритма
На рисунке 1 показана общая архитектура топологии для поиска нейросети с использованием метода обучения, то есть с помощью генетического алгоритма идет только поиск общей структуры нейронной сети.
Отметим наличие в топологии БЗ - базы знаний, основная задача которой сохранение необходимых данных о предыдущих поисках (успешных и неуспешных) и, следовательно, сокращение времени на поиск адекватной модели при новых стартах. В БЗ должны протоколироваться все запуски поиска нейронный сетей с конечными результатами, статистические параметры временных рядов решаемых задач. В топологии, кроме БЗ, ключевыми являются блоки получения новых особей, блок обучения нейросети, блок оценки особей и генератор особей. Блок оценки особей, кроме собственно оценки особей, также выбирает по определенному алгоритму особи для следующего поколения, например, по принципу «рулетки» или турнирного отбора. Блок оценки особей должен быть абсолютно независим от остальных блоков рассматриваемой топологии. Блок генерации особей работает не только при формировании первоначальных банков, но и в последующие этапы. Принцип работы БЗ не должен нивелировать стохастичность поиска генетического алгоритма, БЗ должна определять стартовую позицию генерации особей, помогающую быстрее выходить на решение задачи. Обучение нейронных сетей происходит в отдельной компоненте - «блоке обучения нейросетей». В данный блок поступает общая хромосома (см. рисунок 2) с параметрами для конструктора нейросети и рекомендации по процессу обучения (метод обучения, скорость обучения, расписание обучения и др.) от БЗ по итогам предыдущих запусков, а на выходе выдаются матрицы весов синаптических связей.
В качестве целевой функции можно выбирать из нескольких вариантов формул, оценивающих качество обучения нейронной сети, остановимся на одной из них (по примерам и по выходам):
,(1)
где - количество выходов нейронной сети; - количество примеров в валидационной выборке; - желательное значение выхода; - реальное значение выхода.
Рисунок 2. Хромосомы, описывающие нейронную сеть
Особь предлагается делать составной из нескольких хромосом, т. к. вариаций по количеству входов, слоев и нейронов в них может быть большое количество. Пусть основная хромосома состоит из следующих генов: КВх - количество входов нейросети; КВых - количество выходов нейросети; Слои - количество слоев; T/S - тип функции активации (сигмоида/ тангенсоида/ ..); Alpha - коэффициент функции активации; СО - тип расчета скорости обучения; ПУ - пороговый уровень нейронов; РО - тип расчета ошибки на выходе нейросети и т.д. К генам КВх, КВых и Слои прикреплены дочерние хромосомы, определяющие соответственно непосредственные входы, выходы и количество нейронов в слоях.
Принцип работы операторов генетического алгоритма - мутации, кроссовера и инверсии для модифицированной хромосомы следующий. Оператор кроссовер работает только с основной хромосомой. Оператор инверсии работает с основной хромосомой и дочерними, отвечающими за входы и выходы. Оператор мутации работает с основной хромосомой и дочерней, отвечающей за количество нейронов. То есть за входы и выходы отвечает только генератор новых особей и БЗ. Суммарный оператор на каждой итерации генетического алгоритма при работе с модифицированной хромосомой имеет следующий вид:
нейронный сеть генетический алгоритм
{мутацияОХ(); мутацияХ3(); кроссоверОХ(); инверсияОХ(); инверсияХ1(); инверсияХ2()},
где - вероятность выполнения определенного оператора.
Можно модифицировать данную топологию под задачу поиска нейронной сети с варьируемыми топологией и методом обучения. То есть ищется та связка топология + метод обучения, которая справится с решением поставленной задачи.
Другой модификацией является наличие на конечном этапе принципа конгломерата нейронных сетей. То есть, с помощью генетического алгоритма ищется субоптимальных нейронный сетей и далее используется агрегированный ответ. Данный принцип неплохо себя зарекомендовал в задачах прогнозирования с помощью нейронных сетей [7]. Также нередко используют принцип «конкуренции и кооперации» в генетических нейро-нечетких системах [8]. Отметим еще одно совместное применение генетических алгоритмов и нейронных сетей - это настройка функций принадлежности нечетких и нейро-нечетких систем [8].
В настоящее время нейронные сети и генетические алгоритмы перешли из перспективных методов решения задач в доступные и широко применяемые методы. Основное направление при разработке, как новых методов, так и при решении практических задач, связано с поиском путей уменьшения временных затрат и поиску шаблонов быстрого прототипирования. Один из подходов рассмотрен в данной статье - поиск параметров нейронной сети с помощью генетического алгоритма. Применение данного подхода позволяет упростить с позиции инженера-разработчика поиск структуры нейронной сети, в частности поиск входов, количества слоев и нейронов в них, метод обучения и т.д.
Литература
1. Божич В.И., Лебедев О.Б., Шницер Ю.Л. Разработка генетического алгоритма обучения нейронных сетей // Известия ТРТУ. Тематический выпуск. 2001. Т. 22. №4. С. 170-174.
2. Зуева В.Н. Математическое обеспечение информационной системы учета и прогнозирования продовольственных ресурсов. Дисс. … канд. техн. наук. Краснодар. КубГТУ. 2007. 141 с.
3. Курейчик В.М. Генетические алгоритмы: Монография. Таганрог: Изд-во ТРТУ, 1998. 242 с.
4. Хайкин С. Нейронные сети: полный курс, 2-е издание.: Пер. с англ. - М.: Издательский дом «Вильямс», 2006. 1104 с.
5. Частикова В.А. Исследование основных параметров генетического алгоритма метода генетических схем в интеллектуальных системах, основанных на знаниях // Политематический сетевой журнал Кубанского государственного аграрного университета. 2011. №69. С. 151-163.
6. Чипига А.Ф., Воронкин Р.А. Обучение искусственных нейронных сетей путем совместного использования методов локальной оптимизации и генетических алгоритмов // Известия ТРТУ. Т. 33. №4. С. 172-174.
7. Шумков Е.А. Система поддержки принятия решений предприятия на основе нейросетевых технологий. Дисс. … канд. техн. наук. Краснодар: КубГТУ, 2004. 158 с.
8. Ярушкина Н.Г. Основы нечетких и гибридных систем: Учеб. Пособие. - М.:Финансы и статистика. 2004. 320 с.
1.Bozhich V.I., Lebedev O.B., Shnicer Ju.L. Razrabotka geneticheskogo algoritma obuchenija nejronnyh setej // Izvestija TRTU. Tematicheskij vypusk. 2001. T. 22. №4. S. 170-174.
2.Zueva V.N. Matematicheskoe obespechenie informacionnoj sistemy ucheta i prognozirovanija prodovol'stvennyh resursov. Diss. … kand. tehn. nauk. Krasnodar. KubGTU. 2007. 141 s.
3.Kurejchik V.M. Geneticheskie algoritmy: Monografija. Taganrog: Izd-vo TRTU, 1998. 242 s.
4.Hajkin S. Nejronnye seti: polnyj kurs, 2-e izdanie.: Per. s angl. - M.: Izdatel'skij dom «Vil'jams», 2006. 1104 s.
5.Chastikova V.A. Issledovanie osnovnyh parametrov geneticheskogo algoritma metoda geneticheskih shem v intellektual'nyh sistemah, osnovannyh na znanijah // Politematicheskij setevoj jelektronnyj nauchnyj zhurnal Kubanskogo gosudarstvennogo agrarnogo universiteta. 2011. №69. S. 151-163.
6.Chipiga A.F., Voronkin R.A. Obuchenie iskusstvennyh nejronnyh setej putem sovmestnogo ispol'zovanija metodov lokal'noj optimizacii i geneticheskih algoritmov // Izvestija TRTU. T. 33. №4. S. 172-174.
7.Shumkov E.A. Sistema podderzhki prinjatija reshenij predprijatija na osnove nejrosetevyh tehnologij. Diss. … kand. tehn. nauk. Krasnodar: KubGTU, 2004. 158 s.
8.Jarushkina N.G. Osnovy nechetkih i gibridnyh sistem: Ucheb. Posobie. - M.:Finansy i statistika. 2004. 320 s.
Размещено на Allbest.ru
...Подобные документы
Понятие искусственного нейрона и искусственных нейронных сетей. Сущность процесса обучения нейронной сети и аппроксимации функции. Смысл алгоритма обучения с учителем. Построение и обучение нейронной сети для аппроксимации функции в среде Matlab.
лабораторная работа [1,1 M], добавлен 05.10.2010Общие сведения о принципах построения нейронных сетей. Искусственные нейронные системы. Математическая модель нейрона. Классификация нейронных сетей. Правила обучения Хэбба, Розенблатта и Видроу-Хоффа. Алгоритм обратного распространения ошибки.
дипломная работа [814,6 K], добавлен 29.09.2014Анализ применения нейронных сетей для прогнозирования ситуации и принятия решений на фондовом рынке с помощью программного пакета моделирования нейронных сетей Trajan 3.0. Преобразование первичных данных, таблиц. Эргономическая оценка программы.
дипломная работа [3,8 M], добавлен 27.06.2011Рост активности в области теории и технической реализации искусственных нейронных сетей. Основные архитектуры нейронных сетей, их общие и функциональные свойства и наиболее распространенные алгоритмы обучения. Решение проблемы мертвых нейронов.
реферат [347,6 K], добавлен 17.12.2011Способы применения нейронных сетей для решения различных математических и логических задач. Принципы архитектуры их построения и цели работы программных комплексов. Основные достоинства и недостатки каждой из них. Пример рекуррентной сети Элмана.
курсовая работа [377,4 K], добавлен 26.02.2015Диагностический анализ изучения алгоритмов обучения нейронных сетей "с учителем". Сбор входных и выходных переменных для наблюдений и понятие пре/пост процессирования. Подготовка и обобщение многослойного персептрона, модель обратного распространения.
курсовая работа [249,3 K], добавлен 22.06.2011Способы применения технологий нейронных сетей в системах обнаружения вторжений. Экспертные системы обнаружения сетевых атак. Искусственные сети, генетические алгоритмы. Преимущества и недостатки систем обнаружения вторжений на основе нейронных сетей.
контрольная работа [135,5 K], добавлен 30.11.2015Возможности программ моделирования нейронных сетей. Виды нейросетей: персептроны, сети Кохонена, сети радиальных базисных функций. Генетический алгоритм, его применение для оптимизации нейросетей. Система моделирования нейронных сетей Trajan 2.0.
дипломная работа [2,3 M], добавлен 13.10.2015Особенности нейронных сетей как параллельных вычислительных структур, ассоциируемых с работой человеческого мозга. История искусственных нейронных сетей как универсального инструмента для решения широкого класса задач. Программное обеспечение их работы.
презентация [582,1 K], добавлен 25.06.2013Обучение простейшей и многослойной искусственной нейронной сети. Метод обучения перцептрона по принципу градиентного спуска по поверхности ошибки. Реализация в программном продукте NeuroPro 0.25. Использование алгоритма обратного распространения ошибки.
курсовая работа [1019,5 K], добавлен 05.05.2015Понятие и свойства искусственных нейронных сетей, их функциональное сходство с человеческим мозгом, принцип их работы, области использования. Экспертная система и надежность нейронных сетей. Модель искусственного нейрона с активационной функцией.
реферат [158,2 K], добавлен 16.03.2011Описание технологического процесса напуска бумаги. Конструкция бумагоделательной машины. Обоснование применения нейронных сетей в управлении формованием бумажного полотна. Математическая модель нейрона. Моделирование двух структур нейронных сетей.
курсовая работа [1,5 M], добавлен 15.10.2012Искусственные нейронные сети как одна из широко известных и используемых моделей машинного обучения. Знакомство с особенностями разработки системы распознавания изображений на основе аппарата искусственных нейронных сетей. Анализ типов машинного обучения.
дипломная работа [1,8 M], добавлен 08.02.2017Модели нейронных сетей и их реализации. Последовательный и параллельный методы резолюции как средства логического вывода. Зависимость между логическим следованием и логическим выводом. Применение технологии CUDA и реализация параллельного алгоритма.
дипломная работа [1,5 M], добавлен 22.09.2016Построение векторной модели нейронной сети. Проектирование и разработка поискового механизма, реализующего поиск в полнотекстовой базе данных средствами нейронных сетей Кохонена с применением модифицированного алгоритма расширяющегося нейронного газа.
курсовая работа [949,0 K], добавлен 18.07.2014Нейронные сети как средство анализа процесса продаж мобильных телефонов. Автоматизированные решения на основе технологии нейронных сетей. Разработка программы прогнозирования оптово-розничных продаж мобильных телефонов на основе нейронных сетей.
дипломная работа [4,6 M], добавлен 22.09.2011Простейшая сеть, состоящая из группы нейронов, образующих слой. Свойства нейрокомпьютеров (компьютеров на основе нейронных сетей), привлекательных с точки зрения их практического использования. Модели нейронных сетей. Персептрон и сеть Кохонена.
реферат [162,9 K], добавлен 30.09.2013Исследование эффективности применения нейронных сетей в рамках отношений между людьми. Принцип работы с нейросимулятором. Составление обучающей выборки и проектирование персептронов. Анализ выбора супружеской пары с использованием нейросетевых технологий.
презентация [150,8 K], добавлен 19.08.2013Изучение методов разработки систем управления на основе аппарата нечеткой логики и нейронных сетей. Емкость с двумя клапанами с целью установки заданного уровня жидкости и построение нескольких типов регуляторов. Проведение сравнительного анализа.
курсовая работа [322,5 K], добавлен 14.03.2009Применение нейрокомпьютеров на российском финансовом рынке. Прогнозирование временных рядов на основе нейросетевых методов обработки. Определение курсов облигаций и акций предприятий. Применение нейронных сетей к задачам анализа биржевой деятельности.
курсовая работа [527,2 K], добавлен 28.05.2009