Московский государственный университет путей сообщения
Опубликован: 01.06.2007 | Доступ: свободный | Студентов: 1903 / 101 | Оценка: 4.38 / 3.75 | Длительность: 22:59:00
ISBN: 978-5-9556-0094-9
Специальности: Программист
Лекция 9:

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

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

Теперь поэкспериментируем.

Задавая события по принципу "да - нет", "1 - 0", мы предполагали булевский тип исходных данных. А что, если поменять, обобщить тип исходных данных, допустив рассмотрение значений, интерпретируемых как достоверность? Или даже каких-то других взаимных оценок, которые используются часто в быту людьми, не сведущими в теории вероятности и не знакомых с понятием "полное множество событий"?

Например, в результате искажения информации начальник станции Кукуевка принял решение считать скорость пырловского паровоза равной не то 60, не то 80 км/ч. Но скорее всего - 60! И подойдя к компьютеру, он по наитию набирает: А1 = 1, В1 = 0,7, В2 = 0,4. На какую ситуацию это указывает, и какое решение наиболее правильно? Считаем:

\begin{array}{lll}
V_{R1}: & 1 \div 0,7 - 1 = 0,7, &V_{R1} = 0,7;\\
V_{R2}:  &1 \div 0,4 - 1 = 0,4, &V_{R2} = 0,4;\\
V_{R3}:  &0 \div 0,7 - 1 = -0,3, &V_{R3} = 0;\\
V_{R4}:  &0 \div 0,4 - 1 = -0,6, &V_{R4} = 0.
\end{array}

Мы видим, что максимальной величины возбуждения достиг нейрон R1, определивший главное решение. Но мы вправе учесть и решение R2 с меньшим приоритетом, дав даме с платочком дополнительные указания. И в этом проявится наша мудрость. По известной формуле мы можем оценить математическое ожидание того, на сколько облегчится карман начальника Кукуевской станции:

M=\frac{M1\cdot 0,7 +M2\cdot 0,4 +M3 \cdot 0+ M4 \cdot 0}{0,7+0,4+0+0}

Мы очень просто сформировали уже обученную нейросеть. Однако критический взгляд читателя замечает явные "проколы" и выражает недоумение. Ведь ранее мы говорили о большем! Что ж, подойдем к этому постепенно \dots

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

Непригодность однослойной нейросети

Рис. 9.3. Непригодность однослойной нейросети

Легко видеть, что решение R1 максимально возбуждается всегда, когда мы задаем ситуацию, требующую той же величины максимального возбуждения только лишь нейронов R2 и R3. Сеть как бы дает "побочный эффект". Необходим дополнительный инструктаж пользователя. Он заключается в том, что если максимально и одинаково возбудились два нейрона выходного слоя и один из них R1, то "верить" надо второму. Если максимально возбудился только нейрон R1, то он и выдает правильное решение.

В данном случае произошла коллизия при огульной замене операций конъюнкции \wedge и дизъюнкции \vee одной операцией &. Ведь логический предикат возбуждения решения R1 выглядит как

(A1\wedge B1)\vee (A2\wedge B2) \to R1

Именно это и наводит на предположение (гипотезу) о минимальной длине статической цепочки, которая рассматривается в "Математическая логика событий" . По-видимому, нейросеть будет работать правильно, если ее структура полностью воспроизведет структуру указанного логического выражения. Но для этого нейросеть должна быть двухслойной! Более того, глубокий анализ показывает, что обобщенный эталон А1, А2, В1, В2, приводящий к одному решению ( R1 ), поглотил обобщенные эталоны (например, А1, В2 ), приводящие к другому решению. О какой же однозначности выводов можно говорить!

Тогда легко восстановить справедливость, построив (обученную!) нейросеть так, как показано на рис. 9.4, введя в рассмотрение т.н. "скрытые" нейроны 1 и 2.

"Правильная" обученная нейросеть

Рис. 9.4. "Правильная" обученная нейросеть

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

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

V= \xi \left ( \sum_i \omega_i V_i – h \right) ,

где Vi - величины возбуждения тех нейронов, аксоны которых связаны с дендритами данного нейрона, i - индекс использованного дендрита, \omega _{i} - вес синапсической связи.

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

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

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

Итак, по сошедшему вдохновению мы нарисовали некоторый ориентированный ациклический граф (рис. 9.5) и намерены вложить в него смысл нейросети, поставив в соответствие его вершинам-нейронам (кроме предполагаемых рецепторов) все ту же передаточную функцию.

Нейросеть, предложенная для обучения

Рис. 9.5. Нейросеть, предложенная для обучения

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

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

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

Елена Лобынцева
Елена Лобынцева
Помогите разобраться как можно подобрать НС для распознавания внутренней области выпуклого многоугольника?