Библиографическое описание:

Молотков М. С., Новиков А. К. Эволюционный подход к настройке и обучению нейронной сети // Молодой ученый. — 2016. — №10. — С. 69-71.



В статье рассматривается применение эволюционных алгоритмов (ЭА) для настройки и обучения искусственной нейронной сети (ИНС) — нейроэволюция. Даются основные особенности нейроэволюционного подхода (НЭ). Приведены задачи, решаемые с помощью НЭ алгоритмов, слабые и сильные стороны НЭ алгоритмов, а также рекомендации для решения распространенных проблем применения нейроэволюции.

Построение искусственной нейронной сети (ИНС), с классической точки зрения, выполняется методом проб и ошибок. Исследователь задает параметры сети: количество слоев и нейронов, структуру связей между нейронами, а затем наблюдает результаты — сеть обучается и тестируется на тестовой выборке. В зависимости от результатов тестирования исследователь производит изменения параметров сети. Для обучения используется обучающая выборка, включающая наборы входных сигналов X и соответствующие эталонные значения выходных сигналов Y. Использование обучающего множества данных позволяет подстраивать веса связей ИНС с помощью градиентных алгоритмов. Изменение весов связей происходит на основании отклонения значений действительных выходных сигналов ИНС F от требуемых Y. Обычно это отклонение представляется в виде ошибки ε ИНС.

Часто формирование обучающей выборки сопряжено со сложностью определения значений компонент вектора Y из обучающего множества. Данная проблема возникает при решении ряда специфических задач, а также если необходимо оценить последовательность выходных сигналов ИНС. К таким задачам относятся задачи, связанные с адаптивным поведением и управлением, прогнозированием, анализом временных рядов, игровыми стратегиями, обработкой изображений и т.д. Для решения данной проблемы можно использовать приближенную интегральную оценку, которая будет отражать качественные характеристики ИНС. В таком случае оценивается не соответствие выходных сигналов ИНС F и эталонных значений Y, а качество работы сети в целом. Конкретные примеры таких оценок зависят от области применения решения: время поддержания стабильного состояния объекта управления для задачи нейроуправления, точность прогнозирования погоды или курса валюты, процент выигранных игр, качество изображения для задачи обработки изображений. Такие оценки не могут быть использованы градиентными алгоритмами обучения для настройки весов связей. В данном случае необходим обучающий алгоритм, который может изменять веса связей ИНС, не полагаясь на информацию о величине ошибки для каждого выхода этой сети.

  1. Нейроэволюция.

Одним и решений данной задачи служит нейроэволюционный подход к обучению и настройке нейронной сети. Этот подход использует абстракцию естественной эволюции — эволюционные алгоритмы (ЭА) для построения абстракций биологических нейронных сетей — ИНС. Использование комбинации ИНС и ЭА позволяет организовывать системы, способные к разумному поведению, совмещая гибкость настройки ИНС и адаптивность ЭА.

Главным преимуществом нейроэволюции является то, что она дает возможность обучать нейронную сеть, без информации о соответствии вектора входных сигналов X и вектора выходных эталонных сигналов Y. Благодаря такому подходу представляется возможным найти оптимизированную обученную нейронную сеть, не имея прямой информации о том, что сеть должна выдавать на выходе.

Большинство методов нейроэволюции следует «сгенерировать-и-протестировать» циклу (Рис.1.).

http://www.scholarpedia.org/w/images/9/92/Ne1.png

Рис. 1. Цикл нейроэволюции

Каждую итерацию цикла закодированная информация об ИНС в виде генов — генотип декодируется в соответствующую нейронную сеть — фенотип. Затем полученная сеть проходит тестирование, в ходе которого она используется для решения поставленной задачи. В ходе тестирования измеряется производительность исследуемой конфигурации ИНС — ее фитнесс функция. После того, как таким образом были оценены все члены текущей популяции, с помощью генетических операторов создается новая популяция. Особи с большей фитнесс-функцией заменяют особи с меньшей приспособленностью. Таким образом, процесс обучения ИНС представляет собой интеллектуальный параллельный поиск в направлении улучшения генотипов, и продолжается до тех пор, пока не будет найдена оптимальная сеть с достаточно высокой функцией приспособленности.

  1. Схемы кодирования.

