русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Алгоритм обратного распространения ошибки


Дата добавления: 2014-11-28; просмотров: 1533; Нарушение авторских прав


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

(3.10)

В случае единичной обучающей выборки (x,d) целевая функция имеет вид:

(3.11)

Уточнение весов может проводиться после предъявления каждой обучающей выборки (так называемый режим «онлайн»), при этом используется целевая функция вида (3.9), либо однократно после предъявления всех обучающих выборок (режим «оффлайн»), при этом используется целевая функция вида (3.10). В последующем изложении используется целевая функция вида (3.11).

Для упрощения можно считать, что цель обучения состоит в таком определении значений весов нейронов каждого слоя сети, чтобы при заданном входном векторе получить на выходе значения сигналов , совпадающие с требуемой точностью с ожидаемыми значениями при s= 1, 2,…,M.

Обучение сети с использованием алгоритма обратного распространения ошибки проводится в несколько этапов.

На первом из них предъявляется обучающая выборка x и рассчитываются значения сигналов соответствующих нейронов сети. При заданном векторе x определяются вначале значения выходных сигналов vi скрытого слоя, а затем значения ys выходного слоя. Для расчета применяются формулы (3.1) и (3.2). После получения значений выходных сигналов становится возможным рассчитать фактическое значение целевой функции ошибки E(w).

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

Так как целевая функция непрерывна, то наиболее эффективными методами обучения оказываются градиентные алгоритмы, согласно которым уточнение вектора весов (обучение) производится по формуле:



, (3.12)

где , (3.13)

h - коэффициент обучения, а p(w) – направление в многомерном пространстве w. В алгоритме обратного распространения ошибки p(w) определяется как частная производная , взятая со знаком минус.

Обучение многослойной сети с применением градиентных методов требует определения вектора градиента относительно весов всех слоев сети, что необходимо для правильного выбора направления p(w). Эта задача имеет очевидное решение только для весов выходного слоя. Для других слоев используется алгоритм обратного распространения ошибки, который определяется следующим образом [6]:

1. Подать на вход сети вектор x и рассчитать значения выходных сигналов нейронов скрытых слоев и выходного слоя, а также соответствующие производные функций активации каждого слоя (m – количество слоев).

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

3. Уточнить веса по формулам (3.12) и (3.13) на основе результатов, полученных в п.1 и п.2 для исходной сети и для сети обратного распространения ошибки.

4. Пункты 1, 2, 3 повторить для всех обучающих выборок, вплоть до выполнения условия остановки: норма градиента станет меньше заданного значения e, характеризующего точность обучения.

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

(3.14)

В случае логистической функции производная равна

(3.15)

В формулах (3.14) и (3.15) под переменной u будем понимать выходные сигналы сумматоров нейронов скрытого или выходного слоя, представленных формулами (3.16) и (3.17).

(3.16)

(3.17)

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

(3.18)

Здесь – весовой коэффициент синаптической связи, соединяющей i-ый нейрон слоя m-1 с j-ым нейроном слоя m, h – коэффициент обучения, 0<h<1.

С учетом принятых на рисунке 3.2 обозначений целевая функция для выходного слоя нейронов определяется следующим образом:

(3.19)

(3.20)

Здесь под , как и раньше, подразумевается выход s –го нейрона.

Если ввести обозначение , то соотношение (3.20) можно представить в виде:

(3.21)

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

(3.22)

В другом виде эта зависимость может быть выражена формулой:

(3.23)

Если ввести обозначение

, (3.24)

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

(3.25)



<== предыдущая лекция | следующая лекция ==>
Подбор коэффициента обучения | Алгоритм наискорейшего спуска


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.