"Тогда как задать возбуждение рецепторов, если инспектор точно установил, что скорость автомобиля при наезде на пешехода была равна 114 км/час? Вопрос по расчёту скорости и сумме достоверности: этот математический (приведенный выше в виде контекста из материала лекции 1, страницы 3) метод справедлив к скоростным показателям выходящим за рамки диапазона 100-120. |
Построение обученных логических нейронных сетей
Построение обученной нейронной сети "Железнодорожная рулетка"
Рассмотрим увлекательную детскую игру "железнодорожную рулетку", основанную на так хорошо знакомой Вам задаче о встрече. Помните: "Из пунктов А и В навстречу друг другу…" и т.д.?
Начальник станции Кукуевка (старший) и начальник станции Пырловка одновременно выпускают навстречу друг другу два паровоза (рис.2.5) со скоростью либо 60, либо 80 км/час. Длина перегона составляет 4 км. Небольшой нюанс заключается в том, что пути перегона то сходятся в один, на протяжении одного километра, то расходятся. И тогда, в зависимости от точки встречи, со станции Кукуевка надо выслать на соответствующий километр либо линейного - даму с приветственным платочком, либо линейного с подстилочной соломкой.
Решение о такой посылке усложняется помехами в линии передачи данных, в связи с чем скорости паровозов сообщаются с достоверностью, меньшей единицы. Кроме того, необходимо каждый эксперимент связать с ожидаемыми денежными затратами на единовременную добавку к пенсии линейных.
Тогда Вы понимаете, что без элементов искусственного интеллекта не обойтись. Вы ищете что-то похожее на табличный метод, но с автоматической интерполяцией, что-то связанное с ассоциативным мышлением… И Вы решаетесь…
Произведем предварительные расчеты, чтобы представить себе все варианты будущего поведения нашей системы принятия решений — для ее обучения. Представим (рис.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 возбуждения каждого нейрона. Для нашего случая, не долго думая (ибо существует большой произвол в выборе вида функции активации, на любой вкус), определим вид такой функции
где i — индекс нейрона, "передающего" свое возбуждение данному нейрону, h — порог.В нашем случае стрелки со всей определенностью указывают направление передачи возбуждений.
Положим h = 1 и рассчитаем величины возбуждения нейронов выходного слоя R1 - R4 для четко заданной единицами, эталонной, ситуации А1& В2
Таким образом, "высветилось" то решение, которое необходимо принять, и старт линейным должен быть дан. Проверим, что так же работает наша сеть по всем эталонам, по которым мы ее обучили, проложив "проводочки" от каждой исходной посылки к следствию.
Теперь поэкспериментируем.
Задавая события по принципу "да - нет", "1 - 0", мы предполагали булевский тип исходных данных. А что, если поменять, обобщить тип исходных данных, допустив рассмотрение нечетких значений возбуждения рецепторов, интерпретируемых как достоверность? Или даже каких-то других взаимных оценок, которые используются часто в быту людьми, не сведущими в теории вероятности и не знакомых с понятием "исчерпывающее множество событий"?
Например, в результате искажения информации начальник станции Кукуевка принял решение считать скорость пырловского паровоза равной не то 60, не то 80 км/ч. Но скорее всего — 60! И подойдя к компьютеру, он по наитию набирает: А1 = 1 А2 = 0, В1 = 0,7, В2 = 0,4. На какую ситуацию это указывает, и какое решение наиболее правильно? Считаем:
Мы видим, что максимальной величины возбуждения достиг нейрон R1, определивший главное решение. Но мы вправе учесть и решение R2 с меньшим приоритетом, дав даме с платочком дополнительные указания. И в этом проявится наша мудрость.
По известной формуле нахождения среднего мы можем оценить математическое ожидание того, на сколько облегчится карман начальника Кукуевской станции: