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

Формирование обученной нейросети на основе заданного множества нейроподобных элементов


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

Пусть задано множество нейронов X = {x1, …, xm} и логическое описание СПР в дистрибутивной форме1) По "логической" технологии, обоснованной ранее, необходимо сформировать связи между нейронами так, чтобы при единичных значениях достоверности, совпадающих с единичными булевыми значениями переменных, максимального возбуждения на выходном слое при данной передаточной функции достигал тот нейрон, который закреплен за решением, обусловленным единичным значением соответствующей ему логической функции.

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

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

(11.1)

Прежде всего из множества Х необходимо выделить нейроны входного – рецепторного – и выходного слоев. Исходя из этого, а также, задав количество необходимых и предполагаемых нейронов разного функционального назначения, закрепим и переобозначим нейроны: Х = {X1, …, X15, 1, …, 11, R1, …, R5}. Нейроны 1, …, 11 в будущих построениях исполнят роль нейронов скрытых слоев – скрытых нейронов.

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

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

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

R1. Таким образом, строка, соответствующая нейрону R1 выходного слоя, содержит единицы в столбцах, соответствующих нейронам 3 и 4.

Трассировка решения R1 закончена.

Анализируем логическое выражение

((X1 & X7 )& (X4 & X6 )) &(X2 & X12 & X14 )
R2 .

Строка матрицы S, сформированная по "скобке" (Х1&Х7), совпадает со строкой, соответствующей нейрону 1. Значит, можно "сэкономить", повторно использовав этот нейрон. Преобразуем запись:

(1& (X4 & X6 )) &(X2 & X12 & X14 )
R2 .

За следующей "скобкой" (Х4 &Х6) закрепим нейрон 5, сформировав для него строку матрицы S, и запись примет вид

(1& 5) &(X2& X12 & X14 )
R2 .

Продолжив ее обзор, получим новый вид записи (1 & 5) & 6
R2 , а затем 7 & 6
R2 . Сформированные при этом строки матрицы S показаны на рисунке. Аналогично анализируются другие логические выражения (11.1), что не вносит новых особенностей в неформально изложенный алгоритм.

Нейросеть, представленная матрицей следования S, близка к нейросети, показанной на рис. 10.2.



Пусть скрытые нейроны образуют ресурс – множество М свободных нейронов, первоначально M = {1, …, 11}.


Рис. 11.1.  Матрица следования после обучения нейросети

Организуем последовательный анализ выражений (11.1).

При просмотре первого выражения, анализируя открывающие и закрывающие скобки, найдем первую скобку самого высокого уровня вложенности. Она соответствует выражению (Х1 & Х7). Закрепим за ним первый свободный нейрон 1 из М, предположив тем самым, что он выполняет аналог операции, указанной в скобках. Сформируем уточненную строку матрицы следования S, соответствующую нейрону 1, записав веса связей, равные единице, в столбцы, соответствующие нейронам Х1 и Х7 .

Обозначим исследованную "скобку" именем нейрона 1 и перепишем логическое выражение:



Продолжим поиск "скобок" самого высокого уровня вложенности.

Находим "скобку" (Х3 & Х5). В общем случае такая "скобка" могла встретиться ранее, и за ней мог быть закреплен скрытый нейрон. В целях экономии нейронов сформируем уточненную строку матрицы следования, записав единицы в столбцах, соответствующих нейронам Х3 и Х5. Однако, прежде чем поместить строку на ее место, проверим, нет ли в S идентичной строки? В данном случае такой строки нет. Тогда соотнесем полученную строку с очередным свободным нейроном 2 и поместим ее в S.

Перепишем логическое выражение, заменив обработанную "скобку":

(1&2)&(Х10&Х13)
R1 .

Продолжая так же, закрепим нейрон 3 за "скобкой" (Х10&Х13) и сформируем соответствующую этому нейрону строку матрицы S. Запись логического выражения примет вид

(1&2)&3
R1 .

Следующий обзор этой записи приводит к замене "скобки" (1
2) именем нейрона 4 и к формированию строки матрицы следования, соответствующей этому нейрону. Эта строка содержит единицы в строках, соответствующих нейронам 1 и 2. Запись логического выражения примет вид

4 & 3
R1 .

Отсутствие скобок говорит о необходимости введения связей 4
R1



и 3
R1. Таким образом, строка, соответствующая нейрону R1 выходного слоя, содержит единицы в столбцах, соответствующих нейронам 3 и 4.

Трассировка решения R1 закончена.

Анализируем логическое выражение

((X1 & X7 )& (X4 & X6 )) &(X2 & X12 & X14 )
R2 .

Строка матрицы S, сформированная по "скобке" (Х1&Х7), совпадает со строкой, соответствующей нейрону 1. Значит, можно "сэкономить", повторно использовав этот нейрон. Преобразуем запись:

(1& (X4 & X6 )) &(X2 & X12 & X14 )
R2 .

За следующей "скобкой" (Х4 &Х6) закрепим нейрон 5, сформировав для него строку матрицы S, и запись примет вид

(1& 5) &(X2& X12 & X14 )
R2 .

Продолжив ее обзор, получим новый вид записи (1 & 5) & 6
R2 , а затем 7 & 6
R2 . Сформированные при этом строки матрицы S показаны на рисунке. Аналогично анализируются другие логические выражения (11.1), что не вносит новых особенностей в неформально изложенный алгоритм.

Нейросеть, представленная матрицей следования S, близка к нейросети, показанной на рис. 10.2.


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