- •Введение
- •Лекция 1 Симплекс-метод
- •1.1 Общая постановка задачи линейного программирования
- •1.2 Некоторые свойства планов
- •1.3 Алгоритм симплекс-метода
- •Лекция 2 Двойственная задача. Двойственный симплекс-метод. Комбинированный метод решения злп
- •2.1 Постановка двойственной задачи
- •2.2 Основные теоремы о двойственности
- •2.3 Решение двойственных задач
- •2.4 Двойственный симплекс-метод
- •Лекция 3 Анализ чувствительности оптимального решения
- •3.1 Матричное представление симплекс-таблиц
- •Анализ чувствительности
- •3.2.1 Изменения, влияющие на допустимость решения
- •3.2.2 Изменения, влияющие на оптимальность решения
- •Лекция 4 Целочисленное линейное программирование
- •4.1 Метод ветвей и границ
- •4.2 Метод отсекающих плоскостей
- •Лекция 5 Методы решения транспортной задачи
- •5.1 Решение транспортной задачи
- •5.1.1 Постановка транспортной задачи
- •6.1.2 Интерпретация метода потенциалов как симплекс-метода
- •5.1.3 Определение начального решения
- •5.1.4 Метод потенциалов
- •5.2 Задача о назначениях
- •Лекция 6 Введение в нейронные сети
- •6.1 История нейронных сетей
- •6.2 Актуальность нейронных сетей
- •6.3 Свойства нейронных сетей
- •6.4 Классификация нейронных сетей
- •6.5 Представление знаний в нейронных сетях
- •Лекция 7 Биологическая и математическая модель нейрона. Персептрон
- •7.1 Модель нейрона
- •7.2 Функции активации в нейронных сетях
- •1 Единичный скачок или жесткая пороговая функция
- •2 Линейная пороговая функция
- •3 Сигмоидальная функция или сигмоид
- •4 Радиально-базисная функция
- •7.3 Обучение нейронной сети
- •7.4 Персептрон
- •Лекция 8 Алгоритм обратного распространения ошибки
- •8.1 Многослойные нейронные сети. Структура
- •8.2 Вывод основных формул алгоритма обратного распространения ошибки
- •Лекция 9 Рекуррентный метод наименьших квадратов
- •9.1 Применение рекуррентного метода наименьших квадратов для обучения нейронных сетей (rls)
- •Библиографический список
- •Заключение
- •Приложение а
Лекция 8 Алгоритм обратного распространения ошибки
8.1 Многослойные нейронные сети. Структура
Обсудим алгоритм обратного распространения ошибки, который позволяет обучать многослойные нейронные сети. Этот алгоритм считается наиболее известным и чаще всего применяемым в искусственных нейронных сетях.
На рисунке 8.1 представлена многослойная нейронная сеть, состоящая из слоев.
Рисунок 8.1 – Многослойная нейронная сеть
В каждом слое расположено элементов, , обозначаемых , . Элементы будем называть нейронами с нелинейной функцией активации на выходе. Обсуждаемая нейронная сеть имеет входов, на которые подаются сигналы , записываемые в векторной форме как
, |
(8.1) |
Выходной сигнал i-го нейрона в -м слое обозначается , , .
На рисунке 8.2 показана детальная структура i-го нейрона в -м слое.
Нейрон имеет входов, образующих вектор
|
(8.2) |
причем для и . Обратим внимание на факт, что входной сигнал нейрона связан с выходным сигналом слоя следующим образом:
|
(8.3) |
На рисунке 8.2 обозначает вес связи i-го нейрона, , расположенного в -м слое, которая соединяет этот нейрон с -м входным сигналом , .
Рисунок 8.2 – Структура нейрона
8.2 Вывод основных формул алгоритма обратного распространения ошибки
Вектор весов нейрона обозначим
, , |
(8.4) |
Выходной сигнал нейрона в n-й момент времени, определяется как
, |
(8.5) |
причем
|
(8.6) |
Отметим, что выходные сигналы нейронов в L-м слое
|
(8.7) |
одновременно являются выходными сигналами всей сети. Они сравниваются с так называемыми эталонными сигналами сети
|
(8.8) |
в результате чего получаем погрешность
, . |
(8.9) |
Можно сформулировать меру погрешности, основанную на сравнении сигналов (8.7) и (8.8), в виде суммы квадратов разностей (8.9), т.е.
|
(8.10) |
Из выражений (8.5) и (8.6) следует, что мера погрешности (8.10) - это функция от весов сети. Обучение сети основано на адаптивной коррекции всех весов таким образом, чтобы минимизировать ее значение. Для коррекции произвольного веса можно использовать правило наискорейшего спуска, которое принимает вид
|
(8.11) |
где константа определяет величину шага коррекции. Обратим внимание, что
|
(1.41) |
Если ввести обозначение
|
(8.13) |
то получим равенство
|
(8.14) |
При этом алгоритм (8.11) принимает вид
|
(8.15) |
Способ расчета значения , заданного выражением (8.13), зависит от номера слоя. Для последнего слоя получаем
|
(8.16) |
Для произвольного слоя получаем
|
(8.17) |
Определим погрешность в -м (не последнем) слое для -го нейрона в виде
|
(8.18) |
Если подставить выражение (8.18) в формулу (8.17), то получим
|
(8.19) |
В результате алгоритм обратного распространения ошибки можно записать в виде
|
|
|
(8.20) |
|
(8.21) |
|
(8.22) |
|
(8.23) |
Название алгоритма связано со способом расчета погрешностей в конкретных слоях. Вначале рассчитываются погрешности в последнем слое (на основе выходных и эталонных сигналов), далее - в предпоследнем и так вплоть до первого слоя. Начальные значения весов, образующих сеть, выбираются случайным образом и, как правило, устанавливаются близкими к нулю. Шаг коррекции чаще всего принимает большие значения (близкие единице) на начальных этапах процесса обучения, но впоследствии его следует уменьшать по мере того как веса приближаются к некоторым заранее определенным значениям. В литературе, посвященной нейронным сетям, рекомендуются различные модификации алгоритма обратного распространения ошибки. Одна из наиболее известных модификаций заключается во введении в рекурсию (8.23) дополнительного члена, называемого моментом:
|
(8.24) |
в котором параметр . Экспериментальные исследования показывают, что введение момента ускоряет сходимость алгоритма обратного распространения ошибки.
Контрольные вопросы
Как выглядит многослойная нейронная сеть?
Напишите основные функции активации, применяемые в нейронных сетях?
Напишите основные формулы алгоритма обратного распространения ошибки?
Назовите основные модификации алгоритма обратного распространения ошибки?
По какому алгоритму происходит обучение персептрона?