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

Корректировка параметров, дистрибутивные преобразования, однослойные и совершенные логические нейронные сети

Разбить на страницы
Показывать лекцию целиком

"И одноглазый Грач сказал свое мнение:

– Беня говорит мало, но он говорит смачно. Он говорит мало, но хочется, чтобы он сказал еще что-нибудь".

10.1. Корректировка порогов

В лекции 2 показано, что при моделировании конъюнктора с помощью нейрона для того, чтобы этот нейрон приходил в возбужденное состояние только после прихода сигналов возбуждения от всех связанных с ним нейронов, необходимо задать ему высокое значение порога. Так, рассчитывая на максимальную единичную достоверность (аналог булевой единицы) высказываний, считаем, что нейрон 1 должен прийти в возбужденное состояние, если Х1 = Х3 = Х5 = Х7 = 1, т.е. предъявлен соответствующий эталон. Это возможно, если порог h1 превышает значение 3, равное уменьшенному на единицу числу возбуждаемых входов. Однако этот порог должен быть преодолен и в том случае (а это и является достоинством нейросети), если отдельные события, составляющие ситуацию, появляются с достоверностью, меньшей единицы. В этом случае необходимо так подобрать пороги для всех нейронов, прообразами которых являются конъюнкторы, чтобы "нужные" нейроны возбуждались, а "побочные эффекты" исключались.

Это требование приводит к важной исходной предпосылке создания нейросети, основанной на понятии существенности события.

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

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

В данном примере, дабы избежать побочного эффекта, необходимо, чтобы нейроны 2 и 3 не возбуждались при высоких значениях Х1 и Х7 в то время, когда высокое значение возбуждения имеют нейроны Х3 и Х5. Они должны возбуждаться при высоком значении возбуждения нейронов Х4 и Х6. Однако в этом случае нейрон 1 должен возбуждаться лишь при высоком уровне возбуждения нейронов Х3 и Х5.

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

Обозначим ni – количество активных входов нейрона i. Пусть hi = Hni, i = 1, ..., 11. Положим H = 0,7. Тогда (рис. 9.15) h1 = 2,8, h2 = h3 = h4 = 2,1, h5 = ... = h11 = 1,4.

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

Для ситуации 1 имеем V1 = 4 ( 4 > 2,8 ), V2 = V3 = 0 ( 2 < 2,1 ), V4 = ... = V11 = 0, R1 = 4, R2 = ... = R5 = 0.

Для ситуации 2 находим V1 = ... = V11 = 0, R1 = 1, R2 = ... = R5 = 0.

Для ситуации 3 имеем V1 = 0 ( 2 < 2,8 ), V2 = 3 ( 3 > 2,1 ), V3 = 0 ( 2 < 2,1 ), V4 = ... = V11 = 0, R1 = 0, R2 = 3, R3 = R4 = R5 = 0.

Ситуация 4: V1 = V2 = V3 = 0, V4 = 3 ( 3 > 2,1 ), V5 = ... = V11 = 0, R1 = 0, R2 = 3, R3 = R4 = R5 = 0.

Ситуация 5: V1 = ... = V5 = 0, V6 = 2 ( 2 > 1,4 ), V7 = V11 = 0, R1 = R2 = 0, R3 = 2, R4 = R5 = 0.

Для ситуации 8 имеем V1 = ... = V8 = 0, V9 = 2 ( 2 > 1,4 ), V10 = V11 = 0, R1 = R2 = R3 = 0, R4 = 2, R5 = 0.

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

10.2. Корректировка весов связей нейронов выходного

ДНФ наглядно демонстрирует смысл задачи, так как каждая конъюнкция, включая содержащую единственное высказывание, соответствует отдельной ситуации. Дизъюнкция таких конъюнкций определяет множество ситуаций, приводящих к одному решению. Отсюда, прообразами нейронов выходного слоя являются дизъюнкторы, реализующие операцию ИСКЛЮЧАЮЩЕЕ ИЛИ, т.е. предполагающие анализ не более чем одного единичного сигнала на входе.

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

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

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

Введем веса связей (входов) каждого нейрона выходного слоя, равные обратной величине уровня сигнала при предъявлении эталонной ситуации, поступающего на каждый вход. Этим мы добьемся принадлежности величин возбуждения нейронов выходного слоя диапазону [0, 1]. Этот диапазон будет реализован при "грамотном" задании достоверности событий на рецепторном входе.

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

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

Однако после корректировки весов, приведшей к одинаковому, единичному значению возбуждения нейронов выходного слоя в ответ на каждую эталонную ситуацию, вновь замечаем возникшую неоднозначность решения. А именно, высказывание Х10 образует эталонную ситуацию, приводящую к решению R1. В то же время Х10 участвует в создании ситуаций $$Х_{8} \wedge Х_{10}$$ и $$Х_{9} \wedge Х_{10}$$, приводящих к решениям R3 и R4 соответственно. То есть задание эталона Х8 = Х10 = 1 приводит в единичное возбуждение нейроны R1 и R3, а задание Х9 = Х10 = 1 порождает значения R1 = R4 = 1.

Исследуя пути исправления ошибки, приходим к выводу, что в основе обнаруженной коллизии лежит некорректное описание СПР, необнаруженное противоречие в задании на разработку. Еще на этапе составления логической схемы (рис. 9.15) мы могли обнаружить получение единичных сигналов не на единственном выходе.

Тогда вспоминаем, что бесплатный билет – проездной документ – предъявляется обязательно вместе с удостоверением работника МПС!

Дополним описание (9.1), уточнив логическое выражение для R1:

$$(X_{1}\wedge X_{3}\wedge X_{5}\wedge X_{7}) \vee (X_{10 }\wedge X_{13}) \to R_{1}$$

Появление новой конъюнкции высказываний приводит к увеличению числа нейронов промежуточного слоя (рис. 10.1), т.к. вместо связи X1 -> R1 вводится нейрон 12. Порог h12 = 1,4. Вес связи нейрона 12 с нейроном R1 принимает значение 0,5.

(рис 10.1) Нейросеть после уточнения логического описания

В табл. 10.1 представлены результаты расчета принимаемых решений по предъявленным эталонным ситуациям (для проверки правильности) и по ряду неопределенных ситуаций (столбцы 8-10). Анализ таблицы показывает, что решения, принятые нейросетью, вполне объяснимы. Это относится даже к неоднозначному решению (столбец 9).

