Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Медведев В.С., Потемкин В.Г. Нейронные сети. MATLAB 6.doc
Скачиваний:
857
Добавлен:
07.03.2016
Размер:
15.55 Mб
Скачать

Метод обратного распространения ошибки

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

Рассмотрим выражение для градиента критерия качества по весовым коэффициентам для выходного слоя M:

(3.9)

где – число нейронов в слое;k-й элемент вектора выхода слояM для элемента выборки с номеромq.

Правило функционирования слоя M:

(3.10)

Из уравнения (3.8) следует

(3.11)

После подстановки (3.11) в (3.9) имеем:

Если обозначить

(3.12)

то получим

(3.13)

Перейдем к выводу соотношений для настройки весов слояM–1

(3.14)

где

Для слоев M–2,M–3, …,1 вычисление частных производных критерияJпо элементам матриц весовых коэффициентов выполняется аналогично. В итоге получаем следующую общую формулу:

(3.15)

где r– номер слоя

На рис. 3.6 представлена схема вычислений, соответствующая выражению (3.15).

Рис. 3.6

На этой схеме символом * обозначена операция поэлементного умножения векторов, а символом ** – умножение вектора наaT; символ, обозначающий номер элемента выборки, для краткости опущен.

Характеристика методов обучения

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

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

В методах первого порядкаиспользуетсяградиент функционала ошибкипо настраиваемым параметрам

(3.16)

где – вектор параметров;– параметр скорости обучения;– градиент функционала, соответствующие итерации с номеромk.

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

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

(3.17)

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

(3.18)

Здесь – направление движения,– градиент функционала ошибки,– коэффициент соответствуют итерации с номеромk. Когда направление спуска определено, то новое значение вектора настраиваемых параметроввычисляется по формуле

. (3.19)

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

, (3.20)

где – вектор значений параметров наk-й итерации; H– матрица вторых частных производных целевой функции, или матрица Гессе;– вектор градиента наk-й итерации. Во многих случаях метод Ньютона сходится быстрее, чем методы сопряженного градиента, но требует больших затрат из-за вычисления гессиана. Для того чтобы избежать вычисления матрицы Гессе, предлагаются различные способы ее замены приближенными выражениями, что порождает так называемыеквазиньютоновыалгоритмы(алгоритм метода секущих плоскостей OSS [1], алгоритм LM Левенберга – Марквардта [17]).