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

       

"Схемотехнический" подход к построению нейросети "под задачу"


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

и конъюнкцию
.

Отрицание нам не понадобится, мы пока не рассматриваем тормозящие связи.

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


Рис. 3.2.  "Электронная" схема системы принятия решений

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

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

Именно здесь должна помочь нейросеть.

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

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

и конъюнкцию
.

Отрицание нам не понадобится, мы пока не рассматриваем тормозящие связи.

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


Рис. 3.2.  "Электронная" схема системы принятия решений

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

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

Именно здесь должна помочь нейросеть.

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


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

Выберем передаточную функцию произвольного (i-го) нейрона, с числом m входов-дендритов:



где ?(x) = x при x
0, 0 - в противном случае.

Здесь Vj, как всегда, - величина возбуждения (другого нейрона), поступающая на j-й вход.

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


Рис. 3.3.  Модель нейрона-конъюнктора

При обучении предполагается, что входные сигналы - булевы переменные, принимающие значения 0, 1. Положим ?ij = 1/m и выберем
< 1/m. Тогда для того, чтобы преодолеть порог, на всех входах должны быть "1"; недостаток хотя бы одной "1" приведет к тому, что взвешенная сумма будет более чем на 1/m меньше указанной суммы весов.

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

Нейрон-дизъюнктор реализуется, наоборот, при низком значении порога, но при высоких значениях весов. Порог выбирается так, чтобы уже при возбуждении на одном входе возникал сигнал возбуждения на выходе. При этом сигнал на выходе не превышает "1" (рис. 3.4).


Рис. 3.4.  Модель нейрона-дизъюнктора

Понятно, что при полной определенности в режиме обучения возбуждение поступает по единственному входу (нейрон реализует функцию "ИСКЛЮЧАЮЩЕЕ ИЛИ"). В условиях неопределенности предполагается, что нейрон имитирует выполнение функции "ИЛИ", допуская возбуждение более чем на одном входе.

Итак, поменяем тип данных и заменим нейронами все элементы на схеме рис. 3.2. Получим нейросеть на рис. 3.5, где нейроны-конъюнкторы заштрихованы.



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

Например, зададим "правильную" и абсолютно достоверную ситуацию В3 = 1, А1 = 1, С4 = 1 (Вася отправился к Регине, торгующей ямайским ромом). Легко проследить, что в первом такте возбудятся нейроны 1 и 6, реализующие дизъюнкцию. Величина их возбуждения равна "1". В следующем такте возбуждение нейронов 1, 6 и А1 приведет к возбуждению (с величиной, равной "1") нейронов 7 и 9, а в следующем такте - сигналы возбуждения нейронов 6 и 7 поступят на вход нейрона-конъюнктора Вых3. Никакой другой нейрон выходного слоя не возбудится.


Рис. 3.5.  Нейросеть с "конъюнкторами" и "дизъюнкторами"

Рассмотрим другую ситуацию, неопределенную и недостоверную.

Пусть то ли Вася, то ли Петя - "разведчик" не установил точно - направился то ли к Оксане, то ли к Аполлинарии, торгующим в этот день то ли тройным одеколоном, то ли золотым диском группы "Та-ра-рам".

Дядя Рамзай, по выданной нами инструкции, решает использовать интуитивные оценки веса или, на нашем языке, оценить достоверность каждой компоненты возникшей ситуации. Поскольку прогулки как Васи, так и Пети одинаково достоверны, то дядя Рамзай полагает величину возбуждения нейронов А1 и А2 равной 0,5 (VA1 = VA2 = 0,5). После долгих раздумий он по наитию полагает VB1 = 0,8, VB2 = 0,8, VC1 = 0,7, VC5 = 0,8.

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

Сдавая нейросеть "в эксплуатацию", мы установили веса всех конъюнкторов равными 0,5, а дизъюнкторов - равными 1. Пороги конъюнкторов определяются значением
= 0,4. Пороги дизъюнкторов имеют нулевое значение.




Рис. 3.6.  Расчет примера

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

В итоге ситуация скорее всего имеет решение R5, и уж никак не R4. Однако ситуация, соответствующая решению R1, требует внимания.

