Главная arrow Робототехника arrow Семантические нейронные сети
Как начинался компьютер
Компьютерная революция
Двоичный код
Разработки военных лет
Интегральные микросхемы
Микрокомпьютер
Персоны
Сеть
Язык компьютера
Развитие ПО
Гибкие системы
Средства разработки
Информатика
Вычислительная наука
Операционные системы
Искусственный интеллект
Предыстория
Поиск
Знания и рассуждения
Логика
Робототехника
 

 
Семантические нейронные сети Печать

Разработка программных систем, существующих в виртуальной реальности, отличается от разработок, результатом которых должны стать изделия, существующие в физической реальности. При разработке программного обеспечения стоимость полученного продукта определяется расходом следующих  ресурсов: 1 - памятью необходимой для выполнения разработанной программной системы, 2 - производительностью программной системы и 3 - затратами на разработку этой системы. Как показывает существующая практика разработки программных систем, самый дорогостоящий ресурс - это затраты на разработку. Особенно велики затраты на первых этапах решения «безнадежных» задач. В этом случае не ясна даже возможность решения поставленной задачи «в принципе». К «безнадежным» можно отнести и проблему создания искусственного интеллекта. Проблема интеллекта существует с древних времен, а проблема искусственного интеллекта с середины двадцатого века. Можно смело говорить, что в обозримом будущем проблема интеллекта не перестанет быть проблемой. Поэтому не стоит отбрасывать даже незначительную возможность преодоления кризиса, возникшего в исследовании разумного поведения. Следует рассматривать все гипотезы, которые могут помочь сделать шаг на пути познания загадки разума и сознания.

В процессе создания системы искусственного интеллекта можно затратить время на разработку действующего прототипа, даже если такой прототип будет использовать неоптимальные технические решения. После постройки действующего прототипа станет возможно провести оптимизацию и получить промышленное решение. В связи с этим в данной работе применяется метод, альтернативный принципу бритвы Оккама. Метод не будет предполагать ограничение количества сущностей. Наоборот, такие сущности будут вводиться при любом удобном случае. Будет иметь значение только одно - возможно ли в итоге извлечь из легиона таких лишних сущностей нечто прагматическое. Возникает вопрос об оправданности такого метода разработки. В отличие от физической реальности, в информационной реальности такой подход вполне оправдан. Действительно, будут ли лишние сущности ухудшать ситуацию? Свобода мышления разработчика от психологических табу стоит того, чтоб отказаться от бритвы Оккама, хотя бы на первых этапах. Свобода от табу придаст комфорт разработчику, что может значительно снизить затраты, или пусть окольным путем, но благодаря применению неординарных идей, привести к работоспособному прототипу.

Мы рассматриваем вычислительную систему. Система искусственного интеллекта будет существовать в виртуальной реальности. И это не будет физическая реальность, в которой существует человек. Реальность, в которой будет существовать искусственный интеллект, имеет право быть любой, как бесконечно сложнее физической реальности, так и бесконечно проще ее. Принципы построения (законы) действующие в виртуальной реальности могут походить на законы естественной реальности в весьма малом объеме. Нам не обязательно делать искусственный интеллект по образу и подобию естественного интеллекта. Мы вправе создавать любую виртуальную реальность с любыми свойствами. Мы можем неограниченно погружать одни уровни виртуальных реальностей в другие, пересекать либо нарушать разделяющие их границы. Главное - обеспечить возможность моделирования полученного абстрактного решения на существующей в нашей физической реальности вычислительной технике. Возникает вопрос об отношении к таким методам разработки. Допустим, что в виртуальной реальности уже построен действующий прототип системы искусственного интеллекта. Этот прототип основан на законах действующих в виртуальном мире и не основан на законах обычного физического мира. Возникает вопрос: может ли устройство этой системы осветить устройство интеллекта естественного? Будет ли это интеллектом? Устройство интеллекта искусственного может и не соответствовать устройству интеллекта естественного. Аналогия может раскрыть только общие принципы, которым подчиняются подобные системы. Реальность естественного интеллекта может оказаться как гораздо сложнее и грандиознее, так и гораздо примитивнее искусственного интеллекта разработанного на основе нестрогой методологии. Следовательно, даже если на основе данной работы в некотором будущем будет создан действующий прототип, то его устройство никак нельзя считать претендующим на корректное соответствие устройству интеллекта естественного.

Искусственные нейронные сети

Часто, когда речь идет об искусственных нейронных сетях, имеются в виду сети персептронного типа. В этом случае нейрон состоит из синапсов, умножающих входные сигналы на свой вес, сумматора и активационной функции. Из множества таких нейронов создается некоторая топология, обычно нейроны группируются в многослойную структуру. Затем, полученная сеть обучается одним из алгоритмов обучения, например алгоритмом обратного распространения ошибки. Структура сети полностью задается разработчиком. Количество нейронов или связей не изменяется. Конечно, это описание упрощенной картины искусственной нейронной сети персептронного типа, однако для дальнейшего хода рассуждений такого представления будет вполне достаточно.

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

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

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

  • Нейрон представляет некоторое достаточно простое устройство по переработке входных сигналов. В оригинале были использованы логические функции конъюнкции, дизъюнкции и инверсии.
  • Нейрон может динамически изменять выполняемую функцию. Один и тот же нейрон в разное время может выполнять разные функции. В один момент времени - только одну из возможных функций.
  • Нейрон может динамически менять соединения с другими нейронами.
  • Одна часть нейронной сети может анализировать состояние другой части сети.
  • Одна часть сети может изменять топологию другой части нейронной сети.

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