Расчет принимаемых решений по уточненной нейросети после корректировки порогов и весов связей
Решение R1 R2 R2 R2 R3 R4 R5 R1 R4 R5 R2
Возбуждение нейронов выходного слоя R5 0 0 0 0 0 0 1 0 0,75 0
R4 0 0 0 0 0 1 0 0 0,75 0
R3 0 0 0 0 1 0 0 0 0 0
R2 0 1 1 1 0 0 0 0,77 0 0,83
R1 1 0 0 0 0 0 0 0,87 0 0
Возбуждение нейронов промежуточного слоя 12 0 0 0 0 0 0 0 0 0 0
11 0 0 0 0 0 0 2 0 1,5 0
10 0 0 0 0 0 0 0 0 0 0
9 0 0 0 0 0 0 0 0 1,5 0
8 0 0 0 0 0 0 0 0 0 0
7 0 0 0 0 0 2 0 0 0 0
6 0 0 0 0 2 0 0 0 0 0
5 0 0 0 0 0 0 0 0 0 0
4 0 0 0 3 0 0 0 0 0 2,5
3 0 0 3 0 0 0 0 2,3 0 0
2 0 3 0 0 0 0 0 0 0 0
1 4 0 0 0 0 0 0 3,1 0 0
Ситуация X15 0 0 0 0 0 0 0 0 0,6 0
X14 0 0 0 1 0 0 0 1 0 1
X13 0 0 0 0 0 0 1 0 0,6 0
X12 0 0 0 1 0 0 0 0 0 1
X11 0 0 0 0 0 0 0 1 0,4 0
X10 0 0 0 0 1 0 0 0,1 0 0
X9 0 0 0 0 0 1 0 0 0 0,3
X8 0 0 0 0 1 0 0 0,1 0 0,3
X7 1 1 1 0 0 0 0 0,9 0 0,3
X6 0 0 1 0 0 0 0 0,5 0 0,5
X5 1 0 0 0 0 0 0 0,5 0 0,5
X4 0 1 0 0 0 0 0 0,2 0 0,5
X3 1 0 0 0 0 0 0 0,8 0 0,5
X2 0 0 0 1 0 0 1 0,1 0,9 0,5
X1 1 1 1 0 0 1 0 0,9 0,1 0,5
1 2 3 4 5 6 7 8 9 10

10.3. Дистрибутивная форма логического описания системы принятия решений

Приведенные выше построения предполагали представление логических выражений, описывающих СПР, в ДНФ. Однако известно, что каждое логическое выражение на основе алгебры высказываний может быть представлено и в виде конъюнктивной нормальной формы (КНФ). Такая форма также приводит к достаточности не более чем двухслойной нейросети. Мы не будем приводить такое представление для анализируемого примера, усложнившее описание СПР, но не приведшее к новым интересным выводам, однако сделаем общее замечание о важности минимизации количества слоев нейронной сети.

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

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

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

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

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

Однако, требуя обязательного представления логических выражений, описывающих СПР, в дизъюнктивной нормальной форме, мы предполагаем скобочную запись, с открытыми относительно операции конъюнкции некоторыми потенциальными скобками. Это, например, приводит к тому, что в выражении (9.1), определяющем решение R2, дважды присутствует конъюнкция $$Х_{1} \wedge Х_{7}$$. В выражении, определяющем решение R3, дважды присутствует событие Х8 и т.д. При построении нейронной сети по логической схеме с использованием передаточной функции, суммирующей сигналы, это привело к неоднократному учету некоторых сигналов в качестве слагаемых. Так (см. табл. 9.1), расчет величины возбуждения нейрона R2 при предъявлении эталона 1 (по нему максимального возбуждения должен достичь нейрон R1 ) требует сложения величин возбуждения нейронов 2 и 3, каждая из которых формируется сложением сигналов Х1 и Х7. Это и привело к побочному эффекту, с которым пришлось бороться соответствующим повышением порогов.

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

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

$$\begin{array}{l} (x\vee z)\wedge (y\vee z) = z\vee (x\wedge y),\\ (x\wedge z)\vee (y\wedge z) = z\wedge (x\vee y) \end{array}$$

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

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

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

Упростим описание СПР, воспользовавшись операциями вынесения за скобки и выделения общих выражений:

$$\begin{array}{l} ((X_{1}\wedge X_{7})\wedge (X_{3}\wedge X_{5})) \vee (X_{10}\wedge X_{13}) \to R_{1},\\ ((X_{1}\wedge X_{7})\wedge (X_{4}\vee X_{6})) \vee (X_{2}\wedge X_{12}\wedge X_{14}) \to R_{2},\\ X_{8}\wedge (X_{1}\vee X_{10}) \to R_{3},\\ (Х_{9} \wedge (Х_{1}\vee Х_{10}))\vee (Х_{2}\wedge Х_{15}) \to R_{4},\\ Х_{2}\wedge (Х_{11}\vee _{}Х_{13}) \to R_{5}. \end{array}$$

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

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

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

Выберем ту же передаточную функцию 3 и проверим, необходима ли здесь коррекция порогов и весов связей. Предварительно отметим, что описание (10.2) затрудняет перебор эталонных ситуаций. Для удобства их формирования все же воспользуемся аналогичной системой (9.1)-(10.1). Выберем малое значение порога h = 0,3, "не мешающее" суммированию сигналов, и, исключая очевидные вычисления, проанализируем отображение эталонных ситуаций.

(рис 10.2) Дистрибутивная нейросеть

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

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

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

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

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

Составим табл. 10.2 на основе расчета ситуаций, отображенных в табл. 10.1, и проанализируем ее. По эталонам (представлены не все, остальные легко рассчитать) сеть работает правильно.

По столбцу 8 видим, что сеть высказалась за решение R2. Этому решению следует больше доверять, т.к. высокое значение порога ранее существенно уменьшало величину распространяемого сигнала. Значение возбуждения R2, превышающее единицу, следует отнести за счет некорректности вопроса: предъявление пенсионного удостоверения или удостоверения работника МПС должно оцениваться исходя из условной вероятности, а именно, при условии, что билет не предъявлен. Таким образом, исходные оценки, подаваемые на рецепторный слой, предполагают структуризацию вопросов.

Столбец 9 демонстрирует довлеющую роль пенсионного удостоверения или удостоверения работника МПС, несмотря на подозрение на взятку, что исключает неоднозначность решения в табл. 10.1.

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

Расчет решений по дистрибутивной нейросети
Решение R1 R2 R2 R2 R3 R4 R5 R2 R5 R2
Возбуждение нейронов выходного слоя R5 0 0 0 0,25 0 0 1 0,55 0,95 0,25
R4 0,5 0,5 0,5 0,5 0,5 1 0,5 0,55 0,8 0,65
R3 0,33 0,5 0,5 0 1 0,5 0 0,65 0,05 0,4
R2 0,67 1 1 1 0 0,33 0,33 1,2 0,33 1,43
R1 1 0,5 0,5 0 0,5 0,25 0,5 0,93 0,33 0,45
Возбуждение нейронов промежуточного слоя 11 1 1 1 0 1 2 0 1 0,1 0,8
10 2 3 3 0 0 1 0 2,5 0,1 1,8
9 4 2 2 0 0 1 0 3,1 0,1 1,8
8 0 0 0 0 0 0 1 1 1 0
7 0 0 0 1 0 0 1 0,1 1,5 0,5
6 0 0 0 0 1 0 1 0,1 0,6 0
5 1 1 1 0 1 1 0 1 0,1 0,5
4 0 0 0 3 0 0 1 1,1 0,9 2,5
3 0 1 1 0 0 0 0 0,7 0 1
2 2 0 0 0 0 0 0 1,3 0 1
1 2 2 2 0 0 1 0 1,8 0,1 0,8
Ситуация X15 0 0 0 0 0 0 0 0 0,6 0
X14 0 0 0 1 0 0 0 1 0 1
X13 0 0 0 0 0 0 1 0 0,6 0
X12 0 0 0 1 0 0 0 0 0 1
X11 0 0 0 0 0 0 0 1 0,4 0
X10 0 0 0 0 1 0 0 0,1 0 0
X9 0 0 0 0 0 1 0 0 0 0,3
X8 0 0 0 0 1 0 0 0,1 0 0,3
X7 1 1 1 0 0 0 0 0,9 0 0,3
X6 0 0 1 0 0 0 0 0,5 0 0,5
X5 1 0 0 0 0 0 0 0,5 0 0,5
X4 0 1 0 0 0 0 0 0,2 0 0,5
X3 1 0 0 0 0 0 0 0,8 0 0,5
X2 0 0 0 1 0 0 1 0,1 0,9 0,5
X1 1 1 1 0 0 1 0 0,9 0,1 0,5
1 2 3 4 5 6 7 8 9 10

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

