Глубокое погружение в нейроэволюцию

Букварь по фундаментальным концепциям нейроэволюции

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

Нейроэволюция - это метод машинного обучения, который улучшает грубые абстракции мозга, которые представляют собой искусственные нейронные сети (сокращенно ИНС), путем создания все более совершенных топологий, весов и гиперпараметров с помощью эволюционных алгоритмов. Так же, как природа улучшает способности мозга путем мутации, кроссинговера или удаления некоторых из лежащих в основе генетического кода, нейроэволюция изменяет топологию и веса ИНС, сочетает ли особенности высокоэффективных ИНС или устраняет низкоэффективные ИНС, чтобы находить все более совершенные решения. Это сообщение в блоге является первым из трех, и в нем будет подробно рассказано об основах нейроэволюции, указаны аспекты, которые следует учитывать при разработке алгоритма нейроэволюции, а также освещены важные и недавние вклады в эту область исследований. Следующие две части представят глубокое погружение в ландшафт с открытым исходным кодом, окружающий нейроэволюцию, с особым вниманием к дизайну и использованию фреймворка Tensorflow-Neuroevolution [1], который я создал вместе с Резой Фарахани во время Google Summer of Code. 2019.

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

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

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

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

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

Генетическое кодирование

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

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

Генетические кодировки обычно можно разделить на две подкатегории: прямые кодировки и косвенные кодировки. Хотя существует также третья категория кодировок для разработки, мы опускаем эту кодировку, поскольку в последние годы она не имеет большого значения. Прямое кодирование представляет каждый аспект нейронной сети, который они явно кодируют в его генетическом представлении. На рисунке 2 выше показан пример прямого кодирования, используемого популярным алгоритмом NEAT [3] [4] [5]. Он кодирует каждое соединение и соответствующий ему вес непосредственно в генотипе, но ограничивает пространство поиска, исключая возможность смещения и функций активации в результирующей ИНС. Такое прямое кодирование может представлять произвольные топологии с прямой связью и рекуррентные топологии, что позволяет создавать, возможно, идеально подходящие и в то же время минимальные топологии. Однако обеспечение такой высокой степени гибкости в топологии приводит к огромному пространству поиска с мелкой детализацией, требующим хорошо спроектированного алгоритма нейроэволюции для быстрого обхода этого пространства поиска.

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

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

Тем не менее, обе генетические кодировки хорошо демонстрируют, как генетическое кодирование определяет размер области поиска, например не разрешая функции активации или определенные типы слоев, а также определяя их степень детализации, например позволяя регулировать размеры скрытых слоев только кратно 32.

Метод воспроизведения и поиск решения

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

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

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

Метод оценки

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

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

Поиск новинок также является важной концепцией, которую следует учитывать при определении расчета пригодности, поскольку эта концепция вознаграждает геномы новыми подходами к проблеме с более высокими значениями приспособленности. Агент в среде видеоигр, например, получил бы повышение физической подготовки, если бы он вошел в неизвестную область, хотя в целом набрал меньше очков. Это способствует инновациям в генофонде и, следовательно, более широкому и многообещающему эволюционному процессу. Поиск новинок был представлен в 2010 году в статье «Развитие пластиковых нейронных сетей с помощью поиска новинок» [7].

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

Естественный и родительский отбор

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

В процессе нейроэволюции поколений выбор геномов, подходящих в качестве родителей для следующего поколения, обычно сводится к выбору определенной доли наиболее эффективных геномов в текущем поколении. Эта фракция часто предоставляется как один из многих параметров, которые все еще могут настраивать предопределенный алгоритм нейроэволюции. Фракция геномов, выбранных в качестве родителей, не обязательно должна дополнять фракцию геномов, выбранных для удаления из генофонда, поскольку геномы могут быть достаточно многообещающими, чтобы гарантировать потенциал для инновационной мутации, хотя могут быть удалены сами в следующем поколении. . Примерной конфигурацией алгоритма нейроэволюции может быть выбор использования 20% лучших геномов в качестве родителей с удалением 90% геномов с наихудшими характеристиками для следующего поколения. В зависимости от того, использует ли алгоритм нейроэволюции поколений видообразование, существенно ли изменяется выбор геномов, которые будут отобраны в качестве родителей или отобранных для удаления, что обычно обеспечивает более управляемый эволюционный процесс.

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

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

Заключительные замечания о нейроэволюции

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

Важнейшие исследования в области нейроэволюции

Обширное введение в нейроэволюцию было бы неполным без ссылки на важные исследования в этой области, особенно за последние годы. В то время как Исследовательская группа нейроэволюции Техасского университета в Остине, вероятно, хранит наиболее полное собрание публикаций [17] в этой области, следующий список важных исследований и их новаторские идеи являются хорошим началом. Хотя перед первой записью в этом списке было проведено большое исследование (см. «Эволюционирующие искусственные нейронные сети Яо» от 1999 г. [2]), сосредоточимся ли мы на исследованиях, наиболее актуальных и по сей день.

