Московский государственный университет путей сообщения
Опубликован: 12.09.2011 | Доступ: свободный | Студентов: 3880 / 394 | Оценка: 4.67 / 4.33 | Длительность: 18:55:00
Специальности: Программист
Лекция 2:

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

Построение нейросети "под задачу"

Мы построили нейросеть – с экзотическими (с точки зрения невропатолога) конъюнкторами и дизъюнкторами.

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

Введем функцию активации без ограничения по величине возбуждения, но не отрицательную (отрицательное значение разности примем нулевым):

V:=\sum\limits_{j=1}^m{V_j\omega_{ij}-h_i}

Положим \omega_{ij} = 0,8, h = 0,2. Сеть представлена на рис.2.13.

Подадим на вход, например, ситуацию {A1, B1, C3}, требующую решения R1. Величины возбуждений нейронов показаны на рисунке.

На основе расчетов по полученной сети составим табл. 2.3.1, отображающую правильную (!) работу сети при получении различных решений. При этом связи, предыстория которых определена дизъюнкторами, требуют проверки не более чем одного "представителя": в рассмотренном примере получаем тот же результат, если вместо С3 положим С1 или С2.

 Расчет примера на нейросети

Рис. 2.13. Расчет примера на нейросети
Таблица 2.3.1. Примеры расчета принимаемых решений
Ситуация Требуемое решение V_{Вых1} V_{Вых2} V_{Вых3} V_{Вых4} V_{Вых5}
{A1, B1, C3} R1 1.144 0.76 0.28 0.024 0.248
{A1, B2, C2} R2 0.504 1.144 0.664 0.024 0.248
{A1, B3, C3] R2 0.504 1.144 0.664 0.504 0.024
{A1, B2, C4} R3 0.504 0.664 1.144 0.024 0.224
{A1, B3, C5} R3 0.504 0.664 1.144 0.504 0.024
{A2, B3,C1} R4 0.024 0.504 0.024 1.144 0.504
{A2, B1, C3} R5 0.504 0.28 0 0.504 0.888
{A2, B2, C4} R5 0.024 0.024 0.504 0.504 0.888
V_{B1} = V_{B2} = 0.8, V_{A1} = V_{A2} = 0.5, V_{C1} = 0.7, V_{C5} = 0.8 ? 0.824 0.529 0.593 0.312 1.003

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

Рассмотрим ту же неопределенную ситуацию, показанную на рис.2.12. Она отражена в последней строке таблицы. Близка ли она более всего ситуации, когда Петя направился к Аполлинарии и надо принимать решение R5? Ситуация с Васей, устремившимся туда же, дает примерно тот же ответ.

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

Переход к однослойной нейронной сети

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

Очень часто на практике так и поступают. Поэтому широкое распространение получили так называемые однослойные сети. Построим такую сеть и для нашего примера (рис.2.14).

 Однослойная нейросеть

Рис. 2.14. Однослойная нейросеть

Возьмем ту же функцию активации, с теми же параметрами и рассчитаем те же примеры, отображенные в табл. 2.3.1. Составим для них табл. 2.3.2.

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

Таблица 2.3.2. Примеры расчета решений по однослойной нейросети
Ситуация Требуемое решение V_{Вых1} V_{Вых2} V_{Вых3} V_{Вых4} V_{Вых5}
{A1, B1, C3} R1 2.2 1.4 0.6 0.6 1.4
{A1, B2, C2} R2 1.4 2.2 1.4 0.6 1.4
{A1, B3, C3] R2 1.4 2.2 1.4 1.4 0.6
{A1, B2, C4} R3 1.4 1.4 2.2 0.6 1.4
{A1, B3, C5} R3 1.4 1.4 2.2 1.4 0.6
{A2, B3,C1} R4 1.4 1.4 0.6 2.2 1.4
{A2, B1, C3} R5 1.4 0.6 0 1.4 2.2
{A2, B2, C4} R5 0.6 0.6 1.4 1.4 2.2
V_{B1} = V_{B2} = 0.8, V_{A1} = V_{A2} = 0.5, V_{C1} = 0.7, V_{C5} = 0.8 ? 2.04 1.4 0.84 1.4 2.68
Кирилл Артамонов
Кирилл Артамонов

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

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

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

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