Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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

(Back Propagation – BP)

 

BP – это итерационный градиентный алгоритм обучения многослойных НС без обратных связей. В такой сети на каждый нейрон первого слоя подаются все компоненты входного вектора. Все выходы скрытого слоя m подаются на слой и т. д., т. е. сеть является полносвязной.

При обучении ставится задача минимизации ошибки НС, которая определяется методом наименьших квадратов:

,

где – значение j - го выхода НС; – желаемое значение j - го выхода; p - число нейронов в выходном слое.

Обучение НС осуществляется методом градиентного спуска, т. е. на каждой итерации изменение веса производится по формуле:

,

где α – параметр, определяющий скорость обучения.

, (1)

где – значение выхода j - го нейрона; - взвешенная сумма входных сигналов, , где - значение i - го выхода нейрона.

Определим первый множитель формулы (1):

,

где k – число нейронов в слое n + 1.

Введём вспомогательную переменную . Тогда можно определить рекурсивную формулу для определения n - го слоя, если известно значение этой переменной следующего (n + 1 ) - го слоя:

. (2)

Значение для последнего слоя НС находим, исходя из того, что априорно известен вектор тех значений, который должна выдавать сеть при заданном входном векторе:

. (3)

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

. (4)

Алгоритм обучения BP сводится к следующей последовательности действий:

  1. Задать значение допустимой ошибки обучения Едоп и скорости обучения .
  2. Инициализировать весовые коэффициенты и пороги случайными числами:

, n(i) – число нейронов в слое i.

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

  1. Подать на вход НС очередной входной вектор из обучающей выборки и определить значения выходов нейронов в выходном слое.
  2. Рассчитать по формуле (3) и по формуле (4) для выходного слоя НС.
  3. Рассчитать и по формулам (2) и (4) для остальных слоёв НС.
  4. Скорректировать все веса НС:

,

где t – номер текущей итерации.

  1. Если ошибка существенна, то вернуться к п. 3, в противном случае – конец.

 

Недостатки алгоритма BP:

1) медленная сходимость процесса обучения;

2) возможность блокировки сети;

3) необходимость определения числа слоёв в НС и числа нейронов в каждом слое для решения конкретной прикладной задачи;

4) необходимость подбора скорости обучения α для решения конкретной прикладной задачи;

5) невозможность нахождения глобального минимума с помощью градиентного спуска, реализованного в ВР;

6) возможность переобучения НС при неправильном разделении входного множества на обучающую и тестовую выборки.

Рассмотрим некоторые из них более подробно.

Медленная сходимость процесса обучения. Сходимость процесса обучения определяется его скоростью α. При α®0 (бесконечно малые шаги), получаем бесконечно большое время обучения. При конечных шагах сходимость алгоритма обучения не гарантируется.

Блокировка сети. ВР не эффективен в случае, когда производные по различным весам сильно отличаются: значения функций S для некоторых нейронов близки по модулю к 1 или модуль некоторых весов много больше 1. В этом случае для придания процессу коррекции весов некоторой инерционности в формулу (4) вводится коэффициент инерционности μ, позволяющий корректировать приращение веса на предыдущей итерации:

.

Введение инерционности алгоритма увеличивает его способность преодолевать мелкие локальные минимумы.

Переобучение. Высокая точность, получаемая на обучающей выборке, может привести к неустойчивости результатов на тестовой выборке. Чем лучше сеть адаптирована к конкретным условиям (к обучающей выборке), тем меньше она способна к обобщению и экстраполяции. НС моделирует не функцию, а шум в обучающей выборке, то есть наблюдается явление переобучения («бабушкино воспитание»). Для выявления данного недостатка используется подтверждающая выборка. Если ошибка последовательно уменьшается при подаче примеров из подтверждающей выборки, сеть продолжает обучаться.

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

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

1. обучение (вычисляется Ео);

2. тестирование (вычисляется Еобщ);

3. подтверждение (проверяется условие Еобщ< Едоп).

На практике используется перекрёстное обучение.

«Ловушки», создаваемые локальными минимумами. Алгоритм обучения ВР, основанный на оптимизации градиентным методом, не всегда может обнаружить глобальный минимум.

Способы обхождения «ловушек»:

· расширение размерности пространства весов за счёт увеличения скрытых слоёв и числа нейронов скрытого слоя;

· использование других методов оптимизации (квазиньютоновские методы, Par Tan -методы, метод Нелдера-Мида и другие);

· использование эвристических алгоритмов оптимизации (генетический алгоритм).

 

Выводы:

1. НС даже с одним скрытым слоем позволяет воспроизвести любую функцию (реализовать любое отображение входного множества на выходное).

2. Число элементов в промежуточном слое должно быть меньше числа примеров обучающей выборки, иначе может проявиться эффект переобучения.

3. Мощность НС (её возможности) можно увеличить за счёт увеличения либо числа скрытых слоёв, либо числа нейронов в вскрытом слое (следует учитывать ограничение п.2).

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

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

 


<== предыдущая лекция | следующая лекция ==>
Математическая постановка задачи обучения | Суть генетического алгоритма
Поделиться с друзьями:


Дата добавления: 2014-01-15; Просмотров: 1397; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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