Одна часть нейронной сети может использовать другую часть нейронной сети в качестве банка памяти, динамически подсоединяясь к отдельным нейронам-ячейкам, считывая их состояние или изменяя это состояние. Интересна аналогия, которую можно провести между молекулой ДНК и лентой в таком автомате. Более того, одна часть нейронной сети может выпустить «конструирующий рукав» и собрать из отдельных нейронов устройство, выполняющее некоторые функции. При этом память, расположенная в «ленте» используется как ДНК, на основе которой конструируется некоторый участок нейронной сети.

Семантические нейронные сети

Рассмотрим семантические нейронные сети и те следствия, которые возникают в процессе применения идей фон Неймана к этим сетям. Постулируем возможность разработать такую виртуальную реальность, которая была бы наиболее интересна нам, как ее пользователям. В сети фон Неймана существуют ограничения на топологию связей - постулируем отсутствие таких ограничений. Обрабатываются только логические значения – постулируем обработку нечетких значений. Все нейроны в сети фон Неймана синхронизируются тактами. Для возможности использования самосинхронной схемотехники постулируем наличие синхронизированных и не синхронизированных нейронов.

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

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

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

Теперь необходимо осмыслить, что есть такой указатель. Указатель на нейрон представляет собой виртуальную связь, которая не реализована в виде дендрита или аксона. Пусть в сконструированной виртуальной реальности, нейроны будут взаимодействовать друг с другом не только посредством передачи сигналов через аксоны-дендриты, но и с помощью паранормальных эффектов. Итак, нейрон будет иметь сигнальные входы, сигнальные выходы и набор виртуальных связей с другими нейронами. Нейрон будет иметь возможность взаимодействовать с другими нейронами, владея их указателями, но, не имея с ними сигнальных связей. Так же очевидно отличие между указателями и сигнальными связями. Сигнальные связи являются двухсторонними структурными образованьями связанными как с источником, так и с приемником сигнала. Указатель же односторонен. Владелец идентификатора некоторого нейрона в состоянии инициировать взаимодействие с этим нейроном. Определить наличие указателя на некоторый нейрон технически невозможно без проведения поиска такого указателя. Связи, проявленные в виде аксонов и дендритов можно рассматривать как долговременную память системы, инвариантную к контексту. Сигналы и указатели, обрабатываемые нейронами - как сверхоперативную информацию, зависящую от текущего контекста. Потеря сигналов или указателей (по аналогии с эпилептическим припадком) не должна повлиять на проявленную структуру и привести к изменениям в долговременной памяти или личности.

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

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

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

В качестве нейронов рецепторов можно постулировать нейроны, определяющие наличие или отсутствие нейронов определенных типов связанных с некоторым нейроном; или нейроны, определяющие наличие связи между заданными нейронами или наличие или отсутствие связи определенного типа у некоторого нейрона. В случае удовлетворения условия, нейрон рецептор принимает возбужденное состояние, в обратном случае – пассивное. В качестве нейронов – эффекторов можно постулировать нейроны, связывающие два нейрона некоторой связью, нейроны создающие другие нейроны, эффекторы, уничтожающие нейроны или связи. Если уровень возбуждения превысит некоторый порог, то нейрон эффектор выполнит свою функцию.

В системе был проведен эксперимент по синтезу структуры нейронной сети на основе внешнего задания средствами самой нейронной сети. В виртуальной машине, выполняющей семантическую нейронную сеть, была реализована поддержка следующих типов нейронов связанных с самоприменимостью:

  • Нейрон линковщик - Связывает два нейрона сигнальной (реальной) связью, на которые указывают виртуальные указатели.
  • Нейрон копировщик - Копирует виртуальную связь из одного нейрона в другой нейрон.
  • Нейрон репликатор - заставляет делиться нейрон, на который указывает его первая виртуальная связь. сохраняет виртуальную связь с новым нейроном во второй виртуальной связи.
  • Нейрон поглотитель нейрона - уничтожает нейрон, на который указывает виртуальная связь
  • Нейрон поглотитель связи - уничтожает сигнальную связь между двумя нейронами, на которые указывают виртуальные связи.
  • Нейрон хранитель указателя - хранит указатель на некоторый нейрон, аналогичен обычной ячейке памяти компьютера.

Рассмотрим возможность восстановления семантической нейронной сети после повреждений. Очевидно, что структура нейронной сети определяет индивидуальность интеллекта. Смерть нейрона означает забывание соответствующей ему информации. Восстановить информацию о наличии некоторого нейрона про розового слона без знания того, что система имеет знание об этом слоне, невозможно. Если мы постулируем, что наличие нейрона означает наличие знания о слоне, то отсутствие нейрона означает отсутствие этого знания. Уничтожение нейрона уничтожило знание. Уничтожение нейрона означает необратимое забывание. Следовательно, регенерация нейронной ткани по заданному в ДНК образцу представляется невозможной. Чтобы восстановить поврежденный нейрон необходимо заново обучится той же информации.

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

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

Повреждения центральной нервной системы могут быть устранены во время повторного обучения. Если нейрон-розовый-слон будет уничтожен, то система забудет о таком слоне. Когда же в поле рецепторов попадет некоторый розовый слон, то будет создан новый нейрон в любом другом месте нейронной сети, связанный с соседями так, чтобы отражать новое понятие.

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