Возврат на главную

Вертикальные растущие сети.

 

Как уже говорилось выше, основной задачей рассматриваемой модели (описываемой в prog ) является обнаружение повторяющихся фрагментов последовательностей событий. Применительно к анализу текста этими событиями являются символы. При обнаружении таких фрагментов они запоминаются путём создания специальных объектов – нейронов, связанных между собой различными связями. Чтобы не повторяться, здесь не будут рассматриваться первоначальные причины и этапы создания таких нейронов и их связей. Однако немного, мне кажется, следует напомнить.

 

В модели существует несколько разновидностей нейронов:

 

1. Рецепторы – пограничные нейроны, не имеющие входящих связей. Эти нейроны порождаются примитивными одиночными событиями. На рис.А рецепторы обозначены «X», «Y». В модели они порождаются отдельными символами.

2. Эффекторы – пограничные нейроны, не имеющие исходящих связей.  Они создаются сложными (бинарными) событиями и служат для записи фрагментов последовательности событий. На рис.А эффектор обозначен «Z».

3. Интернейроны – промежуточные нейроны, имеющие и входящие, и исходящие связи. Они находятся между рецепторами и эффекторами. На рис.А они не показаны.

 

Кроме этого на данный момент существует три типа нейронов. Два из них являются возбуждающими, а третий тормозящий.

 

Каждый нейрон состоит из ядра и связей. Ядро нейрона - это таблица, в которой находится некоторая, закодированная числами, информация. В частности каждый нейрон имеет возможность сохранять информацию о своём состоянии. Таких состоянию у любого нейрона может быть всего два – состояние покоя и состояние возбуждения. Кроме этого в ядре каждого нейрона находится информация о родительских нейронах  в виде двух адресов. Эти адреса являются нисходящими связями. Нейрон «Z» (рис.А) являясь потомком «X» и «Y», имеет в своём ядре адреса «x» и «y», поэтому он обозначен как «Z(x,y)».  Исключением из этого правила являются рецепторы. Также в ядрах некоторых нейронов находится адрес начала другой таблицы, которая используется для хранения информации об исходящих связях данного нейрона. В ядрах существует ещё некоторая информация, например о значимости конкретного нейрона (вес, ранг) и прочее, о многом  уже говорилось ранее.

 

Теперь можно уточнить некоторые детали касающиеся связей и состояний нейроновКонтекстные связи. . Как видно на рис.А(а), первоначально для записи информации о фрагменте последовательности использовалось четыре связи (адреса): «x-z», «y-z», «z-x», «z-y». Однако в процессе разработки модели удалось понять, что можно (и нужно) сократить количество этих связей и реализовать алгоритм, который будет работать эффективней. На рис.А(а-с) как раз показано такое сокращение одной связи «y-z». Эта связь необходима во время анализа, для ответа на вопрос: концом какого фрагмента последовательности является текущее анализируемое событие «Y»? Но она необходима лишь в случае, когда событие «Y»  обусловлено контекстом предыдущих событий, т.е. когда событие «Y» может являться концом какого либо фрагмента. Учитывая это, и то, что в ядре нейрона «Z» всегда находится информация о родительских нейронах, связь «y-z» можно сделать временной. Т.е. у родительского нейрона её всегда можно воссоздать, перед тем как она потребуется в анализе. А после анализа её можно удалить. Поэтому такой тип связей можно условно назвать «квантовыми» или «временными» (в смысле существующими лишь определённый промежуток времени), или «контекстными». Естественно такому сокращению подвергается не одна связь, а множество, что приводит к увеличению общей скорости анализа и уменьшению затрат физической памяти компьютера для хранения информации.

 

Алгоритм анализа последовательности событий в этом случае выглядит примерно следующим образом:

1. В момент возникновения события «X» проверяется наличие «квантовых» связей. Если таких связей не обнаружено, то это означает, что данное событие не является (вероятно) концом фрагмента п-ти. Т.е. оно является (вероятно) началом п-ти событий.

