2.9 Рекомендации

Испытывая различные структуры нейросети и пытаясь произвести обучение рассматриваемой задаче, мы, в частности, много усилий затратили на одну нейросеть. Выяснилось, что

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

В результате предпочтительнее оказалась регулярная структура сети, принудительное навязывание структуры и контроль взаимодействия ее элементов.

Другой важный вывод касается порочности излишней «экономии» при формировании нейросети.

Почему мы эвристически решали столь трудную комбинаторную задачу согласно рекомендациям, без всякого конструктивного алгоритма?

Наверное, из-за отсутствия должной избыточности. Умышленно создавая головоломку, мы теснились на маленькой сети с ограниченными связями. Таковы ли условия в живой природе, где складывающиеся связи помимо запоминания удовлетворяют требованиям устойчивости, надежности, дублирования — резервирования и хд.? Здесь уж либо жалеть и экономить, рискуя оказаться перед неразрешимостью задачи вообще, либо щедро и самым простым способом, по возможности независимо, прокладывать цепочки возбуждений от каждого нейрона входного слоя к каждому «заинтересованному» нейрону выходного слоя. Нет, ясность мышления основана на достаточности и даже избыточности мыслительной субстанции.

Снимем некоторые ограничения и рассмотрим другую типовую нейросеть. На рис. 2.14 тем же методом трассировки опорных путей показано возможное решение задачи. Здесь входной и первый внутренний слои сети связаны почти по принципу «каждый с каждым», что и позволило сформировать основные конструкции — термы, на основе комбинаций которых затем продолжается создание нужных путей возбуждения.

Все построения ведутся на основе рекурсивного подхода: сначала мы имеем термы самого низкого уровня — на входном слое, на их базе получаем конструктивные единицы первого уровня, их комбинируем в термы более высокого уровня и т.д. Конечно, это

самое конструктивное решение (мышление). Ведь термы могут формироваться в коре для многократного и многоцелевого использования, так сказать, впрок.

Но возможен и другой, более «щедрый» путь: «тянуть» цепочки «сильных» возбуждений от нейронов входного слоя к нейронам выходного слоя, избегая пересечений.

Пропагандируемая нами случайно-регулярная структура связей не должна зависеть от «слоистости» сети: связи «через слой» значительно упрощают пути возбуждения нейронов.

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

Оптимальное число слоев нейросети или максимальная длина статической цепочки (если принцип «слоистости» не актуален) совпадаетсмаксималънойдлинойлогическойцепочкиваналогичной электронной схеме,реализующей систему булевых функций зависи- мостивыходныхсигналов—аналогов возбуждениянейронов выход - ногослояотвходныхсигналов—аналогов возбуждениярецепторов.

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

Однако дело в том, что любая булева функция представима дизъюнктивной нормальной формой, т.е. дизъюнкцией известных специалисту в области математической логики и схемотехники конъюнкций. Значит, соответствующая электронная схема состоит из логических цепочек, длина которых равна двум. При построении таких схем условно выделяют два уровня: на первом уровне формируются конъюнкции на основе комбинаций булевых переменных и их отрицаний, а на втором уровне — ихдизъюнк- ция.

Таким образом, при использовании «схемотехнического» подхода для построении обученных нейросетей в самом общем случае мы можем довольствоваться не более чем двухслойными нейросетями.

