Логические нейронные сети

Алгоритм трассировки нейросети по описанию системы принятия решений в дистрибутивной форме


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

Следует напомнить предпосылки настоящего алгоритма, отличающие его от упомянутого.

  1. Логическое описание СПР состоит из структурированных выражений, использующих скобки. Создаваемые нейросетевые подструктуры, объединенные связями с единичными весами, должны отображать порядок вложенности этих скобок. Это усложняет алгоритм трассировки вводом ограничений на длину статической цепочки возбуждения или на предельный слой нейронов при формировании подструктур нейросети – "скобок" в логической записи.
  2. Дистрибутивная форма записи логических выражений обеспечивает единственность вхождения переменных, что значительно упрощает создание подструктур нейросети.

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

Алгоритм.

  1. Подготовительные действия.

    • Используя сквозную нумерацию нейронов, разобьем весь диапазон номеров скрытых нейронов на множества по их принадлежности одному слою, если заданная сеть "слоистая", или по одинаковым максимальным длинам статических цепочек возбуждения (что для удобства также условно отнесем к одному слою). Таким образом, с учетом нейронов выходного слоя, будет установлен ранг r (в частности, число слоев) нейросети.
    • Найдем максимальное значение s уровня вложенности скобочных выражений ("скобок") в дистрибутивном описании СПР.

    Заданную для трассировки-обучения нейросеть следует считать корректной, если выполняется соотношение s

    r.

  2. Строим матрицу следования S, отображающую заданную нейросеть.
    Переходим к выполнению п. 14.
  3. Если этот нейрон не принадлежит предельному слою, меняем найденные нули на единицы (присваиваем связям единичный вес). Переходим к выполнению п. 14.
  4. Если в выделенных столбцах не найдена строка с единицами и нулями, находим первый из представленных в Si нейрон предельного слоя и по всем позициям выделенных столбцов записываем единицы. То есть вводим дополнительные связи с единичными весами.
  5. Отображаем введенные изменения в матрице S. Количество введенных единиц указываем в признаке m модифицированной строки, если она не соответствует нейрону выходного слоя.
  6. В записи исследуемого выражения меняем использованные нейроны (или всю "скобку"), передавшие возбуждение нейрону со скорректированными связями, на имя этого нейрона. Из матрицы Si исключаем соответствующие этим нейронам, отображенным в "скобке", строки и столбцы. Переходим к выполнению п. 6.


Описание алгоритма закончено.

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

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

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



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

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

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

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

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

Анализ примеров позволяет с уверенностью говорить о высокой актуальности СПР, реализуемых с помощью однослойных и совершенных нейросетей, что значительно облегчает решение задачи трассировки-обучения.



Элемент этой матрицы на пересечении строки
и столбца ? пуст, если в заданной нейросети отсутствует синапсическая связь ?
. Если такая связь существует, этот элемент имеет значение 0 – первоначально заданного веса синапсической связи. (В процессе трассировки некоторые веса приобретают единичное значение.) Каждую строку матрицы S, соответствующую скрытому нейрону, сопроводим признаком m
, который указывает число единиц, введенных в процессе трассировки.
  • Организуем перебор записей всех выражений i = 1, …, P из описания вида (11.1). Для каждой записи выполняем пп. 4-15. Если запись исчерпана, трассировка i-го решения заканчивается. По исчерпании записей всех выражений трассировка нейросети заканчивается.
  • Фиксируем первоначальную запись i-го выражения и строим матрицу следования Si исключением из матрицы S строк и столбцов, которые соответствуют переменным, не входящим в запись, а также всем решениям, кроме Ri.
  • В матрице Si последовательно, сверху вниз, вычеркиваем строки (и соответствующие столбцы) которые содержат число ранее введенных единиц, меньшее значения m, указанного при строке.
  • Организуем просмотр выделенной записи и находим очередное внутрискобочное выражение ("скобку") самого высокого уровня вложенности. Если "скобок" больше нет, трассировка решения закончена, выполняем п. 3.
  • Ставим в соответствие уровню s* вложенности скобки множество нейронов слоя r – s* + 1, который является предельным для формирования терма – нейрона, реализующего (концентрирующего в себе возбуждение) данную "скобку".
  • Выделяем множество столбцов матрицы Si, которые соответствуют нейронам, образующим "скобку".
  • В совокупности выделенных столбцов находим строку, во всех позициях которой стоят единицы. Если такая строка найдена, переходим к выполнению п. 15.
  • В совокупности выделенных столбцов находим первую строку, в пределах, допустимых для данной "скобки", содержащую максимальное число нулей.
  • Если нейрон, соответствующий найденной строке, принадлежит предельному для данной "скобки" слою, записываем единицы (возможно, введя дополнительные связи с единичными весами) во все позиции, соответствующие выделенным столбцам.




    Переходим к выполнению п. 14.
  • Если этот нейрон не принадлежит предельному слою, меняем найденные нули на единицы (присваиваем связям единичный вес). Переходим к выполнению п. 14.
  • Если в выделенных столбцах не найдена строка с единицами и нулями, находим первый из представленных в Si нейрон предельного слоя и по всем позициям выделенных столбцов записываем единицы. То есть вводим дополнительные связи с единичными весами.
  • Отображаем введенные изменения в матрице S. Количество введенных единиц указываем в признаке m модифицированной строки, если она не соответствует нейрону выходного слоя.
  • В записи исследуемого выражения меняем использованные нейроны (или всю "скобку"), передавшие возбуждение нейрону со скорректированными связями, на имя этого нейрона. Из матрицы Si исключаем соответствующие этим нейронам, отображенным в "скобке", строки и столбцы. Переходим к выполнению п. 6.


  • Описание алгоритма закончено.

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

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

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



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

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

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

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

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

    Анализ примеров позволяет с уверенностью говорить о высокой актуальности СПР, реализуемых с помощью однослойных и совершенных нейросетей, что значительно облегчает решение задачи трассировки-обучения.

      1)

      Напоминаем, что здесь не рассматриваются обратные связи

    © 2003-2007 INTUIT.ru. Все права защищены.

    Содержание раздела