Этологический форум

Этологический форум (http://forum.ethology.ru/index.php)
-   Гайд Парк (http://forum.ethology.ru/forumdisplay.php?f=8)
-   -   Проект “Дафния”. (Нейросети) (http://forum.ethology.ru/showthread.php?t=6015)

talash 15.03.2020 12:12

Проект “Дафния”. (Нейросети)
 
Открытый научно-исследовательский проект “Дафния”.

Цель проекта: принципиальное моделирование нервной системы.

То есть, наша задача не повторить в точности нервную систему дафний, а смоделировать принципы работы нервной системы животных. Причём эти принципы мы будем зачастую искать не в научной литературе, а в самой компьютерной модели. Делая нервную систему нашей компьютерной Дафнии максимально эффективной, мы вероятно обнаружим те же принципы, которые уже “придумала” эволюция. Название “Дафния” условно, оно взято, так как дафния один из самых простых организмов, у которого, по некоторым свидетельствам (см. опыты А.Б.Когана) могут быть получены условные рефлексы.

Итоговые цели:

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

Задача не минимум: придумать как заработать деньги самим на основе изученных технологий.


Для участия в проекте приветствуются люди, обладающие описанными качествами link.

Каждый месяц будет выходить отчёт о проделанной работе и публиковаться ссылка на билд.

Закончен:

Этап 1. Простая физическая модель.

Реализуем самую простую физическую модель. Далее в следующих шагах будем её постепенно усложнять.

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

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

Продолжается:

Этап 2. Сверхбыстрая физика.

Обучение Дафнии на движке UnrealEngine4 будет очень медленным, особенно то, что касается глаза. А поскольку нам предстоит множество экспериментов с нейросетями, хочется, чтобы они происходили как можно быстрее. Чтобы обучение Дафнии шло, условно, не 2 часа, а 2 минуты.

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

После обучения, Дафнию можно запускать для демонстрации в физику UE4.

Идея удалась. На своём компьютере получил порядка 20000 FPS, физика работает на CPU в многопоточном режиме. Процессор не самый мощный: (Processor: Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz, 3408 Mhz, 4 Core(s), 8 Logical Processor(s)).

Глаз Дафнии расположен справа в маленьком окне. Она видит нечётко, но вполне достаточно для ориентации и поиска крошек.



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

Отчёты по проекту также размещаю здесь

talash 08.04.2020 02:08

В марте продолжил:
Этап 2. Сверхбыстрая физика.
Реализована клиент-серверная архитектура. Сервер обрабатывает физику, клиент будет обрабатывать нервную систему.

Таким образом, проект "отвязался" от UE4. Теперь клиент может быть написан на любом движке и может общаться с сервером через UDP-протокол. Интерфейс очень простой. Все желающие написать нейросеть для управления Дафнией могут участвовать в проекте.

В ближайших планах описать архитектуру вселенной и интерфейс взаимодействия с сервером.

Ссылка на билд link. Сначала запускаем сервер, затем клиент.

talash 11.04.2020 00:29

Архитектура вселенной и протокол взаимодействия с сервером здесь

После реализации клиент-серверной архитектуры, расширились возможности участия в проекте:

Участвовать можно по следующим направлениям:

- разработка физики вселенной №1 мне в помощь. Включает: идеи усовершенствования физики, программирование сервера на c++.
- разработка клиента на Unreal Engine мне в помощь. Включает: рисование графики для красивой визуализации происходящего на сервере, программирование нервной системы на с++ или возможно на процессоре видеокарты.
- разработка собственного клиента на любом удобном движке и взаимодействие с сервером по UDP протоколу. Это приветствуется для создания соревновательности. Всякая помощь по серверу с моей стороны будет оказана.
- если хотите разработать собственную вселенную с другой физикой, то это также приветствуется, код открытый, можно форкаться.

неэтолог 11.04.2020 03:23

Господи............. а модель музыки которую создал этот изобретатель издала хоть один звук?

talash 11.04.2020 10:56

Цитата:

Сообщение от неэтолог
Господи............. а модель музыки которую создал этот изобретатель издала хоть один звук?

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

неэтолог 13.04.2020 05:34

Цитата:

Сообщение от talash
Меня забанили навечно на палеофоруме


Шутите........... не верю..........
Даже меня банили пару раз и максимум на год......... кстати, я уже отсидел срок и могу тусоваться там, только мне не хочется, там ничего не изменилось за год.

Ну ладно я......... напился однажды и высказал всё, что я о них думаю по пьяне........ Вас-то за что?

Зазеркалье................
Ну надо же, и у меня сразу возникли к Вам братские чувства и захотелось прямЪ ща пойти и набить им морды за Вас.
Только лень читать их Талмуд....

Дайте ссылочку на тот эпизод где Вас забанили , плиз.

Не поверите, но я за Вас даже не зная поднаготную.
Ааабиясню почему я за Вас.

Там болото, реальное. И каюсь, мне было невмоготу наблюдать как Вы вязли в этом болоте............ Собственно, я троллил по сути дела не Вас, а это болото. За что и получал регулярно баны .

Ну надо же........ они и Вас ухитрились достать......... фантастика....

Теперь серьезно как никогда. Дайте ссылочку, плиз. Оторвусь напоследок там.

Вы не поверите, но вот так уж складывается то самое групповое против которого Вы иногда выступали. Но при всех раскладах я полагаю Вас членом нашей группы, и никому не дам Вас в обиду.

Потому как членов своей группы негоже бросать. И можно маленько троллить и прикалываться над ними когда они пытаются перейти в другую группу, но когда там их ЗАБИЖАЮТ, то это пережить невозможно Это война! Шучу. Просто дайте ссылку, я считаю своей обязанностью вступиться за члена своей группы.

Да, так это у нас у хомосапиенсов. На это мы заточены. И нас не переделать. А Вы член моей группы. Что бы там ни было между нами в нашей группе, но всем из другой группы я перегрызу горло за Вас.

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

-----------------

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

неэтолог 13.04.2020 06:39

Нашел сам. Вот новая тема которую я открыл.

Текст.

Уважаемые, как Вы относитесь к тому, что забанили Талаша, причем пожизненно?

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

Мне это важно, чтобы лучше понимать вас, каждого из вас.

Например, вот Лилия Шаройко я понимаю без вопросов, а вас нет, пока не понимаю.

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

Проверьте сами, убедитесь, что я не фантазирую.

Вот так низко пал секам............

Лилия попыталась защитить своего товарища по форуму, и ей это удалось, товарищу вместо месячного бала дали недельный.

А вы........... попытались ли вы хотя бы разобраться за что Талашу дали бан, причем пожизненный?
Вашему товарищу с которым вы провели массу времени в диспутах............

Я в шоке. Реально в шоке. Я не понимаю вас. Что с вами? Что с вами случилось? Когда вы стали такими.............. Кто и\или что сделало вас такими?

Или же вы реально из того времени когда "отряд не заметил потери бойца...." ?

Не верю. Вы интеллигентные люди, скорее всего интеллигенты в третьем поколении минимум. Что же нужно было сотворить с вами, чтобы вы ........... стали такими...............


Ссылка.
https://paleoforum.ru/index.php?topic=11375.new#new

неэтолог 13.04.2020 06:44

В зависимости от ответа, ежели админ не сотрет, будет следующий пост. В любом случае, этот пост оба участника сейчас получат в личку. Ну а там посмотрим ..........

Сергей 13.04.2020 09:12

Цитата:

Сообщение от неэтолог
Мне реально важно понять их.

Попробуйте в начале почитать про профессиональную деформацию личности.

Alexander B. 13.04.2020 16:45

Talash. Просто хочу что-бы ты знал что я заметил эту твою тему.

По началу думал что руки вообще до твоей дафнии не дайдут, ибо:
1) В сети имеется множество открытых, удобных, и известных публике(популярных) симуляторных пространств, специализированно разработанных в том числе для поддержки идей из масс (в частности openAI).
2) Основная моя задача в карантине - сменить специальность и найти работу программистом на питон. Потому основной упор на глубокий видеокурс по питону, объясняющий детали языка + потом нужно будет учить используемые сейчас специализированные технологии и библиотеки.

Но... по прошествии недели вижу что возможно я обращу детальное внимание на твою дафнию всё-таки рано или поздно(что в бесконечное число раз быстрее, чем думал ранее). Ибо имеющиеся виртуальные пространства в основном заточены под deep learning, что есть тупиковая ветвь imho.

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

talash 13.04.2020 22:55

Цитата:

Сообщение от Alexander B.
Но... по прошествии недели вижу что возможно я обращу детальное внимание на твою дафнию всё-таки рано или поздно(что в бесконечное число раз быстрее, чем думал ранее). Ибо имеющиеся виртуальные пространства в основном заточены под deep learning, что есть тупиковая ветвь imho.


А почему ты считаешь deep learning тупиковой веткой? Вроде же нервная система это нейросеть, обучаемая с подкреплениями.

Цитата:

Сообщение от Alexander B.
Твое пространство мне на первый взгляд нравится, подходящее. Единственная проблема в его малой популярности, соответственно при получении каких-либо результатов, люди будут сомневаться в их чистоте.


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

Я сейчас работаю над возможностью запускать несколько Дафний во вселенную и чтобы они друг друга видели.

Затем планирую сделать на Юнити минимального клиента, который коннектится к серверу и кнопками управляет Дафнией. Чтобы юнитисты имели возможность легкого старта для написания нейросети. Для питона тоже бы неплохо сделать минимальный клиент...

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

Alexander B. 13.04.2020 23:56

Цитата:

Сообщение от talash
А почему ты считаешь deep learning тупиковой веткой? Вроде же нервная система это нейросеть, обучаемая с подкреплениями.

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

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

talash 14.04.2020 19:42

Цитата:

Сообщение от Alexander B.
Обучаемая с подкреплениями? в Русском языке мне больше нравится термин обучаемая с учителем. Ну в общем это когда нейросеть тренируют на наборе данных с ответами, а она в результате учится давать ответы в будущем. Должен быть учитель, который правильные ответы изначально поставит.

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

Это разное:
обучение с учителем link
обучение с подкреплением link

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

Alexander B. 15.04.2020 00:23

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

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

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

talash 15.04.2020 10:24

Цитата:

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

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

Даже на словах непонятно, что ты хочешь сделать. :)
Но практика критерий истины, пробуй. Нервная система полностью на клиенте, ему и все карты в руки.
Моя планируемая нервная система наверное будет подходить под категорию "обучение с подкреплением".