Существует множество способов кодирования информации об ИНС, представленной в хромосоме. Выбор представления информации в генах во многом определяет класс сетей, которые могут быть построены с помощью данного метода. Кроме того, от схемы кодирования зависит эффективность нейроэволюционного метода по всем параметрам в целом.

В настоящее время выделяют два больших класса способов кодирования: прямое кодирование (directencoding) и косвенное кодирование (indirectencoding).

В случае прямого кодирования хромосома представляет из себя некоторое линейное представление ИНС. В такой хромосоме явно указаны параметры сети: входные, выходные и скрытые нейроны, связи между ними, веса связей и т.д. Благодаря такому представлению всегда можно построить взаимно-однозначное соответствие между структурными элементами ИНС (нейронами, связями, весами и пр.), т. е. фенотипом, и соответствующими участками хромосомы, т. е. генотипом.

Такой способ кодирования ИНС является наиболее наглядным, простым и интуитивным, а также позволяет применять к полученным хромосомам уже имеющийся аппарат генетического поиска, например, такие операторы как кроссинговер и мутация. Главный минус такой схемы — это неизбежное увеличение размеров генотипа, при увеличении количества нейронов и связей ИНС. Данный недостаток приводит к низкой эффективности за счет значительного увеличения пространства поиска.

Существует множество разработок, направленных на компенсацию недостатков прямого кодирования. Стоит отметить один из самых удачных — алгоритм NEAT (NeuroEvolutionofAugmentingTopologies) и модернизацию этого алгоритма — HyperNEAT (Hypercube-basedNeuroEvolutionofAugmentingTopologies).

Косвенный подход применяет более сложные методы и алгоритмы кодирования параметров ИНС. Как правило, генетическое представление получается более компактным, за счет чего снижается пространство поиска оптимальной структуры сети. Подобные методы позволяют кодировать модульные структуры, что дает в определенных условиях преимущества в адаптивности полученных результатов. Взамен мы получаем практическую невозможность проследить, какие изменения в генотипе привели к заданным изменениям в фенотипе, а также множество трудностей с подбором генетических операторов, сходимостью и производительностью.

Заключение

Выбор топологии и настройка весов связей искусственной нейронной сети (ИНС) являются важнейшими этапами при использовании нейросетевых технологий для решения практических задач. От этих этапов напрямую зависит качество и адекватность полученной нейросетевой модели.

Использование эволюционных алгоритмов совместно с ИНС позволяет решать задачи настройки и обучения ИНС как по отдельности, так и одновременно. Такой синтезированный подход предоставляет унифицированный подход к решению разнообразных задач классификации, аппроксимации, управления и моделирования. Использование качественной оценки функционирования ИНС позволяет применять нейроэволюционные алгоритмы для решения задач исследования адаптивного поведения интеллектуальных агентов, поиска игровых стратегий, обработки сигналов и изображений. Несмотря на то, что количество проблем и вопросов, касающихся разработки и применения НЭ алгоритмов велико, для успешного решения задачи с использованием нейроэволюционного подхода достаточно адекватного понимания проблемы и НЭ подхода, свидетельством чего является большое число интересных и успешных работ в данном направлении.

Литература:

  1. Evolving Neural Networks (2009, Risto Miikkulainen and Kenneth O. Stanley), p. 132-141
  2. Эволюционный подход к настройке и обучению искусственных нейронных сетей (2006, Цой Ю.Р., Спицын В.Г.), с. 18-32
  3. Evolving Neural Networks through Augmenting Topologies (2002, K. O. Stanley and R. Miikkulainen), p. 14-25
  4. Evolutionary function approximation for reinforcement learning. Whiteson, Shimon and Stone, Peter (2006), p. 877-917
  5. Stanley, Kenneth O.; D'Ambrosio, David B. and Gauci, Jason (2009). A hypercube-based encoding for evolving large-scale neural networks. Artificial Life 15(2): 185-212.
  6. Valsalam, Vinod K.; Hiller, Jonathan; MacCurdy, Robert; Lipson, Hod and Miikkulainen, Risto (2012). Constructing controllers for Physical Multilegged Robots using the ENSO Neuroevolution approach. Evolutionary Intelligence 5(1): 1-12.

Обсуждение

Социальные комментарии Cackle