scinquisitor (scinquisitor) wrote,
scinquisitor
scinquisitor

Categories:
  • Mood:

Нейронные муравейчики

Меня многократно спрашивали про "муравейчиков", над которыми я работаю в свободное время. Эта запись состоит из двух частей. Первая будет у муравейчиках. Вторая о естественном отборе.

Муравейчик - это виртуальный организм, состоящий из нейронной сети и живущий в виртуальном мире. Мир в котором живет муравейчик очень простой: в нем есть два измерения, по которым муравейчик может ползать. В этом мире живут "гусеницы". Гусеница - это еда для муравейчика, которая позволяет ему размножаться и оставлять потомство. Гусеница ползает по миру быстрее чем муравейчик, но направление ее движения предсказуемо исходя из предыдущих ее движений: каждой гусеницей управляет некоторый циклический алгоритм. Например: ["вверх вверх", "влево влево", "вниз вниз"]. У каждой новой гусеницы этот алгоритм свой, создается случайным образом, но неизменен во время ее жизни.

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

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

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

Естественный отбор осуществляется следующим образом: те муравейчики, которые поедают больше гусениц оставляют потомство, а те, кто съедают меньше гусениц - вымирают с голоду. Среднее количество пойманных гусениц одним муравейчиком при наличии отбора выросло с 1-2 в начале эволюции до более 25 за 140 поколений. При отсутствии отбора никаких изменений не происходило.

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

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

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

Read more...Collapse )
Tags: эволюция
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic
  • 38 comments
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →