Когда люди начали создавать компьютеры, сравнение с аналогичной продукцией живой природы не заставило себя ждать. Все (за редким исключением) сошлись во мнении, что нейросистемы животных слишком сложны и медленны, чтобы быть достойными более глубокого изучения. Здесь под изучением я подразумеваю не биохимический анализ нейронов, а понимание уровня системы: по каким алгоритмам она работает и самое главное — почему было сделано именно так.
Печально, но на вопрос «почему так» судя по всему отвечать некому. Подробно об этом написано в замечательной книге Доккинза «Слепой часовщик», а если коротко — то не было никакого Главного конструктора, который создавал живые организмы в тиши своего кабинета. Эволюция за сотни миллионов лет сама сделала эту работу, непрерывно экспериментируя с мутациями, оставляя жизнеспособные решения и безжалостно уничтожая ошибочные. Нам осталось строить предположения, наблюдая конечный результат.
Подходы поменялись за последнее время, когда возникла задача распознавания изображений и необходимость принятия решений в реальном времени без участия человека. Следующим шагом возник искусственный интеллект (ИИ), структура которая может обучаться самостоятельно. И только после этого появился огромный интерес к тому, каких результатов достигла эволюция. Например, мы сами того не осознавая, в состоянии различить чашку и стакан в любом положении и при любом освещении. Но это не означает, что компьютер, а точнее — рукотворный алгоритм сможет это сделать с сопоставимой точностью.
Для изучения природных нейросетей нужен был такой экземпляр, который обладал бы простой, предсказуемой нервной системой и элементарным набором входных/выходных сигналов, то есть сенсоров и двигательных «устройств». И такой образец был найден: прошу любить и жаловать, нематода, а в просторечии червячок C.Elegans, длиной всего в 1мм, владелец собственного нейрокомпьютера с точным числом нейронов 302. Вот так, всего лишь три сотни, не тянет даже на простейшую матрицу CPLD. А возможностей у него — очень много.
Знакомимся с C.Elegans
Прежде чем трясти червячка на предмет принципов работы его компьютера, правила приличия требуют завязать хотя бы минимальное знакомство. Наш новый друг с красивым именем C.Elegans превосходно приспособлен действовать в мутной водичке. Его рецепторы (сенсорные нейроны) различают кучу разных вкусов и запахов, а также температуру, свет и даже градиенты этих параметров (направления, в которых они изменяются). Это позволяет ему избегать неприятных мест и направляться туда где он чувствует себя наиболее комфортно, ну и само собой где можно разжиться провиантом. Питается малыш бактериями, может двигаться вперед (используя моторные нейроны), назад (в случае опасности) и совершать развороты — пируэты, как говорят биологи.
Эти же неугомонные биологи давно хакнули нейрокомп C.Elegans, детально описали и классифицировали все нейроны и связи между ними. Кстати, изучение этого организма ведет Университет Рокфеллера в США — настолько фундаментальными и важными для прикладных задач являются его результаты. Итак, перед нами система управления, чертеж нейрокомпьютера, полученный путем взлома информации доселе спрятанной в тайниках старушки Эволюции:
Каждый нейрон имеет свой уникальный буквенный код. Ученые постарались расположить на диаграмме их так, чтобы выдержать логическую последовательность в направлении обработки сигнала: от «красных» сенсоров данные идут к «синим» нейронам, ответственным за принятие решений, а собственно эти решения исполняют моторные нейроны, обозначенные зеленым.
302 нейрона — это целая треть от общего количества клеток нематоды. Что же, интеллект чего-то да и стоит. Если продолжить подсчет, то из 302 ячеек 68 это сенсоры и 80 моторные нейроны: периферия нейрокомпьютера. Оставшаяся часть (центральный процессор), обеспечивающая собственно алгоритм принятия решений (всего лишь полторы сотни!) наводит на мысль что таким малым количеством ячеек невозможно запрограммировать какое-либо осмысленное поведение, однако червячок тем не менее работает. И еще способен обучаться по ходу дела, что мы увидим дальше.
Посмотрим на картинку еще раз. Появилась схема и все прояснилось? Как бы не так. Видим, как сделано, но не понимаем, как работает. И тем более не понимаем почему сделано именно так.
В последнее время биологи наконец-то осмысленно занялись системотехникой, чтобы приблизиться к представлению алгоритмов работы нейросетей. Проблема та же самая что и в системном анализе: невозможно декомпозировать задачу на кусочки, чтобы исследовать их отдельно — смысл ускользает. Система работает только в сборе и иначе никак. Но тем не менее, некоторые фрагментарные вещи были изучены, и это дало представление о некоторых фундаментальных принципах работы. Посмотрим, как работают эти фрагменты.
Меняем курс
Наш червячок непрерывно изучает окружающее пространство в поисках более приятных мест для обитания, пищи ну и естественно знакомств. Для этого природа снабдила его возможностью постоянно менять курс в поисках чего — либо интересного. Для дальнейшего повествования обратимся к схеме, которая поясняет как это делается.
Главный компонент — это моторный нейрон AVA. Когда он активен, червячок меняет курс. В свою очередь, как видно из схемы, нейроном AVA управляет сенсорный нейрон AWC, чувствительный к запаху. В обычном состоянии AWC проявляет регулярную активность, что вынуждает нейрон AVA постоянно изменять направление движения. Как только AWC обнаруживает привлекательный запах, он умолкает, соответственно нейрон AVA также останавливается, рыскание прекращается, и в идеальной картинке мира наш герой идет прямиком на источник приятного амбре.
Еще раз: связка AWC->AVA проста и понятна. В режиме поиска подходящих мест сенсор AWC постоянно теребит моторный нейрон AVA, что приводит к изменению направления движения, при появлении привлекательного запаха сенсор AWC обнаруживает его и замолкает, и тут бы отключить рулевую машинку AVC и идти прямо на вкусности, но… так все бы и работало, не будь остальной части схемы — AIB и RIM. И дальше все становится совсем не просто и более того — непонятно.
Наверное, если бы мы сами проектировали такой автопилот, то ограничились бы схемой AWC->AVA. В ТТЗ написано идти на запах, значит нужно вырубить мотор руля и идти по прямой. Сделать связь сенсор — двигатель однозначной и прямой и все тут. Однако, природа распорядилась по другому.
Эксперименты показывают, что первоначальная простая логика безусловно работает. Проблема в том, что не всегда, а точнее случайным образом — червячок может изменять курс, а может и не изменять. Причем это поведение имеет вероятностный характер, то есть предсказать его невозможно. Вносят хаос в понятную логику работы, и мешают идти к цели по прямой два других нейрона — AIB и RIM.
Дальнейший анализ показал, что сенсор AWC, как и предсказывалось, работает жестко по логике: если привлекательный запах есть, импульсов на выходе нет, и наоборот и следовательно в перечень виновников беспорядка он не попадает. В качестве таковых были выявлены промежуточные нейроны AIB и RIM.
Если внимательно посмотреть на рисунок, теперь уже включая промежуточные нейроны, с инженерной точки зрения, то в глаза бросаются несколько странностей. Странными выглядит количество связей. Основная цепь управления AWC->AVA содержит всего одно соединение. Зато обходных цепей через нейроны AIB и RIM — несопоставимо огромное количество. Такое ощущение, что «мешающей» цепи придается гораздо большее значение. Чем же занимается эта парочка нейронов? Начнем с анализа цепи в статике, как учат нас ГОСТы и старшие товарищи.
Статический анализ структуры
Биологи провели очень тщательный анализ этой структуры нейронов. Картина примерно прояснилась; я переложу ее на понятный нам, инженерный язык.
Для сенсора AWC, судя по количеству связей, главная цель не мотор AVA, а промежуточный нейрон AIB, который имеет больше цепей для управления AVA и еще больше — через нейрон RIM. В свою очередь, RIM имеет двусторонние соединения с мотором AVA и предыдущим нейроном AIB, что как-бы намекает на наличие обратной связи от моторного нейрона к RIM и далее — к AIM. Таким образом, сенсор и RIM (по цепи обратной связи) конкурируют за возможность управлять нейроном AIB, который в свою очередь формирует воздействие на RIM и через него — на мотор AVA. Конечно, эти события разнесены по времени, что позволяет память нейронов.
Цепь демонстрирует наличие существенных и сильных обратных связей, что на первоначальном этапе изучения нейросистем отрицалось: предполагалось, что сигналы могут передаваться только в одном направлении. И как мы знаем из своего опыта, наличие обратной связи существенно изменяет поведение системы и усложняет ее.
Если теперь говорить о смыслах, то в этой структуре биологи отвели нейрону AIB роль некоего сенсорного интегратора, который позволяет не реагировать на каждое воздействие сенсора AWC, а принимать решения отложенные во времени и по совокупности сигналов.
Что для меня, то исходя из количества связей структуры, я принял для себя следующую, весьма приближенную модель: параллельно со слабым прямым управлением AWC->AWA работает усилитель — интегратор на основе промежуточного нейрона AIB, при этом нейрон RIM выполняет двойственную функцию: с одной стороны, управляет передачей усиленного сигнала на мотор AVA, с другой — входит в цепь обратной связи от мотора AVA к усилителю — интегратору AIB.
Динамический анализ структуры
Биологи протестировали эту цепь на большом количестве входных воздействий и проанализировали состояние каждого из нейронов после стимуляции. Задача осложнялась тем, что структура обладает свойством памяти, что проявляется в том что двигательный ответ на запах может быть, а может нет. Стратегия ответа структуры на входное воздействие была одной из двух: или безусловная реакция, или случайный отклик.
Данное поведение является результатом работы нейронов AIB и RIM. AIB отвечает не на каждое воздействие. Во первых, это следствие накопления сенсорных сигналов, то есть зависимость от предыдущих данных. А во вторых, поведение AIB также определяется обратной связью, в силу чего этот нейрон реагирует более последовательно, когда RIM или AVA молчат (влияние обратной связи сведено к минимуму).
Например, червячок отреагирует практически мгновенно разворотом назад если его лишить еды, однако если тоже самое проделать через час, его реакция будет непредсказуемой.
В общем и целом, выявилась такая закономерность, хорошо иллюстрируемая рисунком: когда доминирует нейрон AIB (цепь прямой связи), реакция на сенсор запаха AWC будет однозначной (вперед, к цели!). Когда доминирует нейрон RIM (сильна обратная связь), реакция на сенсор будет вероятностной. Может, вперед к цели, а может ну его.. включаем задний ход.
Теперь, когда поведение, определяемое данной структурой, более-менее ясно, возникает закономерный вопрос: зачем вносить элемент случайности? Ведь очевидно что однозначная реакция на однозначный стимул еды должна повысить выживаемость организма. Однако, все не так просто…
Быть или не быть, стратегия Go-NoGo или роль случайностей в жизни
«По одной тропе дважды не ходи»
Народная мудрость
Мы конечно появились гораздо позже этих маленьких существ и не нам оспаривать пальму первенства, но задачу «быть или не быть», «идти-не идти (Go — NoGo)» нашим предкам тоже приходилось решать в жестких условиях выживания.
Наступает ночь, уставший отряд нашел пещеру для ночлега. Go или NoGo? Идем в пещеру — хорошо, разожжем костер, выспимся и восстановим силы. Значит, идем! А вдруг в пещере саблезубый тигр? Нет, не идем, будем живые. Но зато уставшие и замершие… может все таки идем? Логика, которая сидит в нас и позволяет принять решение, сформировалась на заре эволюции и закрепилась в таких нейронных структурах, как у нашего C.Elegans.
Идем дальше. Вы много видели мух, которые летят по прямой со своего насиженного места на окне к кучке чего нибудь ммм… съедобного? Я точно не видел. Полагаю, что старушка Эволюция избавилась от таких прямолинейных в самом начале, отдавая их на съедение птицам, и оставила тех кто летает как попало — мухобойкой на лету точно промажешь.
Предсказуемость — это плохо. Если ты предсказуем и ходишь все время по одной и той же тропе, рано или поздно тебя вычислят и на этой тропе встретят. После этого ты уже не сможешь внести свой драгоценный вклад в эволюцию, который должен был подтвердить правильность выбранной стратегии.
Посмотрите на этом поучительном видео, как змея использует предсказуемость движения своей жертвы. Работает на упреждение.
Если ты предсказуемый, ты — мертвый!
Исследования теории игр подтверждают, что изменчивая стратегия часто является лучшим ответом в непредсказуемых условиях, в частности в присутствии конкурентов и особенно хищников. Не отсюда ли особенности женского поведения, когда барышни поступают совсем не так как диктует логика (как нам кажется)?
На нейронном уровне изменчивость, формируемая внутри, обеспечивает лучшую выживаемость в этих самых непредсказуемых условиях (а когда они были другие?) и что еще важно — выполняет функцию обучения.
Полностью определенное поведение для нашего маленького друга конечно может соответствовать однозначным условиям — высокотоксичным условиям окружающей среды и еде, но большинство данных сенсоров не обязательно дают предсказуемый результат и сами по себе не приносят выгоды. Поэтому изменчивость может предотвратить поведенческие тупики и улучшить выживаемость.
Пару слов про обучение. Не исключено, что сложная структура реакции на обонятельный сенсор AWC выполняет роль ассоциативного обучения. Известно например, что бензальдегид является аттрактантом, то есть привлекательным соединением для нашего червячка. Причина привлекательности в том, что это вещество выделяют бактерии, которые являются пищей для малыша. Так он собственно и находит пропитание — по градиенту концентрации бензальдегида (хитрец!). Поэтому при всех прочих равных условиях он будет стремиться в области где это вещество присутствует. Однако, если червячок обнаружит что в области с аттрактантом бактерий нет (о чем позаботились хитрые экспериментаторы), то в следующем эксперименте это соединение уже не будет привлекательным для него. Таким образом — ассоциативное обучение налицо.
Видите — нейрокомпьютер C.Elegans не только работает как надо, но еще выполняет постоянный апгрейд.
Аналогично, после добавления химии одного типа в области где достаточно еды и другой там где еда отсутствует, червячок в последующих экспериментах движется в направлении раствора, который ранее ассоциировался с наличием пищи.
Не срабатывают ли у нас те же самые ассоциативные нейроны когда мы слышим запах костра или звон хрустальных бокалов?
Ответить