Раньше это можно было зделать просто нажав на тест и посмотреть результаты а сейчас никак |
Корректировка параметров, дистрибутивные преобразования, однослойные и совершенные логические нейронные сети
"И одноглазый Грач сказал свое мнение:
– Беня говорит мало, но он говорит смачно. Он говорит мало, но хочется, чтобы он сказал еще что-нибудь".
10.1. Корректировка порогов
В "Основы нейросетевых технологий" показано, что при моделировании конъюнктора с помощью нейрона для того, чтобы этот нейрон приходил в возбужденное состояние только после прихода сигналов возбуждения от всех связанных с ним нейронов, необходимо задать ему высокое значение порога. Так, рассчитывая на максимальную единичную достоверность (аналог булевой единицы) высказываний, считаем, что нейрон 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 участвует в создании ситуаций и , приводящих к решениям R3 и R4 соответственно. То есть задание эталона Х8 = Х10 = 1 приводит в единичное возбуждение нейроны R1 и R3, а задание Х9 = Х10 = 1 порождает значения R1 = R4 = 1.
Исследуя пути исправления ошибки, приходим к выводу, что в основе обнаруженной коллизии лежит некорректное описание СПР, необнаруженное противоречие в задании на разработку. Еще на этапе составления логической схемы (рис. 9.15) мы могли обнаружить получение единичных сигналов не на единственном выходе.
Тогда вспоминаем, что бесплатный билет – проездной документ – предъявляется обязательно вместе с удостоверением работника МПС!
Дополним описание (9.1), уточнив логическое выражение для R1:
( 10.1) |
Появление новой конъюнкции высказываний приводит к увеличению числа нейронов промежуточного слоя (рис. 10.1), т.к. вместо связи X1 -> R1 вводится нейрон 12. Порог h12 = 1,4. Вес связи нейрона 12 с нейроном R1 принимает значение 0,5.
В табл. 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 |