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

Методика построения системы принятия решений на основе логической нейронной сети

< Лекция 12 || Лекция 13: 123 || Лекция 14 >

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

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

Такое представление соответствует общему виду (13.1). При допустимости построения однослойной нейросети, как говорилось выше, схема представляет собой структуру, при которой входы, на которые подаются переменные, непосредственно связаны с выходами, соответствующими решениям.

Переход к нейронам

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

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

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

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

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

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

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

Выбор и обоснование функции активации нейрона

На пятом этапе производится обоснование выбора функции активации нейронов.

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

Требования к функции активации:

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

Приведём ряд функций активации, тривиальных по выполнению и используемых в данной книге:

  1. V:=\xi \left ( \sum \limits_i \omega_iV_i -h \right)
    \left(\xi (x)= \begin{cases}
x,{при\ x \ge 0}\\
0,{в\ противном\ случае}
\end{cases} \right)
  2. V:=\xi \left ( \sum \limits_i \omega_iV_i -h \right)

    V:= if V > A\ then\ A\ else\ V

  3. V:=\sum \limits_i \omega_iV_i

    V:= if\ V > h\ then\ V\ else\ 0

  4. V:=\sum \limits_i \omega_iV_i

    V:= ifV \ge h \land V < 1\ then\ V-h\ else\ if\ V \ge 1-h\ else\ 0

    Вес связи – переменная с двумя индексами; здесь не индексируется нейрон, а только его вход.

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

    V=\frac {\sum \limits_i \omega_i V_i}{\sum \limits_i \omega_i },
    V:= if\ \ge h\ then\ V\ else\ 0

Если все веса \omega_i = 1, то функция активации находится:

V:=\frac {1}{n}\sum \limits_i V_i,
V:= if\ \ge h\ then\ V\ else\ 0 (n - количество активных входов нейрона, прообразом которого является конъюнктор

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

Конкретно это означает, что величины возбуждения нейронов выходного слоя должны, как и величины возбуждения рецепторов, принадлежать диапазону [0, 1], моделируя всё ту же достоверность выводов.

В однослойных нейронных сетях, особенно – в совершенных - предлагается использовать функцию активации 5. Здесь особенно актуально то, что прообразом нейрона выходного слоя является конъюнктор. Легко видеть, что величина возбуждения каждого нейрона сети удовлетворяет указанному диапазону.

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

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

Можно придумать и другие функции активации, удовлетворяющие приведённым выше требованиям.

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

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

Так, в "Нейросетевые модели пошаговой оптимизации, маршрутизации и тактических игр" (технология Wi-Fi), при "единичных" запросах на смещение информационного пакета в смежный узел по чёткому адресу, функция активации выродилась в сумму весов связей нейрона.

< Лекция 12 || Лекция 13: 123 || Лекция 14 >
Кирилл Артамонов
Кирилл Артамонов

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

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

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

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