Пусть при вполне определенной ситуации (все достоверности принимают значение "1") каждое решение Ri приносит прибыль Mi. Тогда средняя величина ожидаемой прибыли для нашей неопределенной ситуации рассчитывается так:



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



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

Выберем передаточную функцию произвольного (i-го) нейрона, с числом m входов-дендритов:



где ?(x) = x при x
0, 0 - в противном случае.

Здесь Vj, как всегда, - величина возбуждения (другого нейрона), поступающая на j-й вход.

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


Рис. 3.3.  Модель нейрона-конъюнктора

При обучении предполагается, что входные сигналы - булевы переменные, принимающие значения 0, 1. Положим ?ij = 1/m и выберем
< 1/m. Тогда для того, чтобы преодолеть порог, на всех входах должны быть "1"; недостаток хотя бы одной "1" приведет к тому, что взвешенная сумма будет более чем на 1/m меньше указанной суммы весов.

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

Нейрон-дизъюнктор реализуется, наоборот, при низком значении порога, но при высоких значениях весов. Порог выбирается так, чтобы уже при возбуждении на одном входе возникал сигнал возбуждения на выходе. При этом сигнал на выходе не превышает "1" (рис. 3.4).


Рис. 3.4.  Модель нейрона-дизъюнктора

Понятно, что при полной определенности в режиме обучения возбуждение поступает по единственному входу (нейрон реализует функцию "ИСКЛЮЧАЮЩЕЕ ИЛИ"). В условиях неопределенности предполагается, что нейрон имитирует выполнение функции "ИЛИ", допуская возбуждение более чем на одном входе.

Итак, поменяем тип данных и заменим нейронами все элементы на схеме рис. 3.2. Получим нейросеть на рис. 3.5, где нейроны-конъюнкторы заштрихованы.



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

Например, зададим "правильную" и абсолютно достоверную ситуацию В3 = 1, А1 = 1, С4 = 1 (Вася отправился к Регине, торгующей ямайским ромом). Легко проследить, что в первом такте возбудятся нейроны 1 и 6, реализующие дизъюнкцию. Величина их возбуждения равна "1". В следующем такте возбуждение нейронов 1, 6 и А1 приведет к возбуждению (с величиной, равной "1") нейронов 7 и 9, а в следующем такте - сигналы возбуждения нейронов 6 и 7 поступят на вход нейрона-конъюнктора Вых3. Никакой другой нейрон выходного слоя не возбудится.


Рис. 3.5.  Нейросеть с "конъюнкторами" и "дизъюнкторами"

Рассмотрим другую ситуацию, неопределенную и недостоверную.

Пусть то ли Вася, то ли Петя - "разведчик" не установил точно - направился то ли к Оксане, то ли к Аполлинарии, торгующим в этот день то ли тройным одеколоном, то ли золотым диском группы "Та-ра-рам".

Дядя Рамзай, по выданной нами инструкции, решает использовать интуитивные оценки веса или, на нашем языке, оценить достоверность каждой компоненты возникшей ситуации. Поскольку прогулки как Васи, так и Пети одинаково достоверны, то дядя Рамзай полагает величину возбуждения нейронов А1 и А2 равной 0,5 (VA1 = VA2 = 0,5). После долгих раздумий он по наитию полагает VB1 = 0,8, VB2 = 0,8, VC1 = 0,7, VC5 = 0,8.

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

Сдавая нейросеть "в эксплуатацию", мы установили веса всех конъюнкторов равными 0,5, а дизъюнкторов - равными 1. Пороги конъюнкторов определяются значением
= 0,4. Пороги дизъюнкторов имеют нулевое значение.




Рис. 3.6.  Расчет примера

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

В итоге ситуация скорее всего имеет решение R5, и уж никак не R4. Однако ситуация, соответствующая решению R1, требует внимания.

Пусть при вполне определенной ситуации (все достоверности принимают значение "1") каждое решение Ri приносит прибыль Mi. Тогда средняя величина ожидаемой прибыли для нашей неопределенной ситуации рассчитывается так:



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


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