10.4. Возможность применения однослойных нейросетей

Исследуем передаточную функцию 3 и использующую ее нейросеть на рис. 10.2. Анализируя прохождение сигнала по нейросети при предъявлении s -й эталонной ситуации, т.е. подавая на вход соответствующую комбинацию ns единиц, видим, что при единичных весах связей нейронов выходного слоя значение возбуждения нейрона, соответствующего решению, равно n s. Эта величина не зависит от пути прохождения возбуждения каждого рецептора, т.е. от того, сколько нейронов было на его пути. Сказывается свойство ассоциативности выбранной передаточной функции при малом значении порога. В этом случае свойство ассоциативности вырождается в свойство аддитивности, где функция от набора значений равна сумме функций от каждого значения.

Действительно, комбинация Х1 = Х3 = Х5 = Х7 = 1 приводит к величине возбуждения нейрона R1 , равной 4, значение Х10 = 1 приводит к единичному возбуждению того же нейрона, комбинация Х1 = Х6 = Х7 = 1 приводит к величине возбуждения нейрона R2 , равной 3, и т.д.

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

Итак, создавая нейросеть на основе логической схемы обработки высказываний, мы заменили операции $$\wedge$$ и $$\vee$$ единой операцией, выполняемой передаточной функцией. Обозначим эту операцию . С учетом ее ассоциативности, реализуемой нейронами "на пути" распространения сигнала возбуждения, представим описание (10.2) в виде, соответствующем действительному нейросетевому воплощению:

$$\begin{array}{l} X_{1}\ X_{3}\ X_{5}\ X_{7}\ X_{10}\ X_{13} \to R_{1},\\ X_{1}\ X_{2}\ X_{4}\ X_{6}\ X_{7}\ X_{12}\ X_{14} \to R_{2},\\ X_{1}\ X_{8}\ X_{10} \to R_{3},\\ Х_{1}\ Х_{2}\ Х_{9}\ Х_{10}\ Х_{15} \to R_{4},\\ Х_{2}\ Х_{11}\ Х_{13} \to R_{5}. \end{array}$$

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

Множество {X1 , X3 , X5 , X10 } является обобщенной ситуацией, аналогично – множество {X1 , X2 , X4 , X6 , X7 , X12 , X14 } и т.д.

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

По описанию (10.3) построим однослойную нейросеть (рис. 10.3, на веса пока не обращаем внимания) и проанализируем ее работу при ситуациях, отображенных в таблицах 10.1 и 10.2.

(рис 10.3) Однослойная нейросеть

Видим, что нейросеть в целом делает верные выводы. Взаимно-относительные оценки возбуждения нейронов выходного слоя правильно определяют ситуации, однако абсолютные значения возбуждения этих нейронов различны для различных ситуаций. Тогда, как и прежде, приведем их к отрезку [0, 1], скорректировав веса связей. Для воспроизведения структуры и взаимодействия высказываний и ситуаций придется обратиться к описанию (10.2). Определим по первой логической функции в (10.2), задающей решение R1, последнюю операцию. Это операция дизъюнкции.

Она делит множество нейронов обобщенной ситуации на два подмножества {X1, X3, X5, X7} и {X10, X13}. Закрепим предварительно за ними единичное значение весов связей.

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

Отдельно исследуем сформированные подмножества.

По первому из них находим последнюю выполняемую логическую операцию. Это операция конъюнкции, разбивающая подмножество на два меньших: {X1, X7} и {X3, X5}. Закрепим за каждым из них значение веса 0,5 (ранее найденную единицу делим поровну).

Вновь, начиная с первого, анализируем последовательность трех подмножеств. Последняя операция, производимая над элементами первого подмножества, является конъюнкцией. Она делит подмножество на два, каждое из которых содержит единственный элемент. Закрепляем за ними (окончательно, за соответствующими связями) значение веса 0,25, т.е. ранее найденное значение 0,5 делим поровну (рис. 10.3).

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

Рассмотрим следующую логическую функцию, приводящую к решению R2. Здесь последняя производимая операция – дизъюнкция. Она делит множество нейронов, составляющих обобщенную ситуацию, на два подмножества: {X1, X7, X4, X6} и {X2, X12, X14}. Присвоим им предварительно единичные веса связей.

Анализируя первое подмножество, находим последнюю логическую операцию – конъюнкцию, разделяющую его на два меньших подмножества {X1, X7} и {X4, X6}. Введенный ранее единичный вес делим поровну, принимая уточненные веса связей нейронов равными 0,5.

Вновь анализируем первое из сформированных множеств нейронов. Операция конъюнкции делит это подмножество на два, содержащие по одному элементу: {X1} и {X7}. Делим поровну найденный ранее вес, полагая веса соответствующих связей нейрона R2 равными 0,25.

Последней логической операцией, связывающей высказывания Х4 и Х6 второго подмножества, является дизъюнкция. Она окончательно сохраняет ранее определенный вес связей, равный 0,5.

Анализируя третье, последнее подмножество, видим, что в записи, объединяющей высказывания в (10.2), отсутствуют скобки. Это (хотя существует ранжирование логических операций при их выполнении) свидетельствует о том, что все высказывания объединяет одна операция. Так как это – конъюнкция, делим поровну предварительно найденный вес, полагая соответствующие веса связей равными 0,33.

Аналогично корректируем остальные веса связей.

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

В табл. 10.3 даны результаты расчета ситуаций, отображенных в табл. 10.1 и 10.2.

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

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

Расчет принимаемых решений по однослойной нейросети
Решение R1 R2 R2 R2 R3 R4 R5 R2 R5 R2
Возбуждение нейронов выходного слоя R5 0 0 0 0,5 0 0 1 0,55 0,95 0,25
R4 0,5 0,5 0,5 0,5 0,5 1 0,5 0,55 0,8 0,65
R3 0,5 0,5 0,5 0 1 0,5 0 0,55 0,05 0,4
R2 0,5 1 1 1 0 0,25 0,25 1,16 0,33 1,54
R1 1 0,5 0,5 0 0,5 0,25 0,5 0,78 0,33 0,45
Ситуация X15 0 0 0 0 0 0 0 0 0,6 0
X14 0 0 0 1 0 0 0 1 0 1
X13 0 0 0 0 0 0 1 0 0,6 0
X12 0 0 0 1 0 0 0 0 0 1
X11 0 0 0 0 0 0 0 1 0,4 0
X10 0 0 0 0 1 0 0 0,1 0 0
X9 0 0 0 0 0 1 0 0 0 0,3
X8 0 0 0 0 1 0 0 0,1 0 0,3
X7 1 1 1 0 0 0 0 0,9 0 0,3
X6 0 0 1 0 0 0 0 0,5 0 0,5
X5 1 0 0 0 0 0 0 0,5 0 0,5
X4 0 1 0 0 0 0 0 0,2 0 0,5
X3 1 0 0 0 0 0 0 0,8 0 0,5
X2 0 0 0 1 0 0 1 0,1 0,9 0,5
X1 1 1 1 0 0 1 0 0,9 0,1 0,5
1 2 3 4 5 6 7 8 9 10

Это означает, что, например, для ситуации 8 по обеим таблицам предпочтительным рядом принимаемых решений (по невозрастанию величин возбуждения нейронов) является последовательность R2, R1 R3, R4, R5. По ситуации 9 – R5, R4, R1, R2, R3. По ситуации 10 – R2, R4, R1, R3, R5.

Однако всегда ли можно так упростить задачу создания СПР, сведя ее к получению однослойной нейросети? В разделе 9.1 показано, что это не всегда возможно. Там приведена попытка воспроизведения логического описания СПР

$$\begin{array}{l} (A_{1}\wedge B_{1}) \vee (A_{2}\wedge B_{2}) \to R_{1};\\ (A_{1}\wedge B_{2}) \to R_{2};\\ (A_{2}\wedge B_{1}) \to R_{3} \end{array}$$

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

Однако дело не столь безнадежно. Рассмотрим обобщенные эталоны, определяющие каждое решение:

$$\begin{array}{l}\{A_{1}\ B_{1}\ A_{2}\ B_{2}\} \to R_{1};\\ \{A_{1}\ B_{2}\} \to R_{2}\\ \{A_{2}\ B_{1}\} \to R_{3} \end{array}$$

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

Изменим логическое описание, "размножив" одинаковые решения так, чтобы ни один обобщенный эталон не оказался включенным в другой. Для этого введем условно два одинаковых решения R11 = R12 = R1.

Представим систему (9.6) в виде

$$\begin{array}{l} A_{1}\wedge B_{1} \to R_{11};\\ A_{2}\wedge B_{2} \to R_{12};\\ A_{1}\wedge B_{2} \to R_{2};\\ A_{2}\wedge B_{1} \to R_{3}.\end{array}$$

Тогда окончательный вид нейросети (притом – однослойной ) представлен на рис. 10.4.

(рис 10.4) Нейросеть, построенная по описанию (10.6)

Легко видеть, что в ней отсутствует побочный эффект, т.е. корректировка порогов не требуется.

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

Так, если не была бы найдена логическая ошибка, в результате чего ситуация Х10 в (9.1) не сменилась ситуацией $$Х_{10} \wedge Х_{13}$$ в (10.1)-(10.2), обобщенные ситуации, ведущие к решениям R3 и R4, поглотили бы эту ситуацию. Это значит, что при задании эталона Х8 = Х10 = 1 единичное значение возбуждения получали бы нейроны R1 и R3. Аналогично, предъявление эталона Х9 = Х10 = 1 привело бы к единичному значению возбуждения нейронов R1 и R4.

10.5. Совершенные нейронные сети

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

При организации СПР это означает обязательный учет всех значений, состояний или возможностей использования каждого фактора. Например, множества {X1, X2}, {X7, X8, X9} – исчерпывающие множества высказываний о событиях. Однако фактор взятки не образует такого множества, как говорилось ранее, – из-за его недостаточной актуальности в формируемой СПР.

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

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

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

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

Привлекательность совершенных нейронных сетей заключается в их сводимости к однослойным (которыми они по своей природе и являются). Более того, при применении таких передаточных функций, как 1, 2, 3, 5, не требуется корректировка порогов. Вес всех связей (в однослойной нейросети ) одинаков и равен 1/n, где n – число используемых факторов.

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

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

Здесь уместен пример из лекции 3, а также модель, где действуют несколько строительных компаний, несколько субподрядных организаций и несколько заводов – изготовителей стройматериалов. В каждой ситуации обязательно представлены все участники: компания, субподрядная организация, завод-изготовитель.

Другим важным примером может служить рассматриваемая в лекции 12 система банковского мониторинга [28], в которой каждая ситуация предполагает обязательное вхождение оценок (по диапазонам изменения) всех факторов:

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

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

    10.6. Корректное задание исходных данных – условие правильности выводов нейросети

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

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

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

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

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

    На основе анализа ДЛВ можно получать рекомендуемые диапазоны задания достоверности некоторых высказываний. Например, вероятность Р(Х7) события Х7 (в билете указан текущий год) находится следующим образом:

    $$Р(Х_{7}) = Р_{0\: 1}(Р_{1\: 3}(Р_{3 \:5}Р_{5\:7} + Р_{3\: 6}Р_{6\:7}) + Р_{1\: 4}(Р_{4\: 5} Р_{5\: 7} + Р_{4\: 6}Р_{6\: 7})).$$

    Для грубой оценки можно считать все элементы даты (число, месяц, год) независимыми и одинаково подверженными искажению. Тогда Р1 3 = Р3 5 = Р4 5 = Р5 7 = Р6 7 = Р, Р1 4 = Р3 6 = Р4 6 = 1 – Р, а Р(Х7) = Р0 1Р.

    Если установлено, что в любом билете из-за неразборчивой печати каждый элемент даты обладает достоверностью Р = 0,9, и если, как в столбце 10 табл. 10.2, Х1 = 0,5, то с достаточной точностью можно задать Х3 = Х5 = Х7 = 0,45, Х4 = Х6 = 0,55, Х8 = Х9 = 0,5(1 – 0,45). Ветвь ДЛВ, обусловленная событием Х2, не может быть исследована в вероятностном аспекте, т.к., например, предъявление или непредъявление пенсионного удостоверения – свершаемые события, обладающие единичной достоверностью.

    (рис 10.5) Дерево логических возможностей

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

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

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

    Пример 1. Что делать, если пассажир предъявил проездные документы, но не предъявил удостоверение работника МПС? Сформулируем вопрос нейросети, задав эталон этой ситуации, т.е. положим Х10 = Х14 = 1 и исследуем реакцию дистрибутивной нейросети на рис. 10.2 и однослойной нейросети на рис. 10.3. В обоих случаях получаем R1 = 0,5, R2 = 0,33, R3 = R4 = 0,5, R5 = 0. Конечно, по данному эталону можно принять одно из рекомендуемых решений R1, R3, R4, тем более что по ситуации, не известной сети, мог максимально возбудиться единственный нейрон выходного слоя, как рассмотрено ниже.

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

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

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

    Повысим значение порогов передаточной функции, реализуемой нейронами выходного слоя, положив их, например, равными 0,7. Тогда обе нейросети не будут реагировать на ситуацию в примере 1. Дистрибутивная нейросеть на рис. 10.2 не реагирует также на предложенную в примере 2 эталонную ситуацию, т.к. величина возбуждения нейрона R2 составляла 0,66. Однако величина возбуждения этого нейрона в однослойной нейросети на рис. 10.3 составляла единицу, что требует дальнейшего повышения порога. Оно же может привести к ликвидации правильной реакции на предусмотренные ситуации. Ведь в столбце 9 табл. 10.2 максимальное возбуждение нейрона выходного слоя, обусловливающее адекватный вывод, составляет всего 0,95.

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

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

    Страницы:

    "И одноглазый Грач сказал свое мнение:

    – Беня говорит мало, но он говорит смачно. Он говорит мало, но хочется, чтобы он сказал еще что-нибудь".

    10.1. Корректировка порогов

    В лекции 2 показано, что при моделировании конъюнктора с помощью нейрона для того, чтобы этот нейрон приходил в возбужденное состояние только после прихода сигналов возбуждения от всех связанных с ним нейронов, необходимо задать ему высокое значение порога. Так, рассчитывая на максимальную единичную достоверность (аналог булевой единицы) высказываний, считаем, что нейрон 1 должен прийти в возбужденное состояние, если Х1 = Х3 = Х5 = Х7 = 1, т.е. предъявлен соответствующий эталон. Это возможно, если порог h1 превышает значение 3, равное уменьшенному на единицу числу возбуждаемых входов. Однако этот порог должен быть преодолен и в том случае (а это и является достоинством нейросети), если отдельные события, составляющие ситуацию, появляются с достоверностью, меньшей единицы. В этом случае необходимо так подобрать пороги для всех нейронов, прообразами которых являются конъюнкторы, чтобы "нужные" нейроны возбуждались, а "побочные эффекты" исключались.

    Это требование приводит к важной исходной предпосылке создания нейросети, основанной на понятии существенности события.

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

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

    В данном примере, дабы избежать побочного эффекта, необходимо, чтобы нейроны 2 и 3 не возбуждались при высоких значениях Х1 и Х7 в то время, когда высокое значение возбуждения имеют нейроны Х3 и Х5. Они должны возбуждаться при высоком значении возбуждения нейронов Х4 и Х6. Однако в этом случае нейрон 1 должен возбуждаться лишь при высоком уровне возбуждения нейронов Х3 и Х5.

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

    Обозначим ni – количество активных входов нейрона i. Пусть hi = Hni, i = 1, ..., 11. Положим H = 0,7. Тогда (рис. 9.15) h1 = 2,8, h2 = h3 = h4 = 2,1, h5 = ... = h11 = 1,4.

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

    Для ситуации 1 имеем V1 = 4 ( 4 > 2,8 ), V2 = V3 = 0 ( 2 < 2,1 ), V4 = ... = V11 = 0, R1 = 4, R2 = ... = R5 = 0.

    Для ситуации 2 находим V1 = ... = V11 = 0, R1 = 1, R2 = ... = R5 = 0.

    Для ситуации 3 имеем V1 = 0 ( 2 < 2,8 ), V2 = 3 ( 3 > 2,1 ), V3 = 0 ( 2 < 2,1 ), V4 = ... = V11 = 0, R1 = 0, R2 = 3, R3 = R4 = R5 = 0.

    Ситуация 4: V1 = V2 = V3 = 0, V4 = 3 ( 3 > 2,1 ), V5 = ... = V11 = 0, R1 = 0, R2 = 3, R3 = R4 = R5 = 0.

    Ситуация 5: V1 = ... = V5 = 0, V6 = 2 ( 2 > 1,4 ), V7 = V11 = 0, R1 = R2 = 0, R3 = 2, R4 = R5 = 0.

    Для ситуации 8 имеем V1 = ... = V8 = 0, V9 = 2 ( 2 > 1,4 ), V10 = V11 = 0, R1 = R2 = R3 = 0, R4 = 2, R5 = 0.

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

    10.2. Корректировка весов связей нейронов выходного

    ДНФ наглядно демонстрирует смысл задачи, так как каждая конъюнкция, включая содержащую единственное высказывание, соответствует отдельной ситуации. Дизъюнкция таких конъюнкций определяет множество ситуаций, приводящих к одному решению. Отсюда, прообразами нейронов выходного слоя являются дизъюнкторы, реализующие операцию ИСКЛЮЧАЮЩЕЕ ИЛИ, т.е. предполагающие анализ не более чем одного единичного сигнала на входе.

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

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

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

    Введем веса связей (входов) каждого нейрона выходного слоя, равные обратной величине уровня сигнала при предъявлении эталонной ситуации, поступающего на каждый вход. Этим мы добьемся принадлежности величин возбуждения нейронов выходного слоя диапазону [0, 1]. Этот диапазон будет реализован при "грамотном" задании достоверности событий на рецепторном входе.

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

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

    Однако после корректировки весов, приведшей к одинаковому, единичному значению возбуждения нейронов выходного слоя в ответ на каждую эталонную ситуацию, вновь замечаем возникшую неоднозначность решения. А именно, высказывание Х10 образует эталонную ситуацию, приводящую к решению R1. В то же время Х10 участвует в создании ситуаций $$Х_{8} \wedge Х_{10}$$ и $$Х_{9} \wedge Х_{10}$$, приводящих к решениям R3 и R4 соответственно. То есть задание эталона Х8 = Х10 = 1 приводит в единичное возбуждение нейроны R1 и R3, а задание Х9 = Х10 = 1 порождает значения R1 = R4 = 1.

    Исследуя пути исправления ошибки, приходим к выводу, что в основе обнаруженной коллизии лежит некорректное описание СПР, необнаруженное противоречие в задании на разработку. Еще на этапе составления логической схемы (рис. 9.15) мы могли обнаружить получение единичных сигналов не на единственном выходе.

    Тогда вспоминаем, что бесплатный билет – проездной документ – предъявляется обязательно вместе с удостоверением работника МПС!

    Дополним описание (9.1), уточнив логическое выражение для R1:

    $$(X_{1}\wedge X_{3}\wedge X_{5}\wedge X_{7}) \vee (X_{10 }\wedge X_{13}) \to R_{1}$$

    Появление новой конъюнкции высказываний приводит к увеличению числа нейронов промежуточного слоя (рис. 10.1), т.к. вместо связи X1 -> R1 вводится нейрон 12. Порог h12 = 1,4. Вес связи нейрона 12 с нейроном R1 принимает значение 0,5.

    (рис 10.1) Нейросеть после уточнения логического описания

    В табл. 10.1 представлены результаты расчета принимаемых решений по предъявленным эталонным ситуациям (для проверки правильности) и по ряду неопределенных ситуаций (столбцы 8-10). Анализ таблицы показывает, что решения, принятые нейросетью, вполне объяснимы. Это относится даже к неоднозначному решению (столбец 9).

    Расчет принимаемых решений по уточненной нейросети после корректировки порогов и весов связей
    Решение R1 R2 R2 R2 R3 R4 R5 R1 R4 R5 R2
    Возбуждение нейронов выходного слоя R5 0 0 0 0 0 0 1 0 0,75 0
    R4 0 0 0 0 0 1 0 0 0,75 0
    R3 0 0 0 0 1 0 0 0 0 0
    R2 0 1 1 1 0 0 0 0,77 0 0,83
    R1 1 0 0 0 0 0 0 0,87 0 0
    Возбуждение нейронов промежуточного слоя 12 0 0 0 0 0 0 0 0 0 0
    11 0 0 0 0 0 0 2 0 1,5 0
    10 0 0 0 0 0 0 0 0 0 0
    9 0 0 0 0 0 0 0 0 1,5 0
    8 0 0 0 0 0 0 0 0 0 0
    7 0 0 0 0 0 2 0 0 0 0
    6 0 0 0 0 2 0 0 0 0 0
    5 0 0 0 0 0 0 0 0 0 0
    4 0 0 0 3 0 0 0 0 0 2,5
    3 0 0 3 0 0 0 0 2,3 0 0
    2 0 3 0 0 0 0 0 0 0 0
    1 4 0 0 0 0 0 0 3,1 0 0
    Ситуация X15 0 0 0 0 0 0 0 0 0,6 0
    X14 0 0 0 1 0 0 0 1 0 1
    X13 0 0 0 0 0 0 1 0 0,6 0
    X12 0 0 0 1 0 0 0 0 0 1
    X11 0 0 0 0 0 0 0 1 0,4 0
    X10 0 0 0 0 1 0 0 0,1 0 0
    X9 0 0 0 0 0 1 0 0 0 0,3
    X8 0 0 0 0 1 0 0 0,1 0 0,3
    X7 1 1 1 0 0 0 0 0,9 0 0,3
    X6 0 0 1 0 0 0 0 0,5 0 0,5
    X5 1 0 0 0 0 0 0 0,5 0 0,5
    X4 0 1 0 0 0 0 0 0,2 0 0,5
    X3 1 0 0 0 0 0 0 0,8 0 0,5
    X2 0 0 0 1 0 0 1 0,1 0,9 0,5
    X1 1 1 1 0 0 1 0 0,9 0,1 0,5
    1 2 3 4 5 6 7 8 9 10

    10.3. Дистрибутивная форма логического описания системы принятия решений

    Приведенные выше построения предполагали представление логических выражений, описывающих СПР, в ДНФ. Однако известно, что каждое логическое выражение на основе алгебры высказываний может быть представлено и в виде конъюнктивной нормальной формы (КНФ). Такая форма также приводит к достаточности не более чем двухслойной нейросети. Мы не будем приводить такое представление для анализируемого примера, усложнившее описание СПР, но не приведшее к новым интересным выводам, однако сделаем общее замечание о важности минимизации количества слоев нейронной сети.

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

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

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

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

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

    Однако, требуя обязательного представления логических выражений, описывающих СПР, в дизъюнктивной нормальной форме, мы предполагаем скобочную запись, с открытыми относительно операции конъюнкции некоторыми потенциальными скобками. Это, например, приводит к тому, что в выражении (9.1), определяющем решение R2, дважды присутствует конъюнкция $$Х_{1} \wedge Х_{7}$$. В выражении, определяющем решение R3, дважды присутствует событие Х8 и т.д. При построении нейронной сети по логической схеме с использованием передаточной функции, суммирующей сигналы, это привело к неоднократному учету некоторых сигналов в качестве слагаемых. Так (см. табл. 9.1), расчет величины возбуждения нейрона R2 при предъявлении эталона 1 (по нему максимального возбуждения должен достичь нейрон R1 ) требует сложения величин возбуждения нейронов 2 и 3, каждая из которых формируется сложением сигналов Х1 и Х7. Это и привело к побочному эффекту, с которым пришлось бороться соответствующим повышением порогов.

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

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

    $$\begin{array}{l} (x\vee z)\wedge (y\vee z) = z\vee (x\wedge y),\\ (x\wedge z)\vee (y\wedge z) = z\wedge (x\vee y) \end{array}$$

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

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

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

    Упростим описание СПР, воспользовавшись операциями вынесения за скобки и выделения общих выражений:

    $$\begin{array}{l} ((X_{1}\wedge X_{7})\wedge (X_{3}\wedge X_{5})) \vee (X_{10}\wedge X_{13}) \to R_{1},\\ ((X_{1}\wedge X_{7})\wedge (X_{4}\vee X_{6})) \vee (X_{2}\wedge X_{12}\wedge X_{14}) \to R_{2},\\ X_{8}\wedge (X_{1}\vee X_{10}) \to R_{3},\\ (Х_{9} \wedge (Х_{1}\vee Х_{10}))\vee (Х_{2}\wedge Х_{15}) \to R_{4},\\ Х_{2}\wedge (Х_{11}\vee _{}Х_{13}) \to R_{5}. \end{array}$$

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

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

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

    Выберем ту же передаточную функцию 3 и проверим, необходима ли здесь коррекция порогов и весов связей. Предварительно отметим, что описание (10.2) затрудняет перебор эталонных ситуаций. Для удобства их формирования все же воспользуемся аналогичной системой (9.1)-(10.1). Выберем малое значение порога h = 0,3, "не мешающее" суммированию сигналов, и, исключая очевидные вычисления, проанализируем отображение эталонных ситуаций.

    (рис 10.2) Дистрибутивная нейросеть

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

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

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

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

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

    Составим табл. 10.2 на основе расчета ситуаций, отображенных в табл. 10.1, и проанализируем ее. По эталонам (представлены не все, остальные легко рассчитать) сеть работает правильно.

    По столбцу 8 видим, что сеть высказалась за решение R2. Этому решению следует больше доверять, т.к. высокое значение порога ранее существенно уменьшало величину распространяемого сигнала. Значение возбуждения R2, превышающее единицу, следует отнести за счет некорректности вопроса: предъявление пенсионного удостоверения или удостоверения работника МПС должно оцениваться исходя из условной вероятности, а именно, при условии, что билет не предъявлен. Таким образом, исходные оценки, подаваемые на рецепторный слой, предполагают структуризацию вопросов.

    Столбец 9 демонстрирует довлеющую роль пенсионного удостоверения или удостоверения работника МПС, несмотря на подозрение на взятку, что исключает неоднозначность решения в табл. 10.1.

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

    Расчет решений по дистрибутивной нейросети
    Решение R1 R2 R2 R2 R3 R4 R5 R2 R5 R2
    Возбуждение нейронов выходного слоя R5 0 0 0 0,25 0 0 1 0,55 0,95 0,25
    R4 0,5 0,5 0,5 0,5 0,5 1 0,5 0,55 0,8 0,65
    R3 0,33 0,5 0,5 0 1 0,5 0 0,65 0,05 0,4
    R2 0,67 1 1 1 0 0,33 0,33 1,2 0,33 1,43
    R1 1 0,5 0,5 0 0,5 0,25 0,5 0,93 0,33 0,45
    Возбуждение нейронов промежуточного слоя 11 1 1 1 0 1 2 0 1 0,1 0,8
    10 2 3 3 0 0 1 0 2,5 0,1 1,8
    9 4 2 2 0 0 1 0 3,1 0,1 1,8
    8 0 0 0 0 0 0 1 1 1 0
    7 0 0 0 1 0 0 1 0,1 1,5 0,5
    6 0 0 0 0 1 0 1 0,1 0,6 0
    5 1 1 1 0 1 1 0 1 0,1 0,5
    4 0 0 0 3 0 0 1 1,1 0,9 2,5
    3 0 1 1 0 0 0 0 0,7 0 1
    2 2 0 0 0 0 0 0 1,3 0 1
    1 2 2 2 0 0 1 0 1,8 0,1 0,8
    Ситуация X15 0 0 0 0 0 0 0 0 0,6 0
    X14 0 0 0 1 0 0 0 1 0 1
    X13 0 0 0 0 0 0 1 0 0,6 0
    X12 0 0 0 1 0 0 0 0 0 1
    X11 0 0 0 0 0 0 0 1 0,4 0
    X10 0 0 0 0 1 0 0 0,1 0 0
    X9 0 0 0 0 0 1 0 0 0 0,3
    X8 0 0 0 0 1 0 0 0,1 0 0,3
    X7 1 1 1 0 0 0 0 0,9 0 0,3
    X6 0 0 1 0 0 0 0 0,5 0 0,5
    X5 1 0 0 0 0 0 0 0,5 0 0,5
    X4 0 1 0 0 0 0 0 0,2 0 0,5
    X3 1 0 0 0 0 0 0 0,8 0 0,5
    X2 0 0 0 1 0 0 1 0,1 0,9 0,5
    X1 1 1 1 0 0 1 0 0,9 0,1 0,5
    1 2 3 4 5 6 7 8 9 10

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

    10.4. Возможность применения однослойных нейросетей

    Исследуем передаточную функцию 3 и использующую ее нейросеть на рис. 10.2. Анализируя прохождение сигнала по нейросети при предъявлении s -й эталонной ситуации, т.е. подавая на вход соответствующую комбинацию ns единиц, видим, что при единичных весах связей нейронов выходного слоя значение возбуждения нейрона, соответствующего решению, равно n s. Эта величина не зависит от пути прохождения возбуждения каждого рецептора, т.е. от того, сколько нейронов было на его пути. Сказывается свойство ассоциативности выбранной передаточной функции при малом значении порога. В этом случае свойство ассоциативности вырождается в свойство аддитивности, где функция от набора значений равна сумме функций от каждого значения.

    Действительно, комбинация Х1 = Х3 = Х5 = Х7 = 1 приводит к величине возбуждения нейрона R1 , равной 4, значение Х10 = 1 приводит к единичному возбуждению того же нейрона, комбинация Х1 = Х6 = Х7 = 1 приводит к величине возбуждения нейрона R2 , равной 3, и т.д.

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

    Итак, создавая нейросеть на основе логической схемы обработки высказываний, мы заменили операции $$\wedge$$ и $$\vee$$ единой операцией, выполняемой передаточной функцией. Обозначим эту операцию . С учетом ее ассоциативности, реализуемой нейронами "на пути" распространения сигнала возбуждения, представим описание (10.2) в виде, соответствующем действительному нейросетевому воплощению:

    $$\begin{array}{l} X_{1}\ X_{3}\ X_{5}\ X_{7}\ X_{10}\ X_{13} \to R_{1},\\ X_{1}\ X_{2}\ X_{4}\ X_{6}\ X_{7}\ X_{12}\ X_{14} \to R_{2},\\ X_{1}\ X_{8}\ X_{10} \to R_{3},\\ Х_{1}\ Х_{2}\ Х_{9}\ Х_{10}\ Х_{15} \to R_{4},\\ Х_{2}\ Х_{11}\ Х_{13} \to R_{5}. \end{array}$$

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

    Множество {X1 , X3 , X5 , X10 } является обобщенной ситуацией, аналогично – множество {X1 , X2 , X4 , X6 , X7 , X12 , X14 } и т.д.

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

    По описанию (10.3) построим однослойную нейросеть (рис. 10.3, на веса пока не обращаем внимания) и проанализируем ее работу при ситуациях, отображенных в таблицах 10.1 и 10.2.

    (рис 10.3) Однослойная нейросеть

    Видим, что нейросеть в целом делает верные выводы. Взаимно-относительные оценки возбуждения нейронов выходного слоя правильно определяют ситуации, однако абсолютные значения возбуждения этих нейронов различны для различных ситуаций. Тогда, как и прежде, приведем их к отрезку [0, 1], скорректировав веса связей. Для воспроизведения структуры и взаимодействия высказываний и ситуаций придется обратиться к описанию (10.2). Определим по первой логической функции в (10.2), задающей решение R1, последнюю операцию. Это операция дизъюнкции.

    Она делит множество нейронов обобщенной ситуации на два подмножества {X1, X3, X5, X7} и {X10, X13}. Закрепим предварительно за ними единичное значение весов связей.

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

    Отдельно исследуем сформированные подмножества.

    По первому из них находим последнюю выполняемую логическую операцию. Это операция конъюнкции, разбивающая подмножество на два меньших: {X1, X7} и {X3, X5}. Закрепим за каждым из них значение веса 0,5 (ранее найденную единицу делим поровну).

    Вновь, начиная с первого, анализируем последовательность трех подмножеств. Последняя операция, производимая над элементами первого подмножества, является конъюнкцией. Она делит подмножество на два, каждое из которых содержит единственный элемент. Закрепляем за ними (окончательно, за соответствующими связями) значение веса 0,25, т.е. ранее найденное значение 0,5 делим поровну (рис. 10.3).

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

    Рассмотрим следующую логическую функцию, приводящую к решению R2. Здесь последняя производимая операция – дизъюнкция. Она делит множество нейронов, составляющих обобщенную ситуацию, на два подмножества: {X1, X7, X4, X6} и {X2, X12, X14}. Присвоим им предварительно единичные веса связей.

    Анализируя первое подмножество, находим последнюю логическую операцию – конъюнкцию, разделяющую его на два меньших подмножества {X1, X7} и {X4, X6}. Введенный ранее единичный вес делим поровну, принимая уточненные веса связей нейронов равными 0,5.

    Вновь анализируем первое из сформированных множеств нейронов. Операция конъюнкции делит это подмножество на два, содержащие по одному элементу: {X1} и {X7}. Делим поровну найденный ранее вес, полагая веса соответствующих связей нейрона R2 равными 0,25.

    Последней логической операцией, связывающей высказывания Х4 и Х6 второго подмножества, является дизъюнкция. Она окончательно сохраняет ранее определенный вес связей, равный 0,5.

    Анализируя третье, последнее подмножество, видим, что в записи, объединяющей высказывания в (10.2), отсутствуют скобки. Это (хотя существует ранжирование логических операций при их выполнении) свидетельствует о том, что все высказывания объединяет одна операция. Так как это – конъюнкция, делим поровну предварительно найденный вес, полагая соответствующие веса связей равными 0,33.

    Аналогично корректируем остальные веса связей.

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

    В табл. 10.3 даны результаты расчета ситуаций, отображенных в табл. 10.1 и 10.2.

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

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

    Расчет принимаемых решений по однослойной нейросети
    Решение R1 R2 R2 R2 R3 R4 R5 R2 R5 R2
    Возбуждение нейронов выходного слоя R5 0 0 0 0,5 0 0 1 0,55 0,95 0,25
    R4 0,5 0,5 0,5 0,5 0,5 1 0,5 0,55 0,8 0,65
    R3 0,5 0,5 0,5 0 1 0,5 0 0,55 0,05 0,4
    R2 0,5 1 1 1 0 0,25 0,25 1,16 0,33 1,54
    R1 1 0,5 0,5 0 0,5 0,25 0,5 0,78 0,33 0,45
    Ситуация X15 0 0 0 0 0 0 0 0 0,6 0
    X14 0 0 0 1 0 0 0 1 0 1
    X13 0 0 0 0 0 0 1 0 0,6 0
    X12 0 0 0 1 0 0 0 0 0 1
    X11 0 0 0 0 0 0 0 1 0,4 0
    X10 0 0 0 0 1 0 0 0,1 0 0
    X9 0 0 0 0 0 1 0 0 0 0,3
    X8 0 0 0 0 1 0 0 0,1 0 0,3
    X7 1 1 1 0 0 0 0 0,9 0 0,3
    X6 0 0 1 0 0 0 0 0,5 0 0,5
    X5 1 0 0 0 0 0 0 0,5 0 0,5
    X4 0 1 0 0 0 0 0 0,2 0 0,5
    X3 1 0 0 0 0 0 0 0,8 0 0,5
    X2 0 0 0 1 0 0 1 0,1 0,9 0,5
    X1 1 1 1 0 0 1 0 0,9 0,1 0,5
    1 2 3 4 5 6 7 8 9 10

    Это означает, что, например, для ситуации 8 по обеим таблицам предпочтительным рядом принимаемых решений (по невозрастанию величин возбуждения нейронов) является последовательность R2, R1 R3, R4, R5. По ситуации 9 – R5, R4, R1, R2, R3. По ситуации 10 – R2, R4, R1, R3, R5.

    Однако всегда ли можно так упростить задачу создания СПР, сведя ее к получению однослойной нейросети? В разделе 9.1 показано, что это не всегда возможно. Там приведена попытка воспроизведения логического описания СПР

    $$\begin{array}{l} (A_{1}\wedge B_{1}) \vee (A_{2}\wedge B_{2}) \to R_{1};\\ (A_{1}\wedge B_{2}) \to R_{2};\\ (A_{2}\wedge B_{1}) \to R_{3} \end{array}$$

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

    Однако дело не столь безнадежно. Рассмотрим обобщенные эталоны, определяющие каждое решение:

    $$\begin{array}{l}\{A_{1}\ B_{1}\ A_{2}\ B_{2}\} \to R_{1};\\ \{A_{1}\ B_{2}\} \to R_{2}\\ \{A_{2}\ B_{1}\} \to R_{3} \end{array}$$

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

    Изменим логическое описание, "размножив" одинаковые решения так, чтобы ни один обобщенный эталон не оказался включенным в другой. Для этого введем условно два одинаковых решения R11 = R12 = R1.

    Представим систему (9.6) в виде

    $$\begin{array}{l} A_{1}\wedge B_{1} \to R_{11};\\ A_{2}\wedge B_{2} \to R_{12};\\ A_{1}\wedge B_{2} \to R_{2};\\ A_{2}\wedge B_{1} \to R_{3}.\end{array}$$

    Тогда окончательный вид нейросети (притом – однослойной ) представлен на рис. 10.4.

    (рис 10.4) Нейросеть, построенная по описанию (10.6)

    Легко видеть, что в ней отсутствует побочный эффект, т.е. корректировка порогов не требуется.

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

    Так, если не была бы найдена логическая ошибка, в результате чего ситуация Х10 в (9.1) не сменилась ситуацией $$Х_{10} \wedge Х_{13}$$ в (10.1)-(10.2), обобщенные ситуации, ведущие к решениям R3 и R4, поглотили бы эту ситуацию. Это значит, что при задании эталона Х8 = Х10 = 1 единичное значение возбуждения получали бы нейроны R1 и R3. Аналогично, предъявление эталона Х9 = Х10 = 1 привело бы к единичному значению возбуждения нейронов R1 и R4.

    10.5. Совершенные нейронные сети

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

    При организации СПР это означает обязательный учет всех значений, состояний или возможностей использования каждого фактора. Например, множества {X1, X2}, {X7, X8, X9} – исчерпывающие множества высказываний о событиях. Однако фактор взятки не образует такого множества, как говорилось ранее, – из-за его недостаточной актуальности в формируемой СПР.

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

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

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

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

    Привлекательность совершенных нейронных сетей заключается в их сводимости к однослойным (которыми они по своей природе и являются). Более того, при применении таких передаточных функций, как 1, 2, 3, 5, не требуется корректировка порогов. Вес всех связей (в однослойной нейросети ) одинаков и равен 1/n, где n – число используемых факторов.

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

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

    Здесь уместен пример из лекции 3, а также модель, где действуют несколько строительных компаний, несколько субподрядных организаций и несколько заводов – изготовителей стройматериалов. В каждой ситуации обязательно представлены все участники: компания, субподрядная организация, завод-изготовитель.

    Другим важным примером может служить рассматриваемая в лекции 12 система банковского мониторинга [28], в которой каждая ситуация предполагает обязательное вхождение оценок (по диапазонам изменения) всех факторов:

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

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

    10.6. Корректное задание исходных данных – условие правильности выводов нейросети

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

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

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

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

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

    На основе анализа ДЛВ можно получать рекомендуемые диапазоны задания достоверности некоторых высказываний. Например, вероятность Р(Х7) события Х7 (в билете указан текущий год) находится следующим образом:

    $$Р(Х_{7}) = Р_{0\: 1}(Р_{1\: 3}(Р_{3 \:5}Р_{5\:7} + Р_{3\: 6}Р_{6\:7}) + Р_{1\: 4}(Р_{4\: 5} Р_{5\: 7} + Р_{4\: 6}Р_{6\: 7})).$$

    Для грубой оценки можно считать все элементы даты (число, месяц, год) независимыми и одинаково подверженными искажению. Тогда Р1 3 = Р3 5 = Р4 5 = Р5 7 = Р6 7 = Р, Р1 4 = Р3 6 = Р4 6 = 1 – Р, а Р(Х7) = Р0 1Р.

    Если установлено, что в любом билете из-за неразборчивой печати каждый элемент даты обладает достоверностью Р = 0,9, и если, как в столбце 10 табл. 10.2, Х1 = 0,5, то с достаточной точностью можно задать Х3 = Х5 = Х7 = 0,45, Х4 = Х6 = 0,55, Х8 = Х9 = 0,5(1 – 0,45). Ветвь ДЛВ, обусловленная событием Х2, не может быть исследована в вероятностном аспекте, т.к., например, предъявление или непредъявление пенсионного удостоверения – свершаемые события, обладающие единичной достоверностью.

    (рис 10.5) Дерево логических возможностей

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

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

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

    Пример 1. Что делать, если пассажир предъявил проездные документы, но не предъявил удостоверение работника МПС? Сформулируем вопрос нейросети, задав эталон этой ситуации, т.е. положим Х10 = Х14 = 1 и исследуем реакцию дистрибутивной нейросети на рис. 10.2 и однослойной нейросети на рис. 10.3. В обоих случаях получаем R1 = 0,5, R2 = 0,33, R3 = R4 = 0,5, R5 = 0. Конечно, по данному эталону можно принять одно из рекомендуемых решений R1, R3, R4, тем более что по ситуации, не известной сети, мог максимально возбудиться единственный нейрон выходного слоя, как рассмотрено ниже.

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

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

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

    Повысим значение порогов передаточной функции, реализуемой нейронами выходного слоя, положив их, например, равными 0,7. Тогда обе нейросети не будут реагировать на ситуацию в примере 1. Дистрибутивная нейросеть на рис. 10.2 не реагирует также на предложенную в примере 2 эталонную ситуацию, т.к. величина возбуждения нейрона R2 составляла 0,66. Однако величина возбуждения этого нейрона в однослойной нейросети на рис. 10.3 составляла единицу, что требует дальнейшего повышения порога. Оно же может привести к ликвидации правильной реакции на предусмотренные ситуации. Ведь в столбце 9 табл. 10.2 максимальное возбуждение нейрона выходного слоя, обусловливающее адекватный вывод, составляет всего 0,95.

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

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

    Вернуться к учебному плану