Вопросы и ответы

Вопросы и ответы

Сообщение talash » 23 дек 2020, 20:52

Когда прилетает фотон, он активирует зрительные нейроны в зависимости от своего цвета.

Там уже довольно навороченная схема. Я думаю она неправильная, но надо же с чего-то начинать. Насколько я знаю сейчас нету компьютерных моделей кибернетических животных с нервной системой, способной создавать условные рефлексы. Поэтому, моя, может и неправильная, зато первая. Основная проблема почему такая сложная схема это множественность условий срабатывания рефлекса. Если бы это свести к одному условию или как-то всё распараллелить по подсистемам, над чем сейчас думаю... Сейчас попробую расписать текущую схему.

Есть нейроны - аккумуляторы возбуждения (ExcitationAccumulatorNeuron в коде). Они нужны, чтобы запоминать активность сенсорных и моторных нейронов за последние N квантов времени. На каждый сенсорный и моторный нейрон по одному нейрону-аккумулятору.

Есть нейрон - создатель условных рефлексов (ConditionedReflexCreatorNeuron в коде). Он связывается с нейронами-аккумуляторами. Количество связей ограничено. Каждый тик, он проверяет часть нейронов-аккумуляторов и если находит более возбуждённый, то рвёт связь с самым неактивным и связывается с активным.

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

Далее нейроны условных рефлексов регулярно сверяют свой сохранённый набор аккумуляторов с текущим состоянием аккумуляторов у нейрона создателя рефлексов. Если он совпадает до определённой степени, то срабатывает условный рефлекс. Это значит, что если в запомненных аккумуляторах есть моторные(эфферентные) нейроны, то он их активирует.

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

Как видим, в этой схеме условный рефлекс это нейрон и он создаётся с одного подкрепления. Павлов также утверждал, что такое возможно. Если происходит подкрепление активного условного рефлекса, то просто должны уточняться его аккумуляторы и уточняться прогноз. Это ещё не реализовано.

https://vk.com/club137626673?w=wall-137626673_213_r216
talash
Администратор
 
Сообщения: 392
Зарегистрирован: 24 май 2013, 17:48

Re: Вопросы и ответы

Сообщение talash » 25 дек 2020, 18:48

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


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

Вообще, демонстратор сбилдить и залить не проблема. Просто он сильно процессор поедает, поэтому я им почти не пользуюсь. Использую только, когда ролики делаю. А так глаз Дафнии видит всё, что надо.

По поводу движения вперёд. А это из-за квантования. Дафния занимает один квант пространства и перемещается прыжком в соседнюю ячейку. Представь, если она сразу будет за один квант времени прыгать в следующую ячейку, а в секунде 10 тыс. квантов. Это ж какая у неё скорость будет? Там у неё есть скорость и чтобы выйти из ячейки нужно преодолеть определённое "внутриячеечное расстояние". А если нужно просто увеличить скорость, то это легко сделать, за это отвечает клиент, смотри Assets\ParallelPhysics\ObserverClient.cs найди строчку if (m_isForward) и поменяй далее по коду msg.m_value с 16 на большее число до 255.

Параллельная физика имеет недостатки, связанные с квантованием пространства кубиками. Например, движение скачками. Также в ней трудно будет реализовать вращение тел. Сейчас там псевдовращение, поскольку Дафния обладает сферической симметрией, то её направление это её внутреннее свойство. Первую проблему можно легко победить, увеличив Дафнию и кубики корма в объёме, сделав 3x3 (и более), тогда все движения будут плавнее, но для обработки вселенной потребуется больше компьютерных ресурсов.

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

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


https://vk.com/club137626673?w=wall-137626673_213_r222
talash
Администратор
 
Сообщения: 392
Зарегистрирован: 24 май 2013, 17:48


Вернуться в Проект Дафния

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron