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

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

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

Ri- рецептор. i - номер элемента, w - вес связи

Ei - эффектор. i - номер элемента

Тi- тормозной нейрон. i - номер элемента, w - вес связи

Каждая цепочка связей выделяется круглыми скобками, знак = означает конечный элемент, на который воздействует цепочка. Знак - (минус) означает тормозное воздействие связи. Знак + для первого элемента условно не показан.

(R16=Е1)(R26-T16=E1)

У простейшего организма путем случайных мутаций возникло два рецептора гомеостаза: голод и сытость, а так же эффектор типа "Рот" позволяющий захватывать движущиеся поблизости частицы чего-либо и переваривать. Множеством поколений случайных связей между этими элементами сформировалась цепочка R1-E1 и R2-E1. Но так как оба рецептора активировали поедание, то дольше выживали (и оставляли больше потомства) только те, у кого R2 был менее активен или еды было не в изобилии. Остальные объедаясь быстро погибали. И так было пока в цепочку R2-E1 не вклинился специфический тормозной нейрон, который блокировал эффектор поедания при активации рецептора сытости. Эта эволюционная находка инвертирования сигнала была настолько удачной, что с тех пор повсеместно использовалась во всех новых наработках. В итоге особи, получившие схему (R16=Е1)(R26-T16=E1) получили существенную фору выживания и размножения перед остальными.

(R36=E1)(R46-T26=E1)

Однако хватать все подряд означало периодически травиться несъедобным, поэтому следующей эволюционной находкой было научиться отличать съедобное от несъедобного. Для этого возникли два специфических рецептора R3 и R4, и вместе с уже найденным эволюцией тормозным нейроном Т2 сформировали путем случайных мутаций схему активации/блокировки поедания, в запвисимости от того, съедобное или несъедобное было что то пойманное.

(R16=Е1)(R36=E1)(R26-T16=E1)(R46-T16=E1)

Итоговая объединенная схема допускает оптимизацию - вместо двух тормозных нейронов можно сделать один, предположив, что случайной мутацией к уже существующему тормозному нейрону Т1 добавилась связь от R4. И так же должен измениться вес от R1, став меньше наполовину, чтобы только впаре с R3 он мог активировать эффектор Е1. Но тут мы сталкиваемся с ограничением, исходящим из правила построения нейросхем: созревший слой не подлежит модификации, все наращивание функционала схемы происходит путем добавления нового слоя. Это базовый принцип построения самоадаптирующихся систем, нарущая который принципиально не возможно будет их построить без привлечения "внешнего архитектора", который заранее знает, как надо. Мы же исходим из того, что никто ничего не знает, и схема должна "построиться сама" по пределенным правилам. Только так можно говорить об адаптации, а не алгоритмизации.

(R16+Е26-Т36=Е1)(R16+Е23=Е1)(R16=Е1)(R26-Т16=Е1)(R33=Е1)(R46-Т26=Е1)

Чтобы не нарушать основное правило построения адаптационных систем для изменения веса существующей связи R16=Е1 нужно заблокировать ее тормозным нейроном и построить новую, уже с весом 3, чтобы только в паре с R3 они активировали эффектор Е1. Поэтому для связи двух слоев нужен третий, который блокирует старую связь R16=Е1 при помощи цепочки R16+Е26-Т36=Е1 и устанавливает новую R16+Е23=Е1. Это делается при помощи нейронов нового слоя: Е26 и Т36.

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

Сценарий запуска раздражителей для симулятора внешней реальности: (R1||R2)(R3||R4)

то есть голод или сытость, потом съедобно или несъедобно - последовательная активация рецепторов слева направо по чтению строки.

Подведем итог:

Принципиальное отличие формирования нейросхем от привычного рисования блок-схем - построение нового слоя только после созревания предыдущего. То есть создаем первый фрагмент "Сытость-Голод" и запускаем симулятор реальности, чтобы он прокачал веса связей. Так как он согласно сценарию будет возбуждать их поочередно, сформируется логика ИЛИ. Аналогично для второго блока "Съедобно-Не Съедобно". Оба блока возникли путем случайных мутаций, в нашем случае - их просто нарисовали, сэкономив тем самым несколько миллионов лет случайных тыков. Потом добавляем блокирующую и новую связующую связь между блоками (которые тоже случайно-эволюционно возникли) и запускаем симулятор, прокачивая связи. Теперь уже рецепторы Голод/Съедобно должны активироваться одновременно, тогда возникнет связь И. Так происходит развертывание схемы - ее постепенное усложнение. Это похоже на проращивание семени - положил в подходящий грунт, создал нужные условия - оно начало само расти. Нейроинженер периодически вмешивается, имитируя процесс эволюции и раскручивание ДНК, добавляет связи, меняет внешние условия - задает векторы разворачивания фракталов нейросети.

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