Действительно, в нашем примере каждое событие, требующее определенного решения, интерпретируется как конъюнкция элементарных событий (например, Ai /fsiflarfe ё) д о х о д ч и в о й форме соответствует логической операции И. Комбинация событий, приводящих к одному решению, соответствует объединению дизъюнкции событий (например, к решению R1 приводит дизъюнкция событий аіавіасі ѵ Аі?лВЫС2 АІлВІлСЪ ѵ Аі АЙЬчбЗ^отвЛсч^гчСй^г и ч ес к о й операции ИЛИ.

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

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

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

Неужели достаточно иметьдело с одно- и двухслойными нейросетями? Над этой проблемой советуем читателю подумать самостоятельно, обратив внимание на переход от схемы на рис. 2.1, преобразующей булевы переменные, к идентичной структуре нейронной сети на рис. 2.6, обрабатывающей действительные переменные.

2^q Нейросетевые технологии и нейрокомпьютеры

Итак, располагая знаниями о данных на входе управляющей системы и реакциях на каждую ситуацию, получаем таблицу. В одном столбце, так называемом запросном поле, — вектор-ситуа- ция, в другом, ответном поле, — принимаемое решение. Такая идея ситуационного управления высказана Д.А. Поспеловым [15, 16] еще в 1970-х годах.

Для ее воплощения можно использовать технологии построения ассоциативной памяти, столь широко используемой в современных вычислительных системах. Если между ситуациями ввести операции отношения, то можно построить операции вида «найти ближайшую величину слева (справа)», «найти ближайшие включающие границы» и т.д. Идея ассоциативной ЭВМ давно реализована, например, в STARAN [17] в 1977 г.

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

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

Получается, что мозг не может непосредственно хранить таблицы, а моделирует их с помощью нейросетевых механизмов. Исходные предложения, например, Кохонена [13] по применению нейросетей касались именно ассоциативной памяти.

Очевидно, такая реализация не очень удобна, поэтому следует определять области разумного применения каждого средства решения задач искусственного интеллекта.

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

Значит, в нашей жизнедеятельности существует такая ниша, где решение должно быть сверхоперативным, скорее рефлекторным, не допускающим анализа, чему и способствует высокий параллелизм сети. Именно высокий параллелизм наряду с исключением сложных расчетов обусловил взрыв интереса [7] к системам искусственного интеллекта в начале 1980-х годов, когда остро встала задача разработки вычислительных средств сверхвысокой производительности.

Здесь мы вновь затронули вопрос актуальности аппаратной реализации нейросети или нейрокомпьютеров [1, 2], так как программная модель на непараллельном компьютере лишена свойства высокого параллелизма мозга и ограничивает выход на «большие» нейросети.

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

Тогда при разработке параллельного вычислительного устройства - нейрокомпьютера, способного имитировать работу нейросети высокой производительности, следует учесть нижеперечисленное:

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

•    одинаковые для всех процессоров программы одновременно обрабатываемых нейронов в общем случае должны выполняться по разным ветвям.

При программной реализации нейросети перечисленные требования соответствуют SPMD-технологии («одна программа — много потоков данных») [18 — 20], привлекательность которой обоснована для многих приложений параллельного решения задач высокой сложности.

Привлекательна реализация «большой» нейросети на основе сетевых технологий.

При аппаратной реализации НК (или его аппаратной поддержке) также необходимо учесть требование: один нейроподобный элемент должен делить время между имитацией многих нейронов. Жесткая аппаратная имитация нейросети, соответствующая связи «один нейроподобный элемент — один нейрон», неэффективна, так как ограничивает возможную размерность моделируемой сети.

При применении сетевых технологий в рамках построения более сложных управляющих систем целесообразно использовать НК как сопроцессор под управлением мощного и универсального компьютера — монитора [21], что обусловлено разнообразными функциями «учителя» по формированию, заданию и регулировке параметров, по обучению и дальнейшему применению результатов. В рамках сегодняшних компьютерных технологий НК должен дополнять персональный компьютер (рабочую станцию) как его внешнее устройство и встраиваться в существующие ОС.

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

Почему же средства искусственного интеллекта, опирающиеся далеко не только на одни нейросети, не были первоначально заданы Природой, а явились плодом человеческого гения?

Да просто мозг — конструктивно целесообразен, развиваем, универсален и самодостаточен. С его помощью еще не то можно построить!

Приведем пример колеса: какова должна быть длина нерва, чувствующего обод колеса? Весьма велика. Значит, колесо должно быть отделено от живого существа. И потому человек как существо разумное колесо может сделать сам.

Обобщением «схемотехнического» подхода является подход к построению нейросетей с позиций алгебры высказываний. Логическое описание системы управления или принятия решений, в терминах алгебры высказываний, — «один в один», в результате формирования логической схемы ложится в основу нейронной сети. Остается заменить булевы переменные действительными (достоверная или другие оценки), а операции конъюнкции и дизъюнкции — единой операцией, осуществляемой передаточной функцией нейрона. Конечно, такая замена не столь безболезненна. Необходимы несложные преобразования логического описания, атакже настройка порогов и весов связей, чтобы избежать неоднозначности выдаваемых решений.

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