Конструктор нейросхем: Позиционирование головы насекомого по центру матрицы

Условные обозначения:

Ri - рецептор

Еi - эффектор

Тi - тормозной нейрон

Мi - мышца

Для наглядности схема разбита на слои-фрагменты, хотя в действительности это одна целая схема, где нейроны расположены физически на разных уровнях. Если расположить рецепторы в одном слое, а остальные фрагменты в виде слоев положенных друг на драга - то получим реальную трех-мерную комповновку нейросхемы. Кроме того, разбиение на слои так же необходимо для поочередного прокачивания весов на каждом слое при самообучении нейросети. Если первым расположить слой с вертикальным реагированием, это будет означать, что изначально насекомое научилось мотать головой вверх/вниз, потом вправо/влево, и только потом научилось блокировать все мотания при активации центрального рецептора R5. Это имитирует эволюционный этап формирования схемы.

Схема позиционирования головы насекомого так, чтобы попавший в поле зрения фасеточного глаза объект всегда находился в центре сенсорной матрицы. Для этого нужно дать команду сокращения одной из 4 мышц, управляющих глазом, для его поворота вверх, вниз, вправо, влево соответственно. Поворачиваться голова будет дискретно, то есть один командный импульс – один шаг поворота. Для начала возьмем минимальную матрицу 3х3. Задача – в зависимости от положения в ней активного элемента задать направление перемещения, чтобы активным стал центральный. Для наглядности направление перемещения будем считать как направление смещения пятна на матрице, хотя на самом деле надо конечно делать наоборот, ведь не пятно движется, а поворачивается голова: чтобы пятно сместилось вниз, голова должна повернуться вверх, для левого смещения – поворот вправо и т. д.


Линейка с верхними квадратами – номера ячеек сенсорной матрицы 3х3, кружок – нейрон, квадраты внизу – эффекторы, обозначенные как П (мышца для поворота вправо), Л – влево, Н – вниз, В – вверх. По схеме видно, что для угловых ячеек 1, 3, 7, 9 нужна одновременная работа пары мышц, то есть для перемещения из сектора 1 в центральный сектор 5 нужно задействовать эффекторы П и В. Это означает, что к некоторым ячейкам сенсора будет подключено по два входа от соответствующих управляющих нейронов. Такая схема имеет 2 серьезных недостатка:

  1. Подключение к сенсору более одного входа от нейронов означает распределение по ним сигнала, потерю мощности – нужно ведь по обоим направлениям подать одинаково мощный сигнал.
  2. Схема подразумевает строгое подключение каждого рецептора к своему нейрону. Если представить вероятность попадания в ходе отбора путем случайных мутаций для матрицы 1000х1000 – даже без расчетов очевидно, что она будет очень низкой. Стало быть, нужна схема с менее жесткой привязкой, с большей степенью свободы установления связей.

Для этого сделаем перемещение от угловых ячеек ортогональным. Тогда каждая угловая ячейка получит две степени свободы. Например от ячейки 1 можно двинуться вверх или вправо – в любом случае попадаешь на центральную ячейку 4 или 2, а оттуда уже строго к центру. То есть вместо одного строго определенного движения получили два, но зато равно возможных. При этом заодно избавились от двойного подключения к рецептору от разных нейронов.

Теперь к угловым ячейкам рецептора может без потери функциональности устройства равноценно прицепиться один из двух нейронов. Это для матрицы 3х3 создаст 128 возможных схем соединения вместо одной единственной.

№ ячейки

Подключение ячейки к нейрону эффектора

1

П

В

В

П

П

В

В

П

П

В

В

П

П

В

В

П

3

Л

В

Л

В

В

Л

В

Л

Л

В

Л

В

В

Л

В

Л

7

П

Н

П

Н

П

Н

П

Н

Н

П

Н

П

Н

П

Н

П

9

Л

Н

Л

Н

Л

Н

Л

Н

Л

Н

Л

Н

Л

Н

Л

Н

 

№ ячейки

Подключение ячейки к нейрону эффектора

1

П

В

В

П

П

В

В

П

П

В

В

П

П

В

В

П

3

Л

В

Л

В

В

Л

В

Л

Л

В

Л

В

В

Л

В

Л

7

П

Н

П

Н

П

Н

П

Н

Н

П

Н

П

Н

П

Н

П

9

Н

Л

Н

Л

Н

Л

Н

Л

Н

Л

Н

Л

Н

Л

Н

Л

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

В итоге получили схему стабилизации головы насекомого, слежение за объектом. Но по сути это схема стабилизации любого параметра, например гомеостаза. Если вместо ячеек сенсорной матрицы подразумевать нейроны-рецепторы, а вместо мышц – железы-эффекторы или что то иное, что требуется совершить для прихода в норму. Главное, что становится очевидно – такая схема вовсе не требует жесткой юстировки (настройки) параметров. Она допускает довольно широкий их разброс, что позволяет теоретически собрать ее «ураганом над помойкой». А другое, что приходит в голову: хотя у насекомых практически вся нейросхема передается через геном, но это не жесткий шаблон, а весьма вольная трактовка. Это объясняет, как так удается передавать по наследству довольно замысловатое поведение. А оно и не передается в точном исполнении, но в виде каркаса с допуском вольностей исполнения. В итоге все тараканы при включении света на кухне стремительно сваливают под плинтус – но каждый по своей, замысловатой траектории, но с одинаковым стремлением к ближайшему укрытию.

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