Эволюционное приобретение нейронных топологий

Эволюционное приобретение нейронных топологий (англ. Evolutionary acquisition of neural topologies, EANT, EANT2) — это эволюционный метод обучения с подкреплением, который одновременно оптимизирует топологию и веса искусственных нейронных сетей, начиная с минимально простых структур, постепенно усложняющихся в процессе эволюции[1]. Вторая версия метода (EANT2) использует продвинутый алгоритм CMA-ES специально для оптимизации весов[1]. Метод тесно связан с работами Петера Анжелина[2] и Мийккюляйнена[3].

Вклад EANT в нейроэволюцию

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

В частности, в 2007 году была предложена концепция общего генетического кодирования (CGE)[4], позволяющая совмещать прямое и косвенное кодирование нейронных сетей в единой теоретической рамке. Это кодирование характеризуется следующими важными свойствами, полезными для эволюции нейросетей:

  1. Оно является полным, то есть способно описывать любые допустимые фенотипические нейронные сети.
  2. Оно является замкнутым: любой допустимый генотип однозначно соответствует допустимому фенотипу (аналогично, кодирование замкнуто и относительно генетических операторов, таких как структурные мутации и кроссовер).

Данные свойства были формально доказаны[5].

Для эволюции структуры и весов нейронных сетей применяется процесс, в котором изучение структуры (структурная эксплорация) происходит на большем временном масштабе, а использование структуры (структурная эксплуатация) — на меньшем. На этапе исследовательской фазы новые нейронные структуры строятся путём постепенного добавления элементов к изначально минимальной сети, используемой в качестве отправной точки. Затем, на этапе эксплуатационной фазы, веса уже имеющихся структур оптимизируются с помощью эволюционной стратегии. В версии EANT2 для оптимизации весов на этом этапе применяется алгоритм CMA-ES[1], а также изменён подход к структурным мутациям — внедрён метод обрезки (pruning) ненужных связей[6].

Производительность

Алгоритм EANT был протестирован на ряде тестовых задач, включая задачу балансировки двойного маятника и RoboCup (тест keepaway)[7]. Во всех случаях EANT показывал высокие результаты. Более новая версия, EANT2, была протестирована на задаче визуального сервоуправления и превзошла алгоритмы NEAT и классический итерационный метод Гаусса — Ньютона[8]. Другие эксперименты касались задач классификации[9]. В 2008 году была предложена модификация Online-EANT, направленная на улучшение производительности в задачах онлайн-обучения с подкреплением за счёт лучшего баланса между исследованием (exploration) и использованием (exploitation)[10].

Примечания

Категории