Эволюционирующая нейросеть
Искусственные нейронные сети имитируют реальные биологические нервные системы. Они содержат нейроны и связи между ними, обеспечивающие преобразование входящих сигналов в значимый выходной результат. В области машинного обучения эти сети часто инициализируются со случайными связями между нейронами, после чего сеть
обучается, пока не начнёт вести себя нужным образом. Такой подход вполне применим, однако у животных существует множество простых нервных систем, работающих «из коробки»: никто не учит рыбу плавать или бабочек летать, несмотря на то, что их поведение создаётся сетями нейронов. Их нервные системы являются результатом не случайной инициализации и последующего обучения, а
эволюции. Спустя множество поколений природа создала такую схему из клеток и связей, которая обеспечивает сложное и успешное поведение.
Для создания нейронных сетей, обеспечивающих поведение без обучения, можно использовать
нейроэволюцию. Эволюционные алгоритмы (например, такой, который
я использовал для выполнения эволюции растений) подвергают генетический код эволюции в течение долгого периода времени. Генетический код (модель для ДНК) и представляемый им организм изначально очень просты, но в течение многих поколений небольшие мутации увеличивают благоприятную сложность и добавляют функции, стимулирующие дальнейшее распространение этих свойств.
Цифровые кальмары
Чтобы продемонстрировать действие нейроэволюции, я хочу подвергнуть эволюции цифровых кальмаров. Кальмары обладают следующими свойствами:
Рисунок 1: плавающий кальмар.