Нейроэволюция - Neuroevolution

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

Функции

Определены многие алгоритмы нейроэволюции . Одно общее различие заключается между алгоритмами, которые развивают только силу весов соединений для фиксированной топологии сети (иногда называемой обычной нейроэволюцией), в отличие от алгоритмов, которые развивают как топологию сети, так и ее веса (называемые TWEANN для топологии и веса). Развитие алгоритмов искусственной нейронной сети).

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

Сравнение с градиентным спуском

Большинство нейронных сетей используют градиентный спуск, а не нейроэволюцию. Однако примерно в 2017 году исследователи из Uber заявили, что они обнаружили, что простые алгоритмы структурной нейроэволюции могут конкурировать со сложными современными стандартными алгоритмами глубокого обучения градиентного спуска , отчасти потому, что было обнаружено, что нейроэволюция с меньшей вероятностью застрянет в локальных минимумах. В журнале Science журналист Мэтью Хатсон предположил, что отчасти причина того, что нейроэволюция преуспевает там, где она терпела неудачу раньше, связана с возросшей вычислительной мощностью, доступной в 2010-х годах.

Прямое и косвенное кодирование

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

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

Косвенные кодировки часто используются для достижения нескольких целей:

  • модульность и другие закономерности;
  • сжатие фенотипа до меньшего генотипа, что обеспечивает меньшее пространство поиска;
  • отображение пространства поиска (генома) на проблемную область.

Таксономия эмбриогенных систем для непрямого кодирования

Традиционно косвенное кодирование, использующее искусственный эмбриогенез (также известное как искусственное развитие ), было классифицировано в соответствии с грамматическим подходом и подходом клеточной химии . Первый развивает наборы правил в форме систем грамматической перезаписи. Последний пытается имитировать появление физических структур в биологии посредством экспрессии генов. В системах косвенного кодирования часто используются аспекты обоих подходов.

Стэнли и Мииккулайнен предлагают таксономию эмбриогенных систем, которая призвана отражать лежащие в их основе свойства. Таксономия определяет пять непрерывных измерений, по которым может быть размещена любая эмбриогенная система:

  • Судьба клетки (нейрона) : окончательные характеристики и роль клетки в зрелом фенотипе. Это измерение подсчитывает количество методов, используемых для определения судьбы клетки.
  • Таргетинг : метод, с помощью которого соединения направляются из исходных ячеек в целевые ячейки. Это варьируется от конкретного таргетинга (источник и цель явно идентифицируются) до относительного таргетинга (например, на основе расположения ячеек относительно друг друга).
  • Гетерохрония : время и порядок событий во время эмбриогенеза. Подсчитывает количество механизмов изменения хронометража событий.
  • Канализация : насколько геном устойчив к мутациям (хрупкость). В диапазоне от требований точных генотипических инструкций до высокой устойчивости к неточным мутациям.
  • Комплексность : способность системы (включая эволюционный алгоритм и картирование генотипа к фенотипу) обеспечивать комплексность генома (и, следовательно, фенотипа) с течением времени. В диапазоне от разрешения только геномов фиксированного размера до разрешения геномов очень переменной длины.

Примеры

Примеры методов нейроэволюции (методы с прямым кодированием обязательно неэмбриогенные):

Методика Кодирование Эволюционный алгоритм Аспекты эволюционировали
Нейрогенетическая эволюция Э. Рональда, 1994 Прямой Генетический алгоритм Вес сети
Кодирование сотовой связи (CE) Ф. Груау, 1994 Косвенный, эмбриогенный (дерево грамматики с использованием S-выражений ) Генетическое программирование Состав и параметры (одновременность, комплексирование)
GNARL, Ангелин и др., 1994 Прямой Эволюционное программирование Состав и параметры (одновременность, комплексирование)
EPNet Яо и Лю, 1997 г. Прямой Эволюционное программирование (в сочетании с обратным распространением и моделированием отжига ) Структура и параметры (смешанные, комплексные и упрощенные)
Нейроэволюция дополнительных топологий (NEAT) Стэнли и Мииккулайнен, 2002 г. Прямой Генетический алгоритм . Отслеживает гены с историческими отметками, чтобы позволить кроссовер между различными топологиями, защищает инновации через видообразование. Структура и параметры
Нейроэволюция дополнительных топологий на основе гиперкуба (HyperNEAT) Стэнли, Д'Амброзио, Гаучи, 2008 г. Косвенный, неэмбриогенный (пространственные паттерны, генерируемые сетью создания композиционных паттернов (CPPN) внутри гиперкуба , интерпретируются как паттерны связности в пространстве более низкой размерности) Генетический алгоритм . Алгоритм NEAT (см. Выше) используется для развития CPPN. Параметры, структура фиксированная (функционально полностью подключена)
Нейроэволюция дополнительных топологий на основе эволюционируемого субстрата на основе гиперкуба (ES-HyperNEAT), Ризи, Стэнли, 2012 г. Косвенный, неэмбриогенный (пространственные паттерны, генерируемые сетью создания композиционных паттернов (CPPN) внутри гиперкуба , интерпретируются как паттерны связности в пространстве более низкой размерности) Генетический алгоритм . Алгоритм NEAT (см. Выше) используется для развития CPPN. Параметры и структура сети
Эволюционное освоение нейронных топологий (EANT / EANT2) Кассахуном и Соммером, 2005 г. / Зибель и Соммер, 2007 г. Прямое и косвенное, потенциально эмбриогенное (Общее генетическое кодирование) Эволюционное программирование / стратегии эволюции Состав и параметры (отдельно, комплексификация)
Интерактивно ограниченная нейроэволюция (ICONE) от Rempis, 2012 Прямой, включает маски ограничений для ограничения поиска определенными коллекциями топологии / параметров. Эволюционный алгоритм . Использует маски ограничений, чтобы резко сократить пространство поиска за счет использования знаний предметной области . Состав и параметры (отдельно, комплексность, интерактивность)
Нейронная сеть Deus Ex (DXNN), Джин Шер, 2012 г. Прямой / косвенный, включает ограничения, локальную настройку и позволяет в дальнейшем интегрировать новые датчики и исполнительные механизмы. Меметический алгоритм . Изменяет структуру и параметры сети в разных временных масштабах. Состав и параметры (отдельно, комплексность, интерактивность)
Унифицированная архитектура нейроэволюции с разнообразным спектром (SUNA), Данило Васконселлос Варгас, Юничи Мурата ( Загрузить код ) Direct, вводит унифицированное нейронное представление (представление, объединяющее большинство функций нейронных сетей из литературы). Генетический алгоритм с механизмом сохранения разнообразия, называемым спектральным разнообразием, который хорошо масштабируется с размером хромосомы, не зависит от проблемы и больше ориентирован на получение разнообразия поведения / подходов высокого уровня. Для достижения этого разнообразия вводится концепция хромосомного спектра, которая используется вместе с популяцией карты новизны . Структура и параметры (смешанные, комплексные и упрощенные)
Modular Agent-Based Evolver (MABE) Клиффорда Бома, Аренд Хинтце и других. ( Скачать код ) Прямое или косвенное кодирование сетей Маркова , нейронных сетей, генетического программирования и других произвольно настраиваемых контроллеров. Предоставляет эволюционные алгоритмы, алгоритмы генетического программирования и позволяет настраивать алгоритмы вместе со спецификацией произвольных ограничений. Эволюционные аспекты включают нейронную модель и, среди прочего, позволяют эволюцию морфологии и полового отбора.
Адаптация ковариационной матрицы с помощью алгоритма адаптивной сетки с сортировкой по объему (CMA-HAGA) Шахина Ростами и др., Прямой, включает в себя функцию атавизма, которая позволяет чертам исчезать и снова появляться в разных поколениях. Стратегия многоцелевой эволюции с артикуляцией предпочтений ( вычислительное управление ) Структура, веса и смещения.

Смотрите также

Рекомендации

Внешние ссылки