GotAI.NET

Форум: Проблемы искусственного интеллекта

 

Регистрация | Вход

 Все темы | Новая тема Стр.1 (6)След. > >>   Поиск:  
 Автор Тема: Эксперименты по нейроэволюции
Trilobite
Сообщений: 201
Эксперименты по нейроэволюции
Добавлено: 22 янв 13 2:00
Привел в порядок и выкладываю материалы по экспериментам 2007-2009 годов в области коллективного поведения аниматов.

Это вторая попытка. Первая состоялась в теме Artificial Life, простые опыты.

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


В качестве введения можно:
а) ознакомиться со статьями wiki Artificial Life, Neuroevolution и Роевой интеллект;
б) посетить сайты мэтров направления Larry Yaeger, Kenneth O. Stanley, Dario Floreano
и наших Редько В.Г., Бурцева М.С., Цоя Ю.Р.(Томск);
в) сходить на упомянутый Artificial Life, простые опыты, где были озвучены как общие моменты, так многие детали реализации;
г) заглянуть в Описание среды обитания и в Help программы Ants.


Ниже дан список всех выложенных опытов. Он будет пополняться по мере публикации.

Эксперименты по нейроэволюции

1. Описание среды обитания интеллектуальных агентов
Среда обитания.pdf, 200Kb

2. Воспитание симбиотического поведения аниматов методами нейроэволюции
Тезисы для COGSCI-2010.pdf, 80Kb

3. Три первых эксперимента в мультиагентной среде обитания
Roadrunner.zip, 1.5Mb

4. Четвертый эксперимент "Пауки и муравьи"
SpidersVsAnts.zip, 2Mb

5. Пятый эксперимент "Архипелаг"
Archipelago.zip.ppt, 4.4Mb

6. Эксперимент "Оранжерея"
Orangery.zip.ppt, 4.5Mb

7. Эксперимент "Цитадель"
Citadel.zip.ppt, 6.6Mb

8. Эксперимент "Тыква-пробка"
Pumpkin.zip.ppt, 6.75Mb
______________________

Примечания:
- ссылки на архивы здесь и в последующих постах с кратким описанием опытов идентичны, можно не скачивать дважды одно и то же;
- в связи с особенностями места хранения, часть архивов идет с расширением .ppt, которое следует убрать перед раcпаковкой.
[Ответ][Цитата]
Trilobite
Сообщений: 201
Эксперименты 1, 2 и 3
Добавлено: 22 янв 13 2:09
Roadrunner.zip - комплект содержит три первых эксперимента в мультиагентной среде обитания.
В двух первых - автоматы (тут пока нет никакой эволюции) действуют без централизованного управления, руководствуясь только локальной информацией и своими простыми алгоритмами.
Третий - простой эксперимент с эволюцией нервной системы агентов
и формированием в филогенезе примитивных рефлексов.

1. Сбор циркония
Эксперимент относится к классике жанра - сбору-сортировке минералов.
Особи берут объект, если он один, и оставляют, если рядом такой же. Для разнообразия на полигоне разбросаны три вида минералов и выпущено несколько особей с противоположной логикой действий.

2. Сбор соломинок
Муравьи решают задачу сбора травинок-соломинок в муравейник. В отличие от полигона с цирконием, размеры объектов слишком велики для одного муравья и требуют согласованных усилий от 2 до 10-15 особей.

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

Подробности во вложенном ReedMe.txt.
[Ответ][Цитата]
Trilobite
Сообщений: 201
Эксперимент 4
Добавлено: 22 янв 13 2:19
4. Пауки и муравьи

Архив SpidersVsAnts.zip содержит четвертый полигон Пауки и муравьи.
Это эксперимент на тему Хищник-Жертва, в котором конфликт интересов агентов двух типов образует более сложную среду для каждого из них. Под давлением отбора в нейросетях обеих особей формируются комплексы простых рефлексов, необходимых для выживания Хищника (Паук) и его Жертвы (Муравей).

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