2.  После анализа «квантовых» связей начинается обработка исходящих связей.  Т.к. все эти связи являются адресами потомков события «X», то такая обработка заключается лишь в возбуждении всех потомков. При этом происходит также воссоздание всех «квантовых» связей, адреса которых находятся в ядрах потомков. Поэтому к моменту возникновения события «Y», нейрон «y»  уже будет иметь связь «y-z».

 

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

         Не углубляясь в детали такой организации взаимосвязей нейронов, хочется сказать об одном существенном недостатке. Дело в том, что очень часто в момент анализа события «Y» приходится возвращаться на несколько шагов назад. Но к этому моменту многие «квантовые» связи предыдущих событий могут быть уничтожены. Т.е. «прошлые» события (нейроны) будут уже иметь другие наборы «квантовых» связей. С этим недостатком приходится считаться и бороться. Временно его можно назвать «недостатком первого типа».

Возникновение подобной проблемы, а также стремление к дальнейшей оптимизации параметров работы сети, приводит к необходимости разделить функции нейрона на две составляющие и получить в результате два типа нейронов – «возбуждающие» (ВН) и «тормозящие» (ТН). В этом случае задачей одних (ВН), в самом общем виде, будет являться конкурентная борьба, а задачей других (ТН) будет являться беспристрастное обеспечение справедливых условий такой борьбы (см. prog/рис.80).

Развивая эту идею, появляется возможность отказаться ещё от одной связи  у родительских нейронов со своими потомками (рис.А.1).Родительские нейроны не имеют связей со своими потомками. Потомки содержат информацию о своих предках. Правда, при этом приходится создать особую связь  ВН-ТН. Естественно у ТН существуют свои связи между собой и связь ТН-ВН. Примерная схема показана на рис.В  (черным цветом обозначены ТН). Не смотря на усложнение сети и процесса передачи информации внутри её, такая схема является более эффективной. В этом случае между предками и потомками ВН связь является опосредованной, а между потомками и предками - «квантовой» (в ядре потомков находятся адреса предков). Тем не менее, в результате таких изменений, общее количество связей (отдельных таблиц с адресами потомков) сокращается, что приводит к увеличению эффективности сети в целом, как с точки зрения скорости анализа, так и с точки зрения затрат физической (компьютерной) памяти для организации подобной сети.

Хочется подчеркнуть, что при такой организации сети, родительские нейроны не содержат никакой информации о своих потомках, в то время как потомки имеют (наследуют) информацию о своих предках.

 

Связь предков со своими потомками осуществляется опосредованно.Конечно, это разделение сети порождает многие вопросы. Рассматривать здесь их подробно не имеет смысла, можно лишь обозначить некоторые из них. Например: когда и как должны возникать (создаваться) ТН? Могут ли уже образованные ТН являться «инициаторами» возникновения других ТН или все ТН должны появляться лишь по «инициативе» ВН (вследствие «делегирования» части своих способностей)? Что должно происходить с ТН в случае, когда некоторая часть ВН, в результате естественного отбора, погибает? И т.д., и т.п.

 

При анализе различных последовательностей событий можно разделить все последовательности на  два типа: монотонные и немонотонные. Такое деление, конечно, является достаточно условным, т.к. одна и та же последовательность может принадлежать одновременно  к двум типам последовательностей. Например: …..11100011110000……, или, если в качестве последовательностей событий рассматривать слова русского языка, то такими примерами могут быть слова «МАМА», «ПАПА» и т.п. Т.е. возникает проблема аналогичная той, о которой говорилось ранее. Напомню, что при создании алгоритма способного выделять повторяющиеся фрагменты п-ти событий  (немонотонных) возникает проблема неопределённости таких фрагментов, вернее,  неопределённости их границ.