Развитие нейронных сетей с помощью дополнительных топологий, 2002 [3] [4] [5] Представлен алгоритм нейроэволюции расширенных топологий (NEAT), превосходящий наиболее известные алгоритмы нейроэволюции того времени. . NEAT развивает ограниченное прямое кодирование строго аддитивным способом посредством мутации и рекомбинации без потерь, одновременно защищая инновации посредством видообразования. NEAT можно рассматривать как архетипический алгоритм нейроэволюции из-за его простоты и одновременной мощности, и поэтому он по сей день считается ключевым эталонным алгоритмом.

Кодирование на основе гиперкуба для развивающихся крупномасштабных нейронных сетей, 2009 г. [6] Представлен HyperNEAT, расширение NEAT, которое использует те же принципы, но использует косвенное кодирование, которое называемые сетями создания композиционных паттернов (CPPN). Эти CPPN позволяют нейронным сетям воспроизводить симметричные и повторяющиеся мотивы, которые не только более точно отражают состав человеческого мозга, но также используют геометрию и структуру, присущие прикладным задачам, путем сопоставления их с топологией сети.

Развитие размещения и плотности нейронов в субстрате HyperNEAT , 2010 [8] Представлен ES-HyperNEAT, который еще больше расширяет HyperNEAT, позволяя использовать более плотный субстрат в кодированном CPPN образец в областях более высокой информации. В то время как HyperNEAT оставляет решение о том, где разместить скрытые нейроны в потенциально бесконечно плотной геометрии, на усмотрение пользователя, ES-HyperNEAT использует структуру, подобную дереву квадрантов, для принятия решения о плотности и размещении этих скрытых узлов. В итерационной форме [9] он может превзойти классический HyperNEAT в ключевых тестах.

Подход нейроэволюции к общему воспроизведению игр в Atari, 2014 г. [10] Этот документ демонстрирует потенциал нейроэволюции для общего игрового процесса в видеоигры (GVGP), поскольку он использует алгоритмы CNE, CMA-ES , NEAT и HyperNEAT для решения 61 видеоигры Atari 2600. Хотя нейроэволюция была развернута до этого исследования в GVGP или в видеограмме AI, насколько нам известно, это самая крупномасштабная демонстрация. Результаты, как и ожидалось, показывают, что методы прямого кодирования лучше всего работают с компактными представлениями состояний, в то время как косвенное кодирование позволяет масштабировать до представлений более высоких измерений.

DLNE: гибридизация глубокого обучения и нейроэволюции для визуального контроля, 2017 [11], на мой взгляд, знакомит с одним из наиболее интересных и многообещающих способов использования нейроэволюции, комбинируя его с CNN. для распознавания изображений. В этой статье исследуется потенциал нейроэволюции в сложной среде видеоигр в стиле шутеров от первого лица путем распознавания изображений через CNN, преобразования распознанных изображений в представления функций и последующей передачи их в нейронные сети, оптимизированные для нейроэволюции. Хотя валидность этого подхода во многом зависит от качества представления признаков, даже используемый простой подход указывает на перспективное направление исследования.

Крупномасштабная эволюция классификаторов изображений, 2017 г. [12] Продемонстрировал высокий потенциал нейроэволюции за счет развития сетей классификаторов изображений в беспрецедентном масштабе на наборах данных CIFAR-10/100. Исследователи использовали простую схему конкурентной коэволюции без видообразования или кроссовера, используя только базовые операции для изменения моделей Tensorflow, их последующего обучения и сравнения друг с другом. Таким образом, все геномы были независимыми и тривиально распараллеливаемыми, что обеспечивало огромный масштаб, который был дополнительно ускорен за счет использования быстрых реализаций моделей Tensorflow на GPU.

Evolving Deep Neural Networks, 2018 [13] представляет CoDeepNEAT как расширение хорошо зарекомендовавшего себя алгоритма NEAT для развития глубокого обучения в последние годы. В этой статье сначала дается определение DeepNEAT, непрямого кодирования уровня (с гиперпараметрами и т. Д.) Для представления целых глубоких нейронных сетей в компактной форме. Эти геномы DeepNEAT затем считаются модулями и совместно развиваются с схемами, которые состоят из нескольких повторяющихся модулей, поэтому используется тот факт, что наиболее успешные сети (такие как GoogleNet / ResNet) состоят из повторяющихся мотивов. Сеть протестирована на наборе данных CIFAR-10 и дает многообещающие результаты.

Регулярная эволюция поиска архитектуры классификатора изображений, 2018 [14] Этот документ представляет собой расширение более ранней статьи Реала и др. Крупномасштабная эволюция классификаторов изображений , представляя усовершенствованный классификатор изображений AmoebaNet-A, который превзошел все предыдущие разработки, в том числе ручной дизайн, и установил новый современный уровень точности: 83,9% top-1 / 96,6% Top-5 точности ImageNet. Они достигли этого, изменив ранее определенную простую конкурентную схему коэволюции, добавив свойство возраста в пользу более молодых генотипов. Они сделали это, выполняя контролируемое сравнение с хорошо известным алгоритмом обучения с подкреплением, что свидетельствует о том, что эволюция может быстрее получать результаты с тем же оборудованием.

