Этап "Группировка признаков"
sergey shishkinЦепочки памяти во всех предыдущих этапах были односвязными. То есть в них запоминалась (формировалась, укреплялась и взвешивалась соотношением пользы и вреда) одна структурная связь от детектора (признак("Еда") ⇒ ...
) или к актору (... ⇒ действие("Двигаться")
). Для разбора группировки признаков нужно рассмотреть процесс запоминания более сложной структуры связей. На этом этапе необходимо объединение структурными связями нескольких детекторов в "цепь" друг за другом.
И у появления такой структуры цепочки опять есть виновница — это среда, подбрасывающая организму новые и особые ситуации, в которых полезно исполнить действие (или, наоборот, вредно его исполнять). При этом особенность каждой такой ситуации заключается в характерном одновременном наличии в среде двух (и более) признаков. И каждый из этих признаков, появляющийся в среде по отдельности, не достаточен для детектирования этой особенной ситуации. Если использовать терминологию программных технологий, то организму необходима операция И (AND)
по признакам. К счастью для природы биологический вариант этой операции получился не такой ограниченный как у программиста, и его первоначально потребовавшийся синхронный вариант можно достаточно легким преобразованием "распространить" во времени, чтобы обеспечить организм возможностью детектирования не только синхронного появления признаков, но и появления последовательного (с фиксированными временными интервалами).
![](/file/4e6860b6806ea52c40ff7.jpg)
Попробуем оценить сложность в использовании признаковой операции И (AND)
и особенности разрешения составляющих эту сложность проблем методом построения цепочки. Первая и самая главная проблема состоит в том, что если количество базовых признаков у организма nnn, то количество макро-признаков, которые возможно выделить на синхронном парном сочетании из этих признаков - Cn2=n!(n−2)!⋅2!C^2_n = Cn2=(n−2)!⋅2!n!. Это число больше nnn (для 3<n3 < n3<n). И общее число макро-признаков увеличивается с добавлением каждой дополнительной возможности детектировать сочетания базовых признаков. Таких возможностей как:
- использование сочетания больше двух базовых признаков;
- определение порядка появления базовых признаков;
- указание интервала времени между появлением базовых признаков.
То есть количество макро-признаков может быть очень большим. Если на каждое появление сочетания базовых признаков пробовать применять действие и ждать подкрепление-оценку пользы от среды (или учителя в более развитых состояниях пространства), то процесс перебора обещает быть настолько долгим, что времени существования эвольвера может не хватить на синтез алгоритма поведения, использующего макро-признак с пользой.
К счастью для организма в алгоритмическом пространстве полезность макро-признака можно проверить без исполнения действий и без ожидания подкрепления пользой от среды (или учителя). Способ это осуществить — выявление Повторимости (одного из основных свойств алгоритма) в совокупности обнаруживаемых признаков. Это возможно, потому что только повторяющиеся сочетания-последовательности ("узоры") из базовых признаков возможно использовать для синтеза детектора макро-признака.
Поэтому на иллюстрации группировки признаков оранжевая линия стрелок, представляющая собой цепочку, располагается на обособленном участке — детекторной области.
++Детекторная область++ — локаль памяти, которая ответственна за выявление макро-признака с оценкой Повторимости. В ней запоминаются последовательности базовых признаков, и в сопоставлении с записью определяются повторные появления таких же последовательностей. Каждое появление повтора записанной последовательности укрепляет запись этой последовательности, то есть укрепляет формирующие структурные связи её детекторов.
Те структурные связи детекторной области, которые не прошли проверку, в итоге могут ослабеть и использоваться для записи нового сочетания базовых признаков.
Описанное отделение синтеза детектора макро-признака от синтеза и соревнования алгоритмов поведения важно для развития памяти эвольвера. Это обособление-специализация синтеза цепочки детекторов позволяет:
- бороться с возрастающей сложностью синтеза алгоритмов поведения на большом множестве базовых признаков в среде;
- избавиться от сильной зависимости между выявлением макро-признака и соревнованиями между использующими их алгоритмами поведения с подкреплением фактами полезности;
- выстроить иерархию из детекторных областей цепочек и тем самым обеспечить формирование макро-признаков (абстракций) более высокого уровня, что для биологических организмов даёт способ выявлять зависимости между признаками разных опорных систем рецепции (например, звук и свет).
Примечательно, что если посмотреть в сторону технологии машинного обучения с использованием нейронных сетей, то использование свёрточных слоев имеет в своей основе похожее решение, описывающее способ изолировать "обучение" выделяемых признаков фрагментов предыдущего слоя от решений принимаемых по этим признакам на слое следующем. Тем самым получается выстроить иерархию признаков с минимизацией влияния подкрепления от обучающего механизма обратного распространения ошибки на внутренние слои и сосредоточение этой функции (обучения ошибками) на слое конечном, где для каждого макро-признака учитель назначает "имя".
Если перейти от искусственной нейронной сети, работающей с изображением, к зрительной коре, то почти общепринято, что механизма обратного распространения ошибки там нет. Макро-признаки изображения (и движений) в биологическом варианте синтезируются полностью "автономно". Очень похоже, что биологический рецепт распознавания зрительных образов — Повторимость.