Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 700382.doc
Скачиваний:
13
Добавлен:
01.05.2022
Размер:
4.28 Mб
Скачать

4.11. Модификация алгоритма обратного распространения ошибки

Цель модификации алгоритма обратного распространения ошибки – повысить оперативность обучения ИНС. В основу модификации была положена идея «упругого распространения», впервые реализованная в одноименном алгоритме Rpгop (Resilent Propogation – «упругое распространение») [105]. Суть идеи Rpгop состоит в использовании знаков частных производных для подстройки весовых коэффициентов. Для определения величины коррекции используется следующее правило:

, (4.22)

где , а .

Если на текущем шаге частная производная по соответствующему весу wij изменила знак, то из этого следует, что последнее изменение было большим и алгоритм проскочил локальный минимум. Следовательно, величину изменения необходимо уменьшить на  и вернуть предыдущее значение весового коэффициента, то есть сделать «откат» на величину .

Если знак частной производной не изменился, то нужно увеличить величину коррекции на  для достижения более быстрой сходимости. В результате проведенных экспериментов (т.е эмпирическим путем) установлено, что целесообразно выбирать =1,2, а =0,5. Начальные значения для всех устанавливались равными 0,1. Для вычисления значения коррекции весов использовалось следующее правило:

. (4.23)

Если производная положительна, т. е. ошибка возрастает, то весовой коэффициент уменьшается на величину коррекции, в противном случае – увеличивается.

Затем веса подстраивались в соответствии с выражением:

. (4.24)

Блок-схема данного алгоритма приведена на рис. 4.24.

Блоки 1,9 используются для пуска и остановки процесса обратного распространения ошибок.

В блоке 2 реализован ввод исходных данных.

Блок 3 обеспечивает инициализацию значений величин коррекции .

В блоке 4 предъявляются все примеры из выборки и вычисляются частные производные.

Блок 5 рассчитывает новые значения по формулам (4.22) и (4.23).

В блоке 6 реализуется корректировка весов в соответствии с выражением (4.24).

Блок 7 проверяет условие останова данного процесса. Если условие останова не выполняется, то управление передается блоку 4. В противном случае управление передается блоку 8.

В блоке 8 реализован вывод полученных результатов.

Совокупность проведенных экспериментов (более 200), показала, что данный алгоритм сходится почти в 6 раз быстрее, чем стандартный алгоритм обратного распространения ошибок.

    1. 4.12. Эвристическая оптимизация функционирования алгоритма обратного распространения ошибки

Эвристическая оптимизация функционирования алгоритма обратного распространения ошибки, улучшающая его производительность, проводилась по таким аспектам, как:

- выбор режима обучения;

- максимизация информативности;

- выбор функции активации;

- выбор целевых значений функции активации;

- выбор начальных значений синаптических весов и пороговых значений;

- реализация обучения по подсказке;

- управление параметрами скорости обучения нейронов.

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

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

При выборе функции активации, в интересах повышения оперативности обучения ИНС, предпочтение было отдано антисимметричной функции.

Функция активации называется антисимметричной (т.е. четной функцией cвoeгo apгyмeнтa), если выполняется условие:

, (4.25)

что показано на рис. 4.25, а.

Стандартная логистическая функция не удовлетворяет этому условию (рис. 4.25, б).

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

, (4.26)

где а и b - константы. В результате проведенных экспериментов установлено, что приемлемыми значениями для констант а и b являются следующие [130]: а = 1,7159, b = 2/3.

Определенная таким образом функция гиперболического тангенса имеет ряд полезных свойств. Например, (1) = 1 и (-1) = -1.

Кроме того, в начале координат тaнгeнс угла наклона (т.е. эффективный угoл) функции активации близок к единице: (0) = аb = 1,7159 х 2/3 = 1,1424.

Вторая производная ( v) достигает свoeгo максимального значения при v = 1.

Для выбора целевых значений функции активации важно, чтобы они выбирались из области значений сигмоидальной функции активации. Более точно, желаемый отклик dj нейрона j выходного слоя многослойного персептрона должен быть смещен на

некоторую величину от границы области значений функции активации в сторону ее

внутренней части. В противном случае алгоритм обратного распространения будет модифицировать свободные па раметры сети, устремляя их в бесконечность, замедляя таким образом процесс обучения и доводя скрытые нейроны до предела насыщения. В качестве примера рассмотрим антисимметричную функцию активации, показанную на рис. 4.25, а. Для предельного значения выберем dj = а - . Аналогично, для предельного значения -a установим dj = a + , где соответствующая положительная константа. Для выбранного ранее значения а = 1,7159 установим = 0,7159. В этом случае желаемый отклик dj будет находиться в диапазоне от 1 до +1 (см. рис. 4.25, а).

При выборе начальных значений синаптических весов и пороговых значений сети учитывались следующие правила.

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

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

. (4.27)

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

для всех i,

для всех i.

Далее предположим, что входные сигналы некоррелированны:

и синаптические веса выбраны из множества равномерно распределенных чисел с нулевым средним:

,

и дисперсией:

для всех пар (j,i).

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

(4.28)

где m - число синаптических связей нейрона.

На основании этого результата можно описать хорошую стратегию инициализации синаптических весов таким образом, чтобы стандартное отклонение индуцировaннoгo локального поля нейрона лежало в переходной области между линейной частью сигмоидальной функции активации и областью насыщения. Например, для случая гиперболического тангeнca с параметрами а и b (см. определение функции) эта цель достигается при в (4.28). Исходя из этого получим [105]

. (4.29)

Таким образом, желательно, чтобы равномерное распределение, из котopoгo выбираются исходные значения синаптических весов, имело нулевое среднее значение и дисперсию, обратную корню квадратному из количества синаптических связей нейрона.

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

Использование соотношения (4.28) является одним из примеров тaкoгo подхода.

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