talash 07.05.2020 01:50

В апреле продолжил:
Этап 2. Сверхбыстрая физика.

1. Теперь сервер поддерживает множество клиентов. Две дафнии впервые увидели друг друга.
2. На сервере реализован TCP/IP протокол для администратора. Он нужен для красивых демонстраций происходящего на сервере на графике Unreal Engine. Сейчас UE4 клиент уже умеет закачивать с сервера состояние вселенной (положение шариков корма), но пока он видит только собственную дафнию, что делают другие дафнии не видно.
3. Разработан минимальный клиент на WinApi, который коннектится к серверу, отображает состояние глаза Дафнии, а также даёт команды моторным нейронам с клавиатуры.
4. Создан ютуб-канал и записан демонстрационный ролик. https://youtu.be/VyoSWdGh6Rg

Сервер https://github.com/talashby/DaphniaServer
Клиент UE4 https://github.com/talashby/Daphnia
Клиент WinApi https://github.com/talashby/DaphniaWinApi

В планах сделать минимальные клиенты на Unity и на Python, для лёгкого старта желающих участвовать в проекте. Далее сам буду разрабатывать нервную систему на WinApi-клиенте.

Преимущества научно-исследовательского проекта Дафния перед другими ИИ-проектами:
- упрощённая физика с чёткими законами
- распараллеливаемость физики

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

