Концепт переноса сознания червя в робота

в 19:16, , рубрики: c. elegans, OpenWorm, Биотехнологии, Ижикевич, искусственный интеллект, коннектом, мозг, нейробиология, нейрон, нейронные сети, Программирование, робототехника, симуляция, симуляция мозга, спайковые нейронные сети, метки: ,

Концепт переноса сознания червя в робота - 1

Основная задача состоит в реализации нервной системы круглого червя c. elegans в теле робота таким способом, чтобы все поведение контролировалось этой нейронной сетью.

Почему c. elegans?

Широко известный и наиболее хорошо изученный организм с детальной информацией о нейронах и полным описанием структуры связей в нервной системе.

Концепт переноса сознания червя в робота - 2
Рис 1. Модель нематоды в NeuroConstruct.

В чем фан?

Идея переноса нервной системы этой нематоды в робота не нова и появлялась уже неоднократно.
Например, популярные реализации коннектома в Raspberry Pi GoPiGo или Lego EV3 роботах.

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

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

Поведение

Основываясь на реальном поведении c. elegans было бы неплохо симулировать следующую активность:
1. Движение вперед.
2. Смена направления движения в случае обнаружения препятствия.
3. Повороты налево/направо.

Коннектом

Коннектом нематоды — это простой список нейронов и связей между ними с уже заданными весами и типом соединения. В общем виде нас интересует только возбуждающие и тормозящие типы связей.
Ознакомиться со связями можно тут или здесь или в дистрибутиве Celegans NeuroConstruct.

К сожалению, не так просто найти тормозящие нейроны в списке. Для этого потребовалось изучать как сами нейроны, так и нейротрансмитеры. Вот пример тормозящего нейрона (inhibitory neuron).
(Стоит отметить, что у меня все равно остается множество вопросов, например, почему в коннектоме так мало тормозящих нейронов, хотя в статьях пишут о «тормозящем эффекте» одной группы нейронов на другие. Например RIM нейроны тормозят AVB, но при этом связь между ними не тормозящая. И так далее. Так же есть нейроны, роль которых не совсем ясна или не ясна природа связей.)

Нейрон

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

К реализации нейрона Ижикевича было добавлено еще дифференциальное обучение Хебба для укрепления связей между нейронами.

Концепт переноса сознания червя в робота - 3
Рис 2. Визуализация спайковой модели нейрона. Мембранные потенциалы.

Нейронная сеть и поведение

Теперь легко организуется нейронная сеть на основе коннектома.
Исходя из ожидаемого поведения находим группы нейронов, стимуляция которых приведет к требуемой активности.
Например, активизация сенсорных нейронов отвечающих за обнаружения еды приводит к движению:
ADFL, ADFR, ASGL, ASGR, ASIL, ASIR, ASJL, ASJR, AWCL, AWCR, AWAL, AWAR.

Обычно говорят, что движение вперед, но в реальности направление движения может внезапно меняться.

При стимуляции сенсорных нейронов отвечающих за обнаружение препятствия приводит к смене направления движения:
ASHL, ASHR, FLPL, FLPR, OLQDL, OLQDR, OLQVL, OLQVR, IL1VL, IL1VR, IL1L, IL1R, IL1DL, IL1DR.

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

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

d: -  -  1  -  -  -  -  -  -  -  1  1  1  -  -  -  1  -  -  -  -  -  -  -  
v: -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  
v: -  -  1  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  
d: 1  -  1  -  -  -  -  -  -  -  1  1  1  -  -  -  1  -  -  -  -  -  -  -  

D и v означает спинные и брюшные мышца соответственно. Патерн активизации мускульных нейронов используя спайковую модель нейрона.

Концепт переноса сознания червя в робота - 4
Рис 3. Радость глазам или разница между активностью брюшных и спинных мускульных нейронов. В динамике образует волноподобное движение.

Мускульные нейроны при движении вперед тоже активны, как и при движении назад.

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

Здесь описывается, что движение вперед вызывается сигналом из AVB и PVC нейронов в B нейроны, а движение назад из AVA, AVD и AVE в A нейроны.

Также сообщается, что движения вперед и назад являются разного рода активностью и вызываются разными областями нервной системы. Хотя замечено, что эти области взаимодействуют с друг другом. И нейроны отвечающие за движение вперед играют какую-то роль при движении назад. Т.е. активны при движении.
Но здесь показывается, что B нейроны активны при движении вперед, когда A нейроны активны при движении назад.

Концепт переноса сознания червя в робота - 5
Рис 4. Смена активности VA и VB нейронов и их зависимости. Детальнее здесь.

По сути означает, что моторные нейроны VB и VA не должны быть одновременно активны при движении.

Это нам дало только то, что надо смотреть активность VA нейронов.

После анализа активности при стимуляции пищевых нейронов (food sensors) и нейронов носа (nose touch sensors), выяснилось, что в последнем случае повышается частота спайков.

Концепт переноса сознания червя в робота - 6
Рис 5. Средняя активность VA нейронов. На отметке 900000 видно как частота импульсов увеличилась. Это момент начала стимуляции носовых нейронов.

Это позволило найти способ когда менять направление движения:

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

Концепт переноса сознания червя в робота - 7
Рис 6. Стимуляция носа прекращается на отметке 980000, что приводит к резкому падению средней активности как и VA, так и VB нейронов.

Концепт переноса сознания червя в робота - 8
Рис 7. Надеемся на смену направления движения с момента 980000.

Симуляция

Для симуляции робота был выбран проект с открытыми исходными кодами Enki, который предоставляет возможность моделирования роботов на плоской поверхности с базовой поддержкой физики.

Enki включает реализацию нескольких академических роботов, из которых выбор пал на E-puck, чтобы на его основе реализовать коннектом.

E-puck имеет ряд инфракрасных датчиков

Концепт переноса сознания червя в робота - 9
Рис 8. Схема датчиков на роботе.

Датчики 0, 7, 3, 4 были выбраны для стимуляции нейронов препятствия (nose touch).

В итоге робот стал способен менять свое направление при стимулировании заданной группы нейронов и, как следствие, были достигнуты все три патерна поведения: движения вперед, смена направления и повороты.

Концепт переноса сознания червя в робота - 10
Рис 8. Симуляция расширенной версии E-puck робота с интегрированием реализованного коннектома на основе спайковой модели нейрона Ижикевича.

Концепт переноса сознания червя в робота - 11
Рис 9. Красавец и молодец E-puck робот.

Заключение

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

Автор: valbok

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js