Подробности в SpidersVsAnts.txt и настройках полигона.

[Ответ][Цитата]
Trilobite
Сообщений: 201
Эксперимент 5
Добавлено: 22 янв 13 2:27
5. Архипелаг

Архив Archipelago.zip.ppt содержит полигон Архипелаг.
Это тот же эксперимент, который описан в выложенных ранее тезисах для COGSCI-2010 и посвящен формированию альтруистических отношений в системе Хищник-Жертва.

Если в предыдущих опытах особи в процессе нейроэволюции учились находить пищу (Бег по дорожкам) или преследовать ее (Пауки и муравьи), то на новом полигоне от Хищника требуется куда больше. Ведь его Жертва в ходе эксперимента оказывается отрезанной от источников пропитания. Поэтому Хищнику приходится взвалить на себя заботу о своей продовольственной базе и существовать не за счет собирательства или охоты, а "сознательно" выкармливая своих Жертв. При желании в этом можно усмотреть некое подобие животноводства, но правильней, наверное, считать это выстраиванием симбиотических отношений между Хищником и его Жертвой, в роли которых на данном полигоне выступают, соответственно, Крабы и Скаты.

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

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

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

Поэтому Крабам ничего не остается, как самим в финале эволюции выработать тактику эффективного противостояния "эгоистам", что им с успехом удается сделать:
- нащупать правильное поведение в виде ловли Скатов на приманку.

Таков краткий сюжет.
Подробности во вложенном Archipelago.txt и настройках полигона.
[Ответ][Цитата]
Trilobite
Сообщений: 201
Эксперимент 6
Добавлено: 22 янв 13 2:33
6. Оранжерея

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

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

В сегодняшнем архиве Orangery.zip.ppt представлены 2 варианта решения аниматами одной задачи - расчистки Оранжереи.

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

Таким образом, перед муравьями (Красными) стоит задача:
чтобы добраться до пищи им надо научиться освобождать проход от несъедобной для них ягоды и выносить ее из Оранжереи.

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

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

Полигон Red-1
Темп появления и калорийность Кизила и Черники одинаковы и достаточны для существования 500 Красных и 504 Черных особей.
Расчистка занимает около 50 тыс.тактов.

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

Подробности во вложенном Orangery.txt и настройках полигонов.
[Ответ][Цитата]
daner
Сообщений: 4593
На: Эксперимент 6
Добавлено: 22 янв 13 11:48
интересно!!! очень
пока вникаю в подробности.
[Ответ][Цитата]
NO.
Сообщений: 10700
На: Эксперимент 6
Добавлено: 22 янв 13 12:35
Хорошо бы написать что такое "нейроэволюция".
Какие были цели, чем их достигали и что получилось.

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

.zip.ppt при ближайшем рассмотрении оказался просто zip, зачем там ppt наверно одна из неразрешимых тайн природы
Ещё не нашел как отключать прорисовку. Всё будет работать в 100500 раз быстрее если сосредоточиться на собственно работе, а не перекрашивании миллионов пикселей.
[Ответ][Цитата]
Trilobite
Сообщений: 201
На: Эксперимент 6
Добавлено: 22 янв 13 14:02
daner
Есть еще неск.штук. Заглядывайте. По мере готовности буду выкладывать.


NO.
Про нейроэволюцию можно так сказать, если коротко.

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

Про цели и остальное - вы правы, надо. Я еще danerу обещал когда-то, да так и не нашел нужных слов.

Про сроки - тоже верно. Больное место. Но альтернативы, по большому счету, боюсь, и нет.

Про .ppt сказано в примечаниях в первом посте
Цитата:
- в связи с особенностями места хранения, часть архивов идет с расширением .ppt, которое следует убрать перед раcпаковкой.

