Прошло несколько лет с тех пор, как мы впервые столкнулись с разумом C. elegans, встроенным в тело Lego, но теперь у нас есть версия, с которой может играть каждый. Он представлен как биологически правдоподобная модель нейронной сети небольшого червя, работающего на роботизированной платформе Arduino Uno.
Нематодный червь Caenorhabditis elegans (C. elegans) крошечный и имеет всего 302 нейрона. Они полностью отображены как часть проекта OpenWorm. Еще в 2014 году один из основателей проекта Тимоти Басбис использовал коннектом для реализации демонстрации объектно-ориентированного нейрона. Это было захватывающе и что-то вроде вехи, но структура программы — распределенная система, использующая UDP-пакеты для связи, — затрудняла участие, если вы хотели попробовать ее на себе.
Nematoduino — новый проект Натана Гриффита, который, очевидно, собирается стать астрофизиком, помещает тот же коннектом в Arduino Uno на колесах. Симуляция на диалекте C в Arduino — это нейронная сеть с пиками, она не обучена и не обучается. Любое поведение, которое вы видите в роботе, является чистым выражением того, что C. elegans усвоила за эоны эволюции.
Системная диаграмма рассказывает большую часть истории:
И вы можете увидеть это в действии на следующем видео — обратите внимание, что единственный датчик, который есть у «червя», — это датчик касания носа.
Реакция на предыдущее воплощение червя варьировалась от удивления до мнения, что оно было жутким. Когда-то химики думали, что для создания органических химикатов нужно что-то особенное, жизненная сила, но потом оказалось, что это не так, когда органическое химическое соединение мочевина было синтезировано без участия жизни. То же самое относится и к органическим нейронным сетям. Кажется, мы до сих пор удивляемся, когда кому-то удается синтезировать что-то, что выглядит как естественный ИИ. Дело вроде как в том, что нам действительно не нужен «привидение в машине» — машины достаточно, и она от этого не менее замечательна.
Мы до сих пор мало что понимаем в пиках нейронных сетей. Мы не знаем, как они работают, и не знаем, как их обучать — кроме как заставить их имитировать действия обученных нейронных сетей без пиков. Мы не совсем понимаем даже простую сеть из 300+ нейронов C. elegans. Если вы мне не верите, попробуйте выяснить, какое значение имеет удаление одного из нейронов? Не просто.
Так что не дайте себя обмануть, думая, что больше нечего делать. Мы все еще можем многому научиться у таких моделей, как нематодуино.
Хорошей новостью является то, что проект имеет открытый исходный код, а скомпилированный код использует только 13542 байта (42%) программной памяти UNO-совместимой платы и 825 байтов (40%) SRAM. Это оставляет много места для добавления кода — и тележка робота могла бы обойтись еще несколькими датчиками. Также было бы неплохо найти более щадящий способ сопоставления мотонейронов с исполнительными механизмами, а не просто двумя колесами.