Молотков Максим Сергеевич, магистрант; Новиков Андрей Кириллович, магистрант
Московский государственный технических университет имени Н. Э. Баумана
В статье рассматривается применение эволюционных алгоритмов (ЭА) для настройки и обучения ис- кусственной нейронной сети (ИНС) — нейроэволюция. Даются основные особенности нейроэволюционного подхода (НЭ). Приведены задачи, решаемые с помощью НЭ алгоритмов, слабые и сильные стороны НЭ алго- ритмов, а также рекомендации для решения распространенных проблем применения нейроэволюции.
П
остроение искусственной нейронной сети (ИНС), с классической точки зрения, выполняется методом проб и ошибок. Исследователь задает параметры сети: ко- личество слоев и нейронов, структуру связей между ней- ронами, а затем наблюдает результаты — сеть обучается и тестируется на тестовой выборке. В зависимости от ре- зультатов тестирования исследователь производит изме- нения параметров сети. Для обучения используется обуча- ющая выборка, включающая наборы входных сигналов X и соответствующие эталонные значения выходных сиг- налов Y. Использование обучающего множества данных позволяет подстраивать веса связей ИНС с помощью гра- диентных алгоритмов. Изменение весов связей происходит на основании отклонения значений действительных вы- ходных сигналов ИНС F от требуемых Y. Обычно это от-
клонение представляется в виде ошибки ИНС.
Часто формирование обучающей выборки сопряжено со сложностью определения значений компонент вектора Y из обучающего множества. Данная проблема возникает при решении ряда специфических задач, а также если не- обходимо оценить последовательность выходных сиг- налов ИНС. К таким задачам относятся задачи, связанные с адаптивным поведением и управлением, прогнозирова- нием, анализом временных рядов, игровыми стратегиями, обработкой изображений и т.д. Для решения данной про- блемы можно использовать приближенную интегральную оценку, которая будет отражать качественные характери- стики ИНС. В таком случае оценивается не соответствие
выходных сигналов ИНС F и эталонных значений Y, а ка- чество работы сети в целом. Конкретные примеры таких оценок зависят от области применения решения: время поддержания стабильного состояния объекта управления для задачи нейроуправления, точность прогнозирования погоды или курса валюты, процент выигранных игр, ка- чество изображения для задачи обработки изображений. Такие оценки не могут быть использованы градиент- ными алгоритмами обучения для настройки весов связей. В данном случае необходим обучающий алгоритм, который может изменять веса связей ИНС, не полагаясь на инфор- мацию о величине ошибки для каждого выхода этой сети.
Нейроэволюция
Одним и решений данной задачи служит нейроэволю- ционный подход к обучению и настройке нейронной сети. Этот подход использует абстракцию естественной эво- люции — эволюционные алгоритмы (ЭА) для построения абстракций биологических нейронных сетей — ИНС. Ис- пользование комбинации ИНС и ЭА позволяет организо- вывать системы, способные к разумному поведению, со- вмещая гибкость настройки ИНС и адаптивность ЭА.
Главным преимуществом нейроэволюции является то, что она дает возможность обучать нейронную сеть, без информации о соответствии вектора входных сигналов X и вектора выходных эталонных сигналов Y. Благодаря та- кому подходу представляется возможным найти оптими-
зированную обученную нейронную сеть, не имея прямой информации о том, что сеть должна выдавать на выходе.
Большинство методов нейроэволюции следует «сгене- рировать-и-протестировать» циклу (Рис.1.).
Каждую итерацию цикла закодированная информация об ИНС в виде генов — генотип декодируется в соответ- ствующую нейронную сеть — фенотип. Затем полученная сеть проходит тестирование, в ходе которого она исполь- зуется для решения поставленной задачи. В ходе тестиро- вания измеряется производительность исследуемой кон- фигурации ИНС — ее фитнесс функция. После того, как таким образом были оценены все члены текущей попу- ляции, с помощью генетических операторов создается новая популяция. Особи с большей фитнесс-функцией заменяют особи с меньшей приспособленностью. Таким образом, процесс обучения ИНС представляет собой интеллектуальный параллельный поиск в направлении улучшения генотипов, и продолжается до тех пор, пока не будет найдена оптимальная сеть с достаточно высокой функцией приспособленности.
Схемы кодирования
Существует множество способов кодирования ин- формации об ИНС, представленной в хромосоме. Выбор представления информации в генах во многом определяет класс сетей, которые могут быть построены с помощью данного метода. Кроме того, от схемы кодирования за- висит эффективность нейроэволюционного метода по всем параметрам в целом.
В настоящее время выделяют два больших класса спо- собов кодирования: прямое кодирование (direct encoding) и косвенное кодирование (indirect encoding).
В случае прямого кодирования хромосома пред- ставляет из себя некоторое линейное представление ИНС. В такой хромосоме явно указаны параметры сети: входные, выходные и скрытые нейроны, связи между ними, веса связей и т.д. Благодаря такому представлению всегда можно построить взаимно-однозначное соответ- ствие между структурными элементами ИНС (нейронами, связями, весами и пр.), т.е. фенотипом, и соответствую- щими участками хромосомы, т.е. генотипом.
Такой способ кодирования ИНС является наиболее наглядным, простым и интуитивным, а также позволяет применять к полученным хромосомам уже имеющийся аппарат генетического поиска, например, такие опера- торы как кроссинговер и мутация. Главный минус такой схемы — это неизбежное увеличение размеров гено- типа, при увеличении количества нейронов и связей ИНС. Данный недостаток приводит к низкой эффективности за счет значительного увеличения пространства поиска.
Существует множество разработок, направленных на компенсацию недостатков прямого кодирования. Стоит отметить один из самых удачных — алгоритм NEAT (Neu- roEvolution of Augmenting Topologies) и модернизацию этого алгоритма — HyperNEAT (Hypercube-based Neuro- Evolution of Augmenting Topologies).
Косвенный подход применяет более сложные методы и алгоритмы кодирования параметров ИНС. Как пра- вило, генетическое представление получается более ком- пактным, за счет чего снижается пространство поиска оптимальной структуры сети. Подобные методы позво- ляют кодировать модульные структуры, что дает в опре- деленных условиях преимущества в адаптивности полу- ченных результатов. Взамен мы получаем практическую невозможность проследить, какие изменения в генотипе
Рис. 1. Цикл нейроэволюции
привели к заданным изменениям в фенотипе, а также множество трудностей с подбором генетических опера- торов, сходимостью и производительностью.
Заключение
Выбор топологии и настройка весов связей искусственной нейронной сети (ИНС) являются важнейшими этапами при использовании нейросетевых технологий для решения прак- тических задач. От этих этапов напрямую зависит каче- ство и адекватность полученной нейросетевой модели.
Использование эволюционных алгоритмов совместно с ИНС позволяет решать задачи настройки и обучения ИНС как по отдельности, так и одновременно. Такой син-
тезированный подход предоставляет унифицированный подход к решению разнообразных задач классификации, аппроксимации, управления и моделирования. Использо- вание качественной оценки функционирования ИНС по- зволяет применять нейроэволюционные алгоритмы для решения задач исследования адаптивного поведения ин- теллектуальных агентов, поиска игровых стратегий, обра- ботки сигналов и изображений. Несмотря на то, что ко- личество проблем и вопросов, касающихся разработки и применения НЭ алгоритмов велико, для успешного ре- шения задачи с использованием нейроэволюционного под- хода достаточно адекватного понимания проблемы и НЭ подхода, свидетельством чего является большое число ин- тересных и успешных работ в данном направлении.
Литература:
Evolving Neural Networks (2009, Risto Miikkulainen and Kenneth O. Stanley), p. 132–141
Эволюционный подход к настройке и обучению искусственных нейронных сетей (2006, Цой Ю. Р., Спицын В. Г.), с. 18–32
Evolving Neural Networks through Augmenting Topologies (2002, K. O. Stanley and R. Miikkulainen), p. 14–25
Evolutionary function approximation for reinforcement learning. Whiteson, Shimon and Stone, Peter (2006), p. 877–917
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.
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.
Do'stlaringiz bilan baham: |