Опубликован: 01.06.2007 | Уровень: специалист | Доступ: платный | ВУЗ: Московский государственный университет путей сообщения
Лекция 9:

Структурное обоснование логической нейронной сети

< Лекция 8 || Лекция 9: 12345 || Лекция 10 >

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

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

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

Каждая конъюнкция высказываний в записи логических функций (9.1), т.е. совокупность событий, определяет ситуацию. Ситуация является эталоном (эталонной ситуацией), если все составляющие ее события обладают достоверностью, равной единице. В логической схеме каждой конъюнкции соответствует вершина из множества {1, ..., 11}. В нейронной сети эти вершины обозначают нейроны промежуточного или скрытого слоя. Нейроны R1-R5 образуют выходной слой; их возбуждение указывает на принимаемое решение.

Как говорилось выше, нейроны рецепторного слоя возбуждаются пользователем, задающим предполагаемую вероятность (или другую оценку) соответствующего события. Остальные нейроны реализуют передаточную функцию таким образом, чтобы возбуждение нейронов-рецепторов распространялось по сети в соответствии со связями. А именно, если, например, на входе сформирован высокий уровень возбуждения нейронов Х1, Х4, Х7 по сравнению с возбуждением других нейронов-рецепторов, то большая величина возбуждения нейрона 2 должна обеспечить самое высокое возбуждение нейрона R2 среди всех нейронов R1-R5 выходного слоя.

Отметим, что таким образом мы пытаемся построить уже обученную нейросеть, где по всем эталонным ситуациям максимального возбуждения должны достигать те нейроны выходного слоя, которые ответственны за решения, соответствующие этим ситуациям. Таким образом, реализуется таблица, о которой говорилось выше. Если же с помощью достоверности событий задавать на входе ситуации, явно не существующие, то нельзя гарантировать правильный ответ. Например, если достоверность всех событий Х1 - Х7 положить равной единице, то столь же бессмысленно будет распределение возбуждения нейронов выходного слоя. Или, если предположить, что мятая бумажка является предъявленным билетом с достоверностью 0,1 (событие Х1 ), то полагать высоким значение достоверности события Х8 не следует, т.к. эта достоверность является условной вероятностью, и т.д.

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

9.3. Выбор передаточной функции

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

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

При выборе передаточной функции и порога h руководствуются следующими требованиями:

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

Практически, для логического решения задач, достаточно применять одну из следующих, например, используемых в [7], передаточных функций, определяющих величину V возбуждения нейрона в зависимости от величин Vi возбуждения связанных с ним нейронов, весов \omega _{ i} этих связей, а также порога h:

1. \begin{array}{l}
V= \xi \left (\sum_i \omega_i V_i – h\right),\\
\left (\xi (x)=\left\{ 
\begin{array}{ll} 
x, & \mbox{если}\: x \ge 0, \\
0, & \mbox{в противном случае}
\end{array}
\right
\right)
\end{array}

2. \begin{array}{l}
V:= \xi \left (\sum_i \omega_i V_i – h\right),\\
V:= if \: V> A\: then\: A \:else \:V
\end{array}

3. \begin{array}{l}
V:= \sum_i \omega_i V_i,\\
V:= if \: V> h\: then\: V \:else \:0
\end{array}

4. \begin{array}{l}
V:= \sum_i \omega_i V_i,\\
V:= if \: V \ge h \wedge V < 1 \: then\: V- h \:else \: if \:V \ge 1\: then \:1-h\: else 0
\end{array}

5. \begin{array}{l}
V:= \cfrac {1}{n}\sum_i \omega_i V_i,\\
V:= if \: V \ge h \: then\: V \:else \:0,\\
\mbox{где}\: n - \mbox{количество активных входов нейрона}
\end{array}

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

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

9.4. Анализ примера

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

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

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

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

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

Анализируя таблицу, видим, что даже при предъявлении эталонов сеть работает неправильно. По некоторым эталонам (столбцы 1, 2 и 8) она дает неоднозначный ответ.

Тем самым сеть демонстрирует "побочный эффект". Из-за наличия общих событий, составляющих разные ситуации, эти события определяют одинаковый исход даже в том случае, если другие события обеспечивают различие ситуаций. Так, конъюнкция Х_{1}\wedge Х_{7}, определившая вместе с событиями Х3 и Х5 правильное решение R1, дважды (нейроны 2 и 3 ) при использовании передаточной функции 3 участвуют в формировании возбуждения нейрона R2 (столбец 1). Аналогичный вывод следует из анализа столбца 8. Необходимо подавить "побочный эффект", снизив величину возбуждения нейронов, не участвующих в возбуждении "нужного" нейрона выходного слоя. (Столбец 2 пока обсуждать не будем.)

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

Таким образом, требуется корректировка параметров нейросети.

< Лекция 8 || Лекция 9: 12345 || Лекция 10 >
Эльвира Герейханова
Эльвира Герейханова

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

Елена Лобынцева
Елена Лобынцева
Помогите разобраться как можно подобрать НС для распознавания внутренней области выпуклого многоугольника?
Дмитрий Степанов
Дмитрий Степанов
Россия, Москва, МГТУ им. Баумана, 2006
Дмитрий Степаненко
Дмитрий Степаненко
Россия