Alexander B. 02.06.2020 22:12

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

Кстати вот случайно наткнулся на нечто подобное твоей дафнии, не вдавался в подробности особо, если хочешь зацени конкурентов.
http://aaitestbed.us-west-2.elasticbeanstalk.com/AAI/

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

ps назвал, под влиянием твоей дафнии, проект "амеба" :D

talash 03.06.2020 12:10

Цитата:

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

Вау! Рад слышать.
Я сейчас в поездке, сегодня вернусь в свою деревню, скину координаты.
Я уже почти доделал минимального клиента на питоне.

talash 07.06.2020 17:04

В мае продолжил:
Этап 2. Сверхбыстрая физика.

1. Демонстрационный клиент теперь умеет графически отображать других дафний.
2. Разработаны минимальные клиенты на Unity и на Питоне для лёгкого старта участия в проекте специалистов в этих платформах. В этих клиентах дафния управляется с клавиатуры кнопками-стрелочками. Задача написать нейросеть и научить дафнию поедать шарики-крошки самостоятельно.
3. На ютуб-канал залит отчёт за май: https://www.youtube.com/watch?v=6j_CDeVwp2s В нём рассказываю про перспективы развития проекта:
В планах найти участников и устроить соревнование дафний. Каждый участник обучает дафнию простому поеданию шариков корма на своём оборудовании. Далее периодически будем запускать полуфинальные сервера, где будут соревноваться дафнии, прошедшие первоначальное обучение. Победители будут попадать на финальный сервер, который будет работать постоянно. План примерный и может меняться в зависимости от обстоятельств.

Сервер https://github.com/talashby/DaphniaServer
Клиент UE4 https://github.com/talashby/Daphnia
Клиент WinApi https://github.com/talashby/DaphniaWinApi
Клиент-Python https://github.com/talashby/DaphniaPython
Клиент-Unity https://github.com/talashby/DaphniaUnity

Сергей 07.06.2020 20:53

talash, а дафнии поддаются дрессировке?
Например, какие у нее потребности и как ею можно управлять?
Может быть что-то общее между дрессировкой собак и управлением дафнией?

talash 08.06.2020 00:23

Цитата:

Сообщение от Сергей
talash, а дафнии поддаются дрессировке?
Например, какие у нее потребности и как ею можно управлять?
Может быть что-то общее между дрессировкой собак и управлением дафнией?

Поддаются, самой примитивной:

Цитата:

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

Такое изменение, например, наблюдали в эксперименте при сочетании света с холодом, а тепла с темнотой.

Для этого сосуд с одной группой дафний при ярком освещении охлаждали до 2–4 °С и оставляли при низкой температуре в течение 4 ч. Затем его затемняли и нагревали до температуры 15–20 °С, оптимальной для дафний. У другой группы дафний вырабатывали обратные отношения, т.е. свет сочетался с теплом, а темнота с холодом. Соответствующие условные рефлексы быстро образовывались: дафнии первой группы шли в темноту, дафнии второй группы — к свету.

Изменить сигнальное значение света для дафний можно также, создавая иные условия питания.

Для этого помещали дафний в хорошо освещенный сосуд с чистой водой без корма. К вечеру их переносили в сосуд с водой, богатой инфузориями, закрывали светонепроницаемым колпаком и оставляли на всю ночь кормиться в темноте. Утром после ополаскивания дафний опять переносили в первый сосуд голодать весь день на свету и т.д. В результате у дафний выработался прочный условный пищевой рефлекс на темноту.
https://litlife.club/books/132852/read?page=66


Часовой пояс GMT +4, время: 00:12.

Русский vBulletin v3.5.1, Copyright ©2000-2020, Jelsoft Enterprises Ltd.
Перевод сделал zCarot