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

Построение обученных логических нейронных сетей

Построение обученной нейронной сети "Железнодорожная рулетка"

Рассмотрим увлекательную детскую игру "железнодорожную рулетку", основанную на так хорошо знакомой Вам задаче о встрече. Помните: "Из пунктов А и В навстречу друг другу…" и т.д.?

 Железнодорожная рулетка

Рис. 2.5. Железнодорожная рулетка

Начальник станции Кукуевка (старший) и начальник станции Пырловка одновременно выпускают навстречу друг другу два паровоза (рис.2.5) со скоростью либо 60, либо 80 км/час. Длина перегона составляет 4 км. Небольшой нюанс заключается в том, что пути перегона то сходятся в один, на протяжении одного километра, то расходятся. И тогда, в зависимости от точки встречи, со станции Кукуевка надо выслать на соответствующий километр либо линейного - даму с приветственным платочком, либо линейного с подстилочной соломкой.

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

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

 Система принятия решений

Рис. 2.6. Система принятия решений

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

Ситуация 1. Кукуевский паровоз имеет скорость 60 км/ч (Событие А1). Пырловский паровоз имеет скорость 60 км/ч (Событие В1). Одновременное выполнение этих событий обозначим А1&В1. Тогда точка встречи находится как раз посредине перегона, что, скорее всего, требует помощи линейного с соломкой. Но возможно и везение за счет неточного определения скоростей. Тогда на всякий случай потребуется дама с платочком. Принимаемое решение, заключающееся в отправлении обоих линейных на границу второго и третьего километров, назовем решением R1. С ним связаны расходы на единовременное пособие М1.

Ситуация 2. Кукуевский паровоз имеет скорость 60 км/ч (Событие А1), но пырловский паровоз имеет скорость 80 км/ч (Событие В2). (Выполняется условие А1&В2.) Тогда их точка встречи находится на втором километре пути, и, следовательно, требует решения R2: "Отправить даму с платочком на второй километр!" В активе указанной дамы появляется сумма М2 условных единиц.

Ситуация 3. Кукуевский паровоз имеет скорость 80 км/ч (Событие А2), пырловский паровоз имеет скорость 60 км/ч (Событие В1). (Выполняется условие А2&В1.) Тогда их точка встречи находится на третьем километре пути, что требует сочувственного вмешательства линейного с соломкой (решение R3), с оплатой труда в М3 условных единиц.

Ситуация 4. Кукуевский и пырловский паровозы имеют скорость 80 км/ч (Событие А2&В2), что, ввиду высокой скорости перемещения линейных в середину перегона, требует решения R4 с затратами М4.

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

Представим себе, что на месте каждого овала (потом — кружочка, на рис.2.6 справа) действует нейроподобный элемент (просто нейрон). Нейроны входного слоярецепторы приходят в возбужденное состояние (подобно сетчатке глаза) в соответствии с той ситуацией, которую мы задаем на входе системы. Например, мы хотим испытать ситуацию А1&В2. Тогда мы полагаем величины возбуждения нейронов А1 и В2 равными единице и записываем: VA1 = VB2 = 1. При этом мы не забываем позаботиться о том, чтобы величины возбуждений нейронов А2 и В1 остались равными нулю.

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

V=\sum \limits_iV_i-h,
где i — индекс нейрона, "передающего" свое возбуждение данному нейрону, h — порог.

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

Положим h = 1 и рассчитаем величины возбуждения нейронов выходного слоя R1 - R4 для четко заданной единицами, эталонной, ситуации А1& В2

V_{R1}:  1 + 0 - 1 = 0, V_{R1} = 0;\\
V_{R2}:  1 + 1 - 1 = 1, V_{R2} = 1;\\
V_{R3}:  0 + 0 - 1 = -1, V_{R3} = 0;\\
V_{R4}:  0 + 1 - 1 = 0, V_{R4} = 0.

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

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

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

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

V_{R1}:  1 + 0,7 - 1 = 0,7, V_{R1} = 0,7;\\
V_{R2}:  1 + 0,4 - 1 = 0,4, V_{R2} = 0,4;\\
V_{R3}:  0 + 0,7 - 1 = -0,3, V_{R3} = 0;\\
V_{R4}:  0 + 0,4 - 1 = -0,6, V_{R4} = 0.

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

По известной формуле нахождения среднего мы можем оценить математическое ожидание того, на сколько облегчится карман начальника Кукуевской станции:

M= \frac {M1\cdot0,7+М2\cdot0,4+М3\cdot0+М4\cdot0}{0,7+0,4+0+0}
Кирилл Артамонов
Кирилл Артамонов

"Тогда как задать возбуждение рецепторов, если инспектор точно установил, что скорость автомобиля при наезде на пешехода была равна 114 км/час?
По-видимому, он рассуждает на основе близости скорости к границам указанного интервала: "Достоверность того, что скорость автомобиля составляет 100 км/час, я найду как (114 – 100):(120 – 100), а достоверность того, что скорость автомобиля составляет 120 км/час, я найду как (120 – 114):(120 – 100). Следует обратить внимание на то, что сумма найденных достоверностей равна единице."

Вопрос по расчёту скорости и сумме достоверности: этот математический (приведенный выше в виде контекста из материала лекции 1, страницы 3) метод справедлив к скоростным показателям выходящим за рамки диапазона 100-120. 
То есть, практически применяв к расчёту, скорости из диапазона 114-155, к диапазону 100-120, получал в результате суммирования достоверностей единицу.
Это похоже на то, как я видимые разные скоростные показатели своим рецептором, буду воспринимать линейно с помощью одного диапазона, так как он универсален. 
Правильно ли это ? 
И как манипулировать данными показателями, если есть универсальный диапазон, по результату выводящий в сумме постоянно единицу на разных скоростных показателях стремящегося.

Владислав Гладышев
Владислав Гладышев

А как проходить курс ? я же могу прямо сейчас все лекции прочитать и здать экзамен, к чему там даты ? 

Александр Сериков
Александр Сериков
Россия, Москва, МВТУ им. Баумана Н.Э.
Евгений Резниченко
Евгений Резниченко
Россия