Ускорить выполнение (в ущерб красоте, конечно) можно так
Контекстное меню --> Настройка скорости --> Плавность движения особей (снять галочку)
[Ответ][Цитата]
NO.
Сообщений: 10700
На: Эксперимент 6
Добавлено: 22 янв 13 14:56
Размер поля не меняется. У меня 32*32 делает 10000 шагов в секунду.
[Ответ][Цитата]
Trilobite
Сообщений: 201
На: Эксперимент 6
Добавлено: 23 янв 13 11:01
NO. --> Размер поля не меняется.

Если речь о размере полигона (поверхности вирт.мира), то да - он задается при создании в пределах от 16х16 и до 10 млн. ячеек и на протяжении эксперимента не меняется.


NO. --> У меня 32*32 делает 10000 шагов в секунду.

Быстродействие определяется:
- кол-вом особей на полигоне,
- сложностью их начинки (кол.нейронов и синапсов),
- кол-вом внутренних тактов просчета ИНС на 1 такт жизни
и потом уже - другими факторами (включая режим отображения).
Ваши 10 тыс. получены, полагаю, при 2-10 особях с 37 нейронами (начальная ИНС) и 5 внутр.тактами на такт жизни. Обычно же в эксперименте особей в 50-500 раз больше, а интересное поведение начинается, когда их НС вырастает ближе к сотне нейронов.
[Ответ][Цитата]
NO.
Сообщений: 10700
На: Эксперимент 6
Добавлено: 23 янв 13 14:23
Примерно так.
[Ответ][Цитата]
daner
Сообщений: 4593
На: Эксперимент 6
Добавлено: 24 янв 13 2:45
*почему именно нейронная сеть
почему например не использовать автоматы
*неужели не было случаев когда популяция полностью умирала
*каким образом по вашему мнению в нейронной сети сохраняется информация о текущем состоянии. Для тких сложних задач , как мне кажется простого реактивного поведения явно будет не достаточно.
*какой вид нейронной сети был применен
*как у вас устроен естественный отбор (я нашел только описание размножения, но не отбора)
*как при существовании только индивидуальной фитнес функции (если такая вообще есть, или есть что-то эквивалетное) происходит закрепление социально полезных качеств
*почему не автоматизировать процесс воспитания? ну т.е. вы там в ручную начинаете отменять некоторые виды пищи и т.д. почему бы это не автоматизировать?
*насколько стабильны результаты по времени и по качеству? вы сравнивали результаты нескольких запусков?
*какой фактор на самом деле является ведущим : 1 - размер популяции или 2 - плотность, 3 - время
*могли бы вы сделать для меня небольшой эксперимент? если да, то подробности лучше почтой обсудить
[Ответ][Цитата]
Trilobite
Сообщений: 201
На: Эксперимент 6
Добавлено: 24 янв 13 16:48
daner --> *почему именно нейронная сеть, почему например не использовать автоматы

Вопрос хороший. Был в поле зрения с самого начала. Даже больше, найти варианты подходящей начинки интеллектуальных агентов - одна из целей проекта. Именно для этого через dll реализован интерфейс подключения к полигону агентов с любой начинкой.
Собственно нейросеть выбрана основой лишь для "домашних" агентов, хотя с не меньшим успехом можно было бы использовать сеть из логических элементов или вообще разработать какой-нибудь набор элементарных функций/процедур и выращивать из них сложные конструкции. Но выбор определила перспектива. Мне она видится в переходе к "пластичным" системам. Таким, структуру которых в значительной мере формируют текущие через них информационные потоки. У НС возможности перехода к пластичности более-менее просматривается, в том числе, и потому, что ее принципы можно позаимствовать у природных образцов. А вот у альтернативных вариантов с этим туго.


daner --> *каким образом по вашему мнению в нейронной сети сохраняется информация о текущем состоянии.

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


daner --> *какой вид нейронной сети был применен

Нейросеть многослойная, с обр.связями. Описана в Help-е в разделе Нейросеть особи.
Четкой структуры не имеет, поскольку формируется случайными мутациями.
Включает в себя три вида нейронов:
- рецептор, в них размещается сигнал от среды в виде числа от 0 до 255. Его через свои входные синапсы забирают другие нейроны.
- интернейрон (формальный нейрон), пороговый сумматор с 0..255 взвешенными входами (синапсами) и одним выходом (0 или 1).
- Rand-нейрон (случайный нейрон), выполняют роль генератора случайных сигналов.
Есть еще эффекторы (выходные нейроны), но их можно не считать за самостоятельный вид. Это те же интернейроны, но с которых еще и снимается сигнал для воздействия на среду в соответствии с предписанным этому эффектору смыслом.


daner --> *как у вас устроен естественный отбор

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


daner --> *какой фактор на самом деле является ведущим : 1 - размер популяции или 2 - плотность, 3 - время

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

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

Плотность - в задачах с альтруизмом и кооперацией наличие непосредственного окружения, готового поддержать усилия "особи-работяги", часто бывает критически важным. А уж в тех опытах, где для перемещения объектов усилий одной особи недостаточно - там локальная плотность решает все.

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


daner --> *могли бы вы сделать для меня небольшой эксперимент?

Да, конечно. Единственная проблема - в моей медлительности. Если сроки не горят, то попробую.
________________

PS.На пропущенные вопросы ответ ниже.
[Ответ][Цитата]
Fractaler
Сообщений: 2490
На: Эксперимент 6
Добавлено: 24 янв 13 22:53
Цитата:
Автор: Trilobite
Сейчас - только в виде циркуляции сигналов/возбуждений. Больше никак. Ни синапсы, ни нейроны свои характеристики в филогенезе не меняют

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

Trilobite: Все так, только речь там идет про искусственную нейросеть, управляющую поведением агента.

Fractaler: Тогда должно уточняться, что термин используется не в общепринятом смысле, а в локальном, местечковом, искусственнонейросетевом. Потому как так язык и загрязняется, начинается путаница (увеличение общей энтропии) с терминами (вон, Академия уже вовсе и не Академия, а академии (вплоть до кабарэ-дуэт), МИФИ - уже не МИФИ в прежнем, устаревшем смысле, а МИФИ+каф.теософии, и т.д.).
[Ответ][Цитата]
Trilobite
Сообщений: 201
На: Эксперимент 6
Добавлено: 25 янв 13 14:39
daner --> *как при существовании только индивидуальной фитнес функции происходит закрепление социально полезных качеств?

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

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

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


daner --> *почему не автоматизировать процесс воспитания?

Попросту не дошли руки. Для запрограммированного воздействия как на массовом, так и на локальном уровнях были задуманы и даже частично реализованы спец.объекты, размещаемые прямо на полигоне - Демоны. Там и язык для их программирования придуман был, и масса шикарных возможностей открывалась, но ... реализация законсервирована.


daner --> *неужели не было случаев когда популяция полностью умирала?
*насколько стабильны результаты по времени и по качеству? вы сравнивали результаты нескольких запусков?

Со стабильностью - всегда проблема. Для разных экспериментов она разного масштаба. В простых - результат почти гарантирован, и различие между запусками только по времени его достижения. Но чем сложнее цель опыта, тем больше случаев застоя или вымирания при одних и тех же настройках полигона. А уж смена хотя бы одного параметра, казалось безобидная, может завести все в тупик (или наоборот).
Например, в Архипелаге снижение калорийности Кокоса (им Крабы кормят Скатов) ниже 5000-6000 делают его транспортировку "нерентабельной", и заставить его таскать не удается.
Поэтому в каждом эксперименте приходится, меняя настройки, искать почти на ощупь зону относительной стабильности, чтобы:
- события в нескольких запусках развивались сходным образом;
- конечное состояние удерживалось достаточно долго ( > 100 тыс.тактов ).
Выкладываю то, где вроде бы удалось ее найти. Но все равно, желанных гарантий повторяемости нет.
[Ответ][Цитата]
 Стр.1 (6): [1]  2  3  4  5  6След. > >>