Такой анализ последовательностей с учётом монотонности событий приводит к дальнейшему разделению функций нейронов и их связей внутри сети. Точнее говоря, это разделение происходит само, т.к. при анализе и запоминании монотонных последовательностей в сети появляются ВН, в качестве предков которых является всего один ВН (рис.С). Из-за этого при реализации алгоритма использующего две «квантовые» связи у родительского нейрона возникает проблема. Она заключается в том, что  в момент анализа события «Х» нейрон «х» будет всегда воссоздавать «квантовую» связь, идентичную уже имеющейся (ранее воссозданной) исходящей связи. Т.о. использование механизма двух «квантовых» связей для данного типа последовательностей является не эффективным. Решением этой проблемы является использование для этой цели «квантовых» состояний нейронов. Что означает возврат к единственной родительской связи в обоих случаях анализа для данного типа последовательностей события. Т.е. исходя из состояния (покоя или возбуждения) родительского нейрона и состояния потомка, значение единственной связи может меняться, но при этом сама связь является постоянной. Эту связь логично выделить также в специальный тип связей, по аналогии со связями типа ВН-ТН.  Т.о. появляется четвёртый тип связей ВН-ВН (рис.С(b) ). Теперь в сети имеются следующие типы постоянных связей: ВН-ТН, ТН-ТН, ТН-ВН, ВН-ВН. При этом также существуют «квантовые» связи, которые являются  пространственными, т.е. связями необходимыми для передачи информации сквозь пространство. Последний же тип связей является временны’м. Т.е. этот тип связей используются для передачи информации сквозь время (рис.D, prog/рис.70). 

В этом случае алгоритм анализа монотонной последовательности «ХХ» выглядит примерно Одним из каналов передачи информации внутри сети является время.следующим образом:

 

1.     Возникновение события «Х» приводит к возбуждению нейрона «х».

2.     Повторное событие «Х» приводит  к активации связи (разблокированию) «x-z» уже возбуждённого нейрона «х» и передачи возбуждения потомку «Z». Т.е. переводит «Z» в возбуждённое состояние. Что в свою очередь будет означать блокирование связи «x-z». Т.е. после передачи возбуждения, связь «x-z» вновь будет недоступна до тех пор, пока «Z» будет возбуждён. При этом нейрон «x» переходит в состояние покоя.

 

Анализ такого типа последовательностей приводит к возникновению или, вернее, к более активному проявлению недостатка «второго типа». Причина этого недостатка заключается в том же, в чём и недостатка «первого типа», а именно: при анализе текущего события необходимо анализировать и прошлые события, а состояния нейронов содержащих эти прошлые события к текущему моменту могут быть измены. Однако использование взаимодействия всех типов нейронов позволяет минимизировать и устранять полостью эти недостатки. Эти типы недостатков правильнее назвать конфликтами пространства и времени.

 

Что касается типов нейронов, то, как говорилось в начале этой статьи,  на текущий момент в данной сети существует три типа – два возбуждающих и один тормозящий. Под возбуждающими типами как раз имелись в виду нейроны, имеющие в своих ядрах различные типы информации о предках  Z(x,y)  и Z(x,x). Условно эти типы нейронов можно называть возбуждающими нейронами «мужского» и «женского» рода (типа).

Деление сети на сегменты.В результате выделения перечисленных типов нейронов и их связей, сеть в общем виде выглядит примерно таким образом, как показано на рис.Е. В подобной сети информация запоминается за счёт формирования нейронов, их связей и состояний. При этом лишь некоторая часть связей физически существует постоянно. Другая часть связей, а значит и информации, возникают (воссоздаются) в процессе анализа. Такие принципы учёта информации обусловлены задачей определения фрагментов повторяющихся событий. Если говорить точнее, то задачей распознавания образов и выявления причинно-следственных связей окружающего модель мира, учитывающей контекст происходящего при условии обучения этой искусственной модели «с нуля».

 

 

 

 

 

 

 

 

 

20.06.08    С.Тарасов.

Hosted by uCoz