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

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

Построение "современной" нейросетевой системы принятия решений

В огороде бузина, а в Киеве дядька.

Поговорка

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

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

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

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

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

Начинаем решать пример

В России революция — дрогнула мать сыра земля, замутился белый свет…

Артем Веселый. "Россия, кровью умытая"

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

Вася и Петя — друзья. Нет, не в том смысле: они почти нормальной сексуальной ориентации. Скорее, в смысле вечной святой мужской дружбы, без смущения применяющей слово "друг". Обозначим А — множество друзей,

А = {Вася, Петя}.

Вася и Петя — крутые парни. Они плохо учились в школе, и это хорошо! Они создали "крышу", под которой успешно трудится ряд палаток

С = {"Оксана", "Роксана", "Марина", "Регина", "Св. Аполлинария"},

заботливо опекаемые хозяйками, соответственно, Оксаной и Роксаной, Мариной и Региной, а также Аполлинарией. Палатки реализуют продукцию фирм

В = {Красный Киллер, Пират, Ночная Бабочка}.

Фирма Красный Киллер в секретных подвалах славных подразделений бойцов холодной войны на основе бабушкиного самогона и контрабандного синтетического спирта гонит всемирно известную вино-водочную продукцию отличного качества. Фирма Пират производит аудио- и видеопродукцию и другие культурные ценности. Фирма Ночная Бабочка стряпает французскую косметику из мосластых московских дворняг.

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

Дядя Рамзай – прогрессивный бизнесмен, и оценки прибыли решает проводить на высоком математическом уровне, обратившись за помощью к нам (рис.2.7). Мы хорошо учились в школе, и это — плохо! Мы, как истинные альтруисты и ученые-бессеребренники, с радостью поможем ему, — бесплатно.

 Предмет исследования

Рис. 2.7. Предмет исследования

А информации приходится обрабатывать дяде Рамзаю много. Он, прямо скажем, работает в условиях неопределенности и усиленных помех. Судите сами. Оксана делит любовь между Васей и Петей. Роксана — пока нет. Марина и Регина, жалея, подкармливают юных следопытов. Аполлинария вообще закадрила хахаля из местной мэрии и разъезжает в длиннющем "линкольне". Тщетно пытаясь разрушить узы бескорыстной дружбы, фирма Пират напрямую подмазала Васю, снизив нагрузку вымогательства на свою продукцию. Петя, кажется, пошел на нарушение Конвенции и вторгается в область, контролируемую конкурентами. (Ох, не избежать благородной разборки, со стрельбой и окровавленными трупами!) Скоро отмотает свой срок Никита, и предприятие расширится и т.д., и т.д., и т.д.…

Все такие обстоятельства прямо или косвенно влияют на долю прибыли дяди Рамзая.

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

Но, прежде всего, принимая столь ответственный заказ, мы хотим четко уяснить, что хочет дядя Рамзай, — чтобы все же максимально формализовать задачу. И после долгих согласований мы устанавливаем:

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

Итак, ступим на путь абстрагирования.

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

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

Считая, что варианты каждого вида событий образуют исчерпывающее множество, алгоритм работы системы можно записать:

if A1 then

if B1 then R1 else

if (C1 \lor C2 \lor C3)

then R2 else R3

else

if B3 then R4 else R5.

Здесь R1 - R5 — принимаемые решения.

Одно решение соответствует некоторой, в общем случае не единственной, комбинации событий. Для изображения таких комбинаций воспользуемся записями, например, вида А1 \land (В2 \lor В3) \land (С4 \lor С5). Это означает, что Вася отправился в палатку то ли к Регине, то ли к Аполлинарии, торгующей продукцией то ли фирмы Пират, то ли фирмы Ночная Бабочка. Однако эта же запись означает, что все составляющие ее конъюнкции А1 \land В2 \land С4, А1 \land В3 \land С4 и др. приводят к одному и тому же решению.

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

if A1 \land B1 \land (C1 \lor C2 \lor C3 \lor C4 \lor C5)\ then\ R1;\\
if A1 \land (B2 \lor B3) \land (C1 \lor C2 \lor C3)\ then\ R2;\\
if A1 \land (B2 \lor B3)  \land (C4 \lor C5)\ then\ R3;\\
if A2 \land B3 \land (C1 \lor C2 \lor C3 \lor C4 \lor C5)\ then\ R4;\\
if A2 \land (B1 \lor B2) \land (C1 \lor C2 \lor C3 \lor C4 \lor C5)\ then\ R5.
( 2.1)

Тогда, например, первое логическое высказывание означает: "Если Вася отправился в одну из пяти палаток, и все они торгуют сегодня продукцией фирмы Красный Киллер, то следует принять решение R1 (например, заказать туристическую путевку)".

Второе логическое высказывание означает: "Если Вася посетил одну из палаток С1, С2 или С3, торгующих сегодня продукцией фирм В2 и (или) В3, то следует принять решение R2" и т.д.

"Схемотехнический" подход к построению нейросети "под задачу"

Как и ранее, реализуем подход, используемый при построении схем устройств компьютера и другой электронной техники. Выделим функционально полную, для данного применения, систему булевых функций — дизъюнкцию  \lor и конъюнкцию  \land .

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

Построим (рис.2.8) схему, реализующую алгоритм счета значения выражения (2.1).

Предположим, что на вход будут подаваться значения булевых переменных, обозначающих события.

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

"Электронная" схема системы принятия решений

Рис. 2.8. "Электронная" схема системы принятия решений

Значит, мы должны из точного, детерминированного представления перейти в область ассоциативного, неточного, приблизительного мышления! Но степень (частота) угадывания должна быть достаточно высока.

Именно здесь должна помочь нейросеть, реализующая нечеткую логику.

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

Выберем функцию активации произвольного (i-го) нейрона, с числом m входов-дендритов, первоначально рассчитав значение V:=\sum \limits_{j=1}^m {V_j \omega_{ij}. Затем находим Vi := if V < h then 0 else if V > 1 then 1 else V.

Здесь V_j, как и ранее, величина возбуждения (другого нейрона), поступающая на j-й вход данного.

Тогда нейрон-конъюнктор может быть реализован с помощью существенно высокого порога (рис.2.9), где значение \delta обусловлено некой поправкой, достаточной, чтобы для преодоления порога сигналы возбуждения с высокой вероятностью поступали обязательно по всем входам.

 Модель нейрона-конъюнктора

Рис. 2.9. Модель нейрона-конъюнктора
Кирилл Артамонов
Кирилл Артамонов

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

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

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

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