Проектирование нейронных сетей посредством нейроэволюции, 2019 [15] Эта статья представляет собой превосходный обзор современной нейроэволюции, составленный четырьмя наиболее известными исследователями в этой области. В нем суммируются и иллюстрируются все важные аспекты нейроэволюции, и хотя в нем не вводятся новые концепции, целью этого обзора является возобновление интереса к этой области, как и этот пост в блоге. Мы настоятельно рекомендуем всем, кто интересуется этой областью, когда-нибудь прочитать эту статью.

Evolutionary Neural AutoML для глубокого обучения , 2019 [16] Представляет мощную эволюционную среду AutoML под названием LEAF, использующую существующий современный эволюционный алгоритм CoDeepNEAT от те же авторы. Хотя авторы не раскрывают свой исходный код, они подробно обсуждают его дизайн и вносят ценный вклад. Производительность эволюционной среды AutoML оценивается с помощью задач классификации медицинских изображений и анализа естественного языка и является многообещающей, превосходя существующие современные системы AutoML и лучшие решения, разработанные вручную.

Перспективы к Части 2 и Части 3

Вторая и третья части этой серии блогов будут посвящены ландшафту открытого исходного кода, окружающему нейроэволюцию, с особым акцентом на фреймворке Tensorflow-Neuroevolution [1]. Часть 2 будет посвящена проектированию и производительности инфраструктуры Tensorflow-Neuroevolution, представив ее модульный подход, предоставив конкретный пример разработки собственного алгоритма нейроэволюции самостоятельно, а также предоставив тесты производительности для других библиотек. В части 3 будут подробно представлены передовые методы нейроэволюции AmoebaNET и CoDeepNEAT, а также даны подробные ссылки на кодовую базу и конкретный пример их использования.

Благодарности

Я хотел бы поблагодарить Резу Фарахани, с которым я тесно работал над нейроэволюцией и фреймворком TFNE, так как он был моим наставником на Google Summer of Code 2019. Я также хотел бы поблагодарить большую команду Google Summer of Code и Tensorflow, особенно Пейдж Бейли за их постоянную поддержку, отзывы и отличную программу.

Заключительное примечание

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

использованная литература

[1] Паулс, Фарахани; Tensorflow-Neuroevolution Framework; 2019 г.

[2] Яо; Развивающиеся искусственные нейронные сети; IEEE; 1999 г.

[3] О. Стэнли, Мииккулайнен; Развитие нейронных сетей за счет расширения топологий; MIT Press; 2002 г.

[4] О. Стэнли, Мииккулайнен; Эффективная эволюция топологий нейронных сетей; Техасский университет в Остине; 2002 г.

[5] О. Стэнли; Эффективная эволюция нейронных сетей за счет комплексирования; Техасский университет в Остине; 2004 г.

[6] О. Стэнли, Д’Амброзио, Гаучи; Кодирование на основе гиперкуба для развивающихся крупномасштабных нейронных сетей; MITP; 2009 г.

[7] Ризи, Хьюз, О. Стэнли; Развитие пластиковых нейронных сетей с поиском новинок; Адаптивное поведение - животные, аниматы, программные агенты, роботы, адаптивные системы; 2010 г.

[8] Ризи, Леман, О. Стэнли; Изменение размещения и плотности нейронов в субстрате HyperNEAT; GECCO; 2011 г.

[9] Риси, О. Стэнли; Улучшение ES-HyperNEAT для развития более сложных регулярных нейронных сетей; GECCO; 2011 г.

[10] Хаускнехт, Леман, Мииккулайнен, Нейроэволюционный подход к общей игре в Atari; IEEE; 2014 г.

[11] Прехт Поульсен, Торхауг, Хвиль Фанч, Ризи; DLNE: гибридизация глубокого обучения и нейроэволюции для визуального контроля; IEEE; 2017 г.

[12] Реал, Мур, Селле, Саксена, Леон Суэмацу, Тан, Ле, Куракин; Масштабная эволюция классификаторов изображений; CoRR; 2017 г.

[13] Мииккулайнен, Лян, Мейерсон, Равал, Финк, Франкон, Раджу, Шахрзад, Наврузян, Даффи, Ходжат; Развивающиеся глубокие нейронные сети; Искусственный интеллект в эпоху нейронных сетей и вычислений мозга; 2018 г.

[14] Реал, Аггарвал, Хуанг, Ле; Регулярная эволюция поиска архитектуры классификатора изображений; CoRR; 2018 г.

[15] О. Стэнли, Клун, Леман, Мииккулайнен; Проектирование нейронных сетей с помощью нейроэволюции; Природа машинного интеллекта; 2019 г.

[16] Лян, Мейерсон, Ходжат, Финк, Матч, Мииккулайнен; Эволюционный нейронный AutoML для глубокого обучения; GECCO; 2019 г.

[17] Техасский университет в Остине; Исследовательская группа нейроэволюции