Проект “Дафния”. (Нейросети)
Открытый научно-исследовательский проект “Дафния”.
Цель проекта: принципиальное моделирование нервной системы. То есть, наша задача не повторить в точности нервную систему дафний, а смоделировать принципы работы нервной системы животных. Причём эти принципы мы будем зачастую искать не в научной литературе, а в самой компьютерной модели. Делая нервную систему нашей компьютерной Дафнии максимально эффективной, мы вероятно обнаружим те же принципы, которые уже “придумала” эволюция. Название “Дафния” условно, оно взято, так как дафния один из самых простых организмов, у которого, по некоторым свидетельствам (см. опыты А.Б.Когана) могут быть получены условные рефлексы. Итоговые цели: Задача-минимум: освоить современные технологии, связанные с параллельными вычислениями. Поднять квалификацию и найти работу в этой области. Задача не минимум: придумать как заработать деньги самим на основе изученных технологий. Для участия в проекте приветствуются люди, обладающие описанными качествами 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)). Глаз Дафнии расположен справа в маленьком окне. Она видит нечётко, но вполне достаточно для ориентации и поиска крошек. Сейчас делаю клиент-серверную архитектуру. Сервер будет обрабатывать физику, клиент - нервную систему. Вот версия перед разделением на клиент и сервер. Отчёты по проекту также размещаю здесь |
В марте продолжил:
Этап 2. Сверхбыстрая физика. Реализована клиент-серверная архитектура. Сервер обрабатывает физику, клиент будет обрабатывать нервную систему. Таким образом, проект "отвязался" от UE4. Теперь клиент может быть написан на любом движке и может общаться с сервером через UDP-протокол. Интерфейс очень простой. Все желающие написать нейросеть для управления Дафнией могут участвовать в проекте. В ближайших планах описать архитектуру вселенной и интерфейс взаимодействия с сервером. Ссылка на билд link. Сначала запускаем сервер, затем клиент. |
Архитектура вселенной и протокол взаимодействия с сервером здесь
После реализации клиент-серверной архитектуры, расширились возможности участия в проекте: Участвовать можно по следующим направлениям: - разработка физики вселенной №1 мне в помощь. Включает: идеи усовершенствования физики, программирование сервера на c++. - разработка клиента на Unreal Engine мне в помощь. Включает: рисование графики для красивой визуализации происходящего на сервере, программирование нервной системы на с++ или возможно на процессоре видеокарты. - разработка собственного клиента на любом удобном движке и взаимодействие с сервером по UDP протоколу. Это приветствуется для создания соревновательности. Всякая помощь по серверу с моей стороны будет оказана. - если хотите разработать собственную вселенную с другой физикой, то это также приветствуется, код открытый, можно форкаться. |
Господи............. а модель музыки которую создал этот изобретатель издала хоть один звук?
|
Цитата:
|
Цитата:
Шутите........... не верю.......... Даже меня банили пару раз и максимум на год......... кстати, я уже отсидел срок и могу тусоваться там, только мне не хочется, там ничего не изменилось за год. Ну ладно я......... напился однажды и высказал всё, что я о них думаю по пьяне........ Вас-то за что? Зазеркалье................ Ну надо же, и у меня сразу возникли к Вам братские чувства и захотелось прямЪ ща пойти и набить им морды за Вас. Только лень читать их Талмуд.... Дайте ссылочку на тот эпизод где Вас забанили , плиз. Не поверите, но я за Вас даже не зная поднаготную. Ааабиясню почему я за Вас. Там болото, реальное. И каюсь, мне было невмоготу наблюдать как Вы вязли в этом болоте............ Собственно, я троллил по сути дела не Вас, а это болото. За что и получал регулярно баны . Ну надо же........ они и Вас ухитрились достать......... фантастика.... Теперь серьезно как никогда. Дайте ссылочку, плиз. Оторвусь напоследок там. Вы не поверите, но вот так уж складывается то самое групповое против которого Вы иногда выступали. Но при всех раскладах я полагаю Вас членом нашей группы, и никому не дам Вас в обиду. Потому как членов своей группы негоже бросать. И можно маленько троллить и прикалываться над ними когда они пытаются перейти в другую группу, но когда там их ЗАБИЖАЮТ, то это пережить невозможно Это война! Шучу. Просто дайте ссылку, я считаю своей обязанностью вступиться за члена своей группы. Да, так это у нас у хомосапиенсов. На это мы заточены. И нас не переделать. А Вы член моей группы. Что бы там ни было между нами в нашей группе, но всем из другой группы я перегрызу горло за Вас. Дайте косточку, плиз, погрызть. Им мало не покажется. Я буквально сегодня прикупил пять бутылок водки на следующую неделю пребывания в карантине, ну не пропадать же добру........... ----------------- Пошутили и будет. Теперь по делу. Мне реально важно понять их. И на вашем примере бана я попытаюсь их понять. Это и будет моим исследованием. Итог исследования известен - бан и мне навечно. Так я и так там уже не игрок. Но у меня все еще есть возможность высказаться напоследок после годового бана. Предоставьте мне эту возможность, плиз. |
Нашел сам. Вот новая тема которую я открыл.
Текст. Уважаемые, как Вы относитесь к тому, что забанили Талаша, причем пожизненно? Заранее прошу прощения если Вы уже к этому событию отнеслись, просто я еще не имел возможность прочитать все месиджи. Тогда просто дайте ссылки на вашу реакцию, пожалуйста. Мне это важно, чтобы лучше понимать вас, каждого из вас. Например, вот Лилия Шаройко я понимаю без вопросов, а вас нет, пока не понимаю. Хотя начинаю понимать. Прежде чем сказать вам "отряд не заметил потери бойца...... " я ввел ключевые слова в гугл........ в надежде получить текст Светлова и проверить не переврал ли я за давностью лет и благодаря склерозу слова....... И что вы думаете......... мне поисковик выдал не текст известной песни, а китч о глупом мотыльке в котором есть фраза "отряд не заметил потери бойца". Проверьте сами, убедитесь, что я не фантазирую. Вот так низко пал секам............ Лилия попыталась защитить своего товарища по форуму, и ей это удалось, товарищу вместо месячного бала дали недельный. А вы........... попытались ли вы хотя бы разобраться за что Талашу дали бан, причем пожизненный? Вашему товарищу с которым вы провели массу времени в диспутах............ Я в шоке. Реально в шоке. Я не понимаю вас. Что с вами? Что с вами случилось? Когда вы стали такими.............. Кто и\или что сделало вас такими? Или же вы реально из того времени когда "отряд не заметил потери бойца...." ? Не верю. Вы интеллигентные люди, скорее всего интеллигенты в третьем поколении минимум. Что же нужно было сотворить с вами, чтобы вы ........... стали такими............... Ссылка. https://paleoforum.ru/index.php?topic=11375.new#new |
В зависимости от ответа, ежели админ не сотрет, будет следующий пост. В любом случае, этот пост оба участника сейчас получат в личку. Ну а там посмотрим ..........
|
Цитата:
|
Talash. Просто хочу что-бы ты знал что я заметил эту твою тему.
По началу думал что руки вообще до твоей дафнии не дайдут, ибо: 1) В сети имеется множество открытых, удобных, и известных публике(популярных) симуляторных пространств, специализированно разработанных в том числе для поддержки идей из масс (в частности openAI). 2) Основная моя задача в карантине - сменить специальность и найти работу программистом на питон. Потому основной упор на глубокий видеокурс по питону, объясняющий детали языка + потом нужно будет учить используемые сейчас специализированные технологии и библиотеки. Но... по прошествии недели вижу что возможно я обращу детальное внимание на твою дафнию всё-таки рано или поздно(что в бесконечное число раз быстрее, чем думал ранее). Ибо имеющиеся виртуальные пространства в основном заточены под deep learning, что есть тупиковая ветвь imho. Твое пространство мне на первый взгляд нравится, подходящее. Единственная проблема в его малой популярности, соответственно при получении каких-либо результатов, люди будут сомневаться в их чистоте. |
Цитата:
А почему ты считаешь deep learning тупиковой веткой? Вроде же нервная система это нейросеть, обучаемая с подкреплениями. Цитата:
Для наглядности всегда можно показывать несколько этапов обучения, типа поведение Дафнии после миллиона квантов времени, после 10 миллионов и т.д. Думаю сомнений не возникнет. Я сейчас работаю над возможностью запускать несколько Дафний во вселенную и чтобы они друг друга видели. Затем планирую сделать на Юнити минимального клиента, который коннектится к серверу и кнопками управляет Дафнией. Чтобы юнитисты имели возможность легкого старта для написания нейросети. Для питона тоже бы неплохо сделать минимальный клиент... Если нужны подробности, чтобы убедиться подойдёт ли эта вселенная для твоих целей, всегда на связи, в том числе голосовой. |
Цитата:
Во первых не понимаю где ты видел в нейросети дафний или младенца такой вид обучения. А во вторых энтот их диплернинг и "графы" даже нейросетью с трудом язык поворачивается назвать, скорее уравнения с множеством переменных, где переменные выбираются через другие уравнения. |
Цитата:
обучение с учителем link обучение с подкреплением link Дафния должна сначала двигаться хаотически, случайно есть крошки. Поедания крошки это подкрепление. Она должна запоминать поведение, приведшее к подкреплению и повторять его постепенно совершенствуя. На словах легко, а как сделать? Затем можно сделать, допустим красные крошки, чтобы были невкусные, то есть отрицательное подкрепление. И Дафния должна будет их огибать. |
"поэтому такое обучение является частным случаем обучения с учителем"
В статье про обучение с подкреплением. Я смотрел как обучение "с подкреплением" реализуют, когда обучают ИИ играть в компьютерные игры. Фактически это чистое обучение с учителем + эволюционные алгоритмы (тысячи повторений). Я просто не хочу в сортах говна разбираться, так сказать, как по мне это всё "обучение с учителем" в разных формах(что и написано в приведенной цитате из википедии). Нужно делать обучение без учителя в принципе. Так что-бы в качестве поведенческой цели в ходе всего процесса было само по себе эффективное обучение. Строим модель окружающего мира, и ведем себя так, что-бы максимально быстро эту модель проверять, улучать, отшлифовывать. ;) А когда модель будет готова, можно уже и заранее поставленных "целей подкрепления" достигать. |
Цитата:
Но практика критерий истины, пробуй. Нервная система полностью на клиенте, ему и все карты в руки. Моя планируемая нервная система наверное будет подходить под категорию "обучение с подкреплением". |
В апреле продолжил:
Этап 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-клиенте. Преимущества научно-исследовательского проекта Дафния перед другими ИИ-проектами: - упрощённая физика с чёткими законами - распараллеливаемость физики На мой взгляд реальная физика слишком сложна для компьютерного моделирования, как в плане быстродействия, её трудно распараллелить по ядрам, так и в плане качественной реализации. Обычно приходится обходить множество нюансов, что является препятствием для усложнения мира, где существует ИИ. |
Привет talash! Проект свой продолжаю активно пилить уже месяц на питоне.
Вступил в стадию когда кажется что вот еще три дня еще и будет первая бета версия, которая, пусть с багами и глюками и зацикливаниями, но будет уже худо-бедно работать. Стадия эта длится уже неделю.... :D Кстати вот случайно наткнулся на нечто подобное твоей дафнии, не вдавался в подробности особо, если хочешь зацени конкурентов. http://aaitestbed.us-west-2.elasticbeanstalk.com/AAI/ Напиши в личку с координатами как сейчас с тобой связаться. Вайбер- ватсап - телеграм предпочтительно, скайп не пользую уже давненьно, но можно откапать если что. Если я всё-таки до бета версии дойду то нужно будет и в твоем мире дафнии опробовать. Может просто созвонимся, постараюсь объяснить концепцию, мне будет полезно. Когда объясняешь сам больше понимать начинаешь. ps назвал, под влиянием твоей дафнии, проект "амеба" :D |
Цитата:
Я сейчас в поездке, сегодня вернусь в свою деревню, скину координаты. Я уже почти доделал минимального клиента на питоне. |
В мае продолжил:
Этап 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 |
talash, а дафнии поддаются дрессировке?
Например, какие у нее потребности и как ею можно управлять? Может быть что-то общее между дрессировкой собак и управлением дафнией? |
Цитата:
Цитата:
|
Часовой пояс GMT +4, время: 11:25. |
Русский vBulletin v3.5.1, Copyright ©2000-2024, Jelsoft Enterprises Ltd.
Перевод сделал zCarot