Анализ и сравнение методов обучения нейронных сетей

АНАЛИЗ И СРАВНЕНИЕ МЕТОДОВ ОБУЧЕНИЯ НЕЙРОННЫХ СЕТЕЙ

С. А. Федосин, Д. А. Ладяев, О. А. Марьина

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

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

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

связан со всеми нейронами предыдущего слоя

N

Хк

¿=1

где х - выход нейрона, верхний индекс (г) показывает номер слоя, нижний индекс (к) показывает номер нейрона в слое; N - число нейронов в слое; ии - вес синаптической связи; / - функция активации нейрона.

Выход к-го нейрона слоя г -Ь1 рассчитывается как взвешенная сумма всех его входов со слоя г, к которой применена функция активации, нормализующая выходной сигнал. Входы нейронов слоя г + 1 являются выходами нейронов слоя г.

Рис. 1. Пример многослойной полносвязанной нейронной сети прямого

распространения сигнала

© С. А. Федосин, Д. А. Ладяев, О. А. Марьина, 2010

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

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

Обучение [2]. Для нейронных сетей под обучением понимается процесс настройки архитектуры сети (структуры связей между нейронами) и весов сииаптических связей (влияющих на сигналы коэффициентов) для эффективного решения поставленной задачи. Обучение нейронной сети осуществляется на

определенной выборке по некоторому алгоритму.

Выделяют три парадигмы обучения: с учителем, без учителя (или самообучение) и смешанная. Среди множества алгоритмов обучения с учителем (когда известны праг вильные ответы к каждому входному примеру, а веса подстраиваются, чтобы минимизировать ошибку) наиболее успешным является алгоритм обратного распространения ошибки. Его основная идея заключается в том, что изменение весов синапсов происходит с учетом локального градиента функции ошибки. Разница между реальными и правильными ответами нейронной сети, определяемыми на выходном слое, распространяется в обратном направлении (рис. 2) - навстречу потоку сигналов. В итоге каждый нейрон способен определить вклад каждого своего веса в суммарную ошибку сети. Простейшее правило обучения соответствует методу наискорейшего спуска, то есть изменения сииаптических весов пропорционально их вкладу в общую ошибку.

Направление распространения данных

Направление распространения ошибки

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

полносеязанной нейронной сети

На рис. 3 проиллюстрирован метод градиентного спуска. К весовым коэффициентам применяется поправка, которая определяется в соответствии с формулой

Д^п)

гз

V

дЕ

вш<п)'

гз

где

И)

- коэффициент синаптической связи

между нейронами г и .7 слоя п; г] - коэффициент скорости обучения ти;

(2) Е - функция суммарной ошибки сети

Рис. 3. Метод градиентного спуска при минимизации ошибки сети

При подобном обучении нейронной сети всегда существует возможность попадания алгоритма в локальный минимум. Для этого используются специальные приемы, позволяющие «выбить» найденное решение из локального экстремума. Данные методы изложены в работах [1; 3-4; 6-9]. Также одним из вариантов, помогающим в решении задачи определения глобального минимума на поверхности ошибок является сглаживание функции энергии. Показательно объяснить данное предположение на модели Хопфилда, описанной в работе [5].

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

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

Для каждого узла определяется поправка, и это зависит от слоя, к которому относится узел. Кроме этого, на вход алгоритму нужно подавать структуру сети. Нейронные сети простой структуры (состоящие из двух уровней нейронов: скрытого и выходного) на практике дают хорошие результаты.

Недостатки алгоритма. Больше всего неприятностей приносит неопределенно долгий процесс обучения нейронной сети, при

этом она может и не обучиться вовсе. Причины могут быть следующими:

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

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

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

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

Существуют современные алгоритмы второго порядка, такие как метод сопряженных градиентов и метод Левеиберга-Маркара, которые на многих задачах работают существенно быстрее (иногда на порядок). Разработаны также эвристические модификации этого алгоритма, хорошо работающие для определенных классов задач, - быстрое распространение и Дельта-дельта с чертой.

Метод сопряженных градиентов

[3; 7]. Метод сопряженных градиентов - метод

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

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

Метод градиентного спуска с учетом моментов [1]. Идея метода заключается в добавлении к величине коррекции веса значения пропорционального величине предыдущего изменения этого же весового коэффициента. Величина коррекции веса рассчитывается согласно формуле

В К

Аъи

где Аъи(З) - значение коррекции веса на ¿-ъл шаге; г] - длина шага; Е{и>) - функция ошибки; а - коэффициент инерции.

Быстрое распространение [9]. В методе быстрого распространения, или методе градиентного спуска с адаптивным обуче-

ф

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

Метод быстрого распространения действует в предположении, что поверхность ошибок является локально квадратичной. В этом предположении алгоритм быстрого распространения работает так:

1. На первой эпохе веса корректируются по тому же правилу, что и в методе обратного распространения, исходя из локального градиента и коэффициента скорости обучения.

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

Исходные формулы метода быстрого распространения имеют ряд вычислительных недостатков. Во-первых, если поверхность

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

Метод Дельта-дельта с чертой [8]. В некоторых случаях метод Дельта-дельта с чертой, или метод градиентного спуска с учетом моментов и адаптивным обучением, оказывается эффективнее, хотя в большей степени, чем метод обратного распространения, склонен застревать в локальных минимумах. Метод Дельта-дельта с чертой обычно довольно устойчив в отличие от метода обратного распространения.

В методе Дельта-дельта с чертой скорости обучения для отдельных весов корректируются на каждой эпохе таким образом, чтобы соблюдались следующие важные эвристические требования:

1) если производная сохраняет знак на нескольких последовательных итерациях, то скорость обучения увеличивается (поверхность ошибок имеет малую кривизну, поэтому одинаковым продвижениям соответствуют примерно одинаковые понижения уровня);

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

Чтобы удовлетворить этим условиям, в методе Дельта-дельта с чертой задаются:

- начальная скорость обучения, используемая для всех весов на первой эпохе;

- коэффициент ускорения, который добавляется к скоростям обучения, когда производные не меняют знака;

- коэффициент замедления, на который умножаются скорости обучения в случае, когда производная меняет знак.

Применение линейного роста и экспоненциального убывания для скоростей обучения придает алгоритму большую устойчивость. Однако описанная схема может плохо рабо-

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

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

Модель Хопфилда [4]. Модель Дж. Хопфилда представляет собой сеть связанных между собой нейронов, каждый из которых характеризуется своим состоянием -уровнем возбуждения Состояние любого нейрона в каждый момент времени £ сигмои-дально зависит от взвешенной суммы сигналов, поступающих к нему от других нейронов:

Хг

1

I 4_ е~т

Веса характеризуют силу синапти-ческой связи между нейронами. Крутизна сигмоидиой кривой, называемой функцией активации нейрона, определяется множителем С/Т, стоящим перед взвешенной суммой

входных сигналов.

Основной заслугой Дж. Хопфилда было использование при анализе работы нейронной сети связанной с ней так называемой функции энергии, или функции Ляпунова. Функция энергии зависит от состояния системы и при каждом его изменении может только уменьшиться. Из любого положения можно двигаться в направлении ближайшего локального минимума функции энергии. Локальные минимумы функции энергии называются аттракторами системы, а множество состояний, движение из которых приводит к данному аттрактору, - его бассейном притяжения. Состояние системы - это паттерн активностей всех ее нейронов, а аттрактор -

это состояние, соответствующее запомненному сетью образу.

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

Е

<3_ 2 Т

1 + ж

X

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

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

На рис. 4 тонкой линией показана исходная несглаженная функция энергии, а толстой - сглаженная функция. Глобальный аттрактор, соответствующий стратегически более правильному решению проблемы, находится довольно далеко от исходного состояния сети и не может быть достигнут в случае несглажеииой функции энергии, так как сеть остановится в состоянии, соответствующем ближайшему аттрактору. И наоборот, в случае сглаженной функции энергии глобальный аттрактор может быть легко достигнут.

Рис. Эффект сглаживания нейронной сети

При сглаживании теряются мелкие детали, которые в определенных ситуациях могут быть очень важны, и это следует учитывать.

Сравнение методов обучения. Продемонстрируем зависимость работы нейронной сети от метода, выбранного для ее обучения. В программном пакете МАТЬАВ была спроектирована нейронная сеть, задачей которой являлось сопоставление входной группы точек одному из трех типов сигнала. Была выбрана архитектура многослойного персептро-на с одним промежуточным слоем. Входной слой состоит из 100 нейронов, выходной - из 3, число нейронов в скрытом слое - 8, 10 или 12. В качестве функции активации выбрана сигмоидальная функция, так как она легко дифференцируется. Обучение сети происходило разными методами. Это: - метод градиентного спуска;

- метод градиентного спуска с адаптивным обучением;

- метод градиентного спуска с учетом моментов;

- метод градиентного спуска с учетом моментов и с адаптивным обучением.

Процесс обучения завершается в одном из случаев: либо ошибка работы нейронной сети становится меньше значения, заданного изначально, либо количество эпох достигает заданного числа. Эпохой принято называть шаг алгоритма, действующего итеративно. Максимальная ошибка, заданная в начальных условиях для каждого метода тренировки, составляет 10-6, максимально допустимое число эпох - 5000. Результаты обучения по различным алгоритмам представлены в табл. 1-4.

Таблица 1

Результаты обучения нейронных сетей методом градиентного спуска

Число Количество Время

нейронов в групп точек обучения Количество Погрешность

промежуточном в обучающей сети, эпох классификации

слое выборке с

8 нейронов 100 групп точек 395,405 5000 0,0238

8 нейронов 160 групп точек 556,826 5000 0,0258

10 нейронов 100 групп точек 412,161 5000 0,0111

10 нейронов 160 групп точек 585,325 5000 0,0125

12 нейронов 100 групп точек 420,475 5000 0,0183

12 нейронов 160 групп точек 593,008 5000 0,0165

Таблица 2

Результаты обучения нейронных сетей методом градиентного спуска с

адаптивным обучением

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

8 нейронов 100 групп точек 64,975 536 11,9580е-007

8 нейронов 160 групп точек 72,795 689 14,7110е-007

10 нейронов 100 групп точек 44,947 509 9,1795е-007

10 нейронов 160 групп точек 79,215 656 10,2940е-007

12 нейронов 100 групп точек 38,057 441 13,5030е-007

12 нейронов 160 групп точек 63,578 542 14,7440е-007

Таблица 3

Результаты обучения нейронных сетей методом градиентного спуска с

учетом моментов

Число Количество Время

нейронов в групп точек обучения Количество Погрешность

промежуточном в обучающей сети, эпох классификации

слое выборке с

8 нейронов 100 групп точек 434,096 5000 0,0133

8 нейронов 160 групп точек 560,315 5000 0,0138

10 нейронов 100 групп точек 431,142 5000 0,0034

10 нейронов 160 групп точек 583,036  5000 0,0043

12 нейронов 100 групп точек 436,354 5000 0,0145

12 нейронов 160 групп точек 593,925 5000 0,0159

Таблица 4

Результаты обучения нейронных сетей методом градиентного спуска с

учётом моментов и с адаптивным обучением

Число Количество Время

нейронов в групп точек обучения Количество Погрешность

промежуточном в обучающей сети, эпох классификации

слое выборке с

8 нейронов 100 групп точек 27,858 319 9,3493е-007

8 нейронов 160 групп точек 36,652 319 10,0160е-007

10 нейронов 100 групп точек 28,582 314 9,8913е-007

10 нейронов 160 групп точек 39,68 312 9,3940е-007

12 нейронов 100 групп точек 27,27 310 11,0380е-07

12 нейронов 160 групп точек 38,007 312 14,1030е-007

Погрешность классификации - это основной критерий анализа результатов обучения. Обратим внимание на значения времени обучения сети и количества эпох.

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

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

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

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

Сделаем основной вывод: наилучшим образом обучаются сети, методом тренировки которых являются метод градиентного спуска с адаптивным обучением или метод градиентного спуска с учетом моментов и адаптивным обучением (последний алгоритм предпочтительнее). Данные методы обучения показывают погрешность классификации на 4-5 порядков меньше, чем метод градиентного спуска и метод градиентного спуска с учетом моментов.

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

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

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

операций. Во-вторых, оно не только раскладывает сигнал на некоторое подобие частотных полос (путем анализа его в различных масштабах), но и представляет временную область, то есть моменты возникновения тех или иных частот в сигнале (рис. 5). Данное предположение является целью дальнейшего исследования оптимизации работы нейронных сетей.

На рис. 6 и 7 представлено разложение

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

Signal and Approximation at level 1

Рис. 5. Сигнал и его аппроксимация на уровне 1

Details Coefficients

500

Scale of colors from MIN to MAX

Рис. 6. Разложение функции энергии под действием, вейвлет-функции

Хаара

50 100 150 200 250 300 350 400 450 500

Scale oi colors from min to МАХ

Рис. 7. Разложение функции энергии под действием вейвлет-функции

Добеши

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

В связи с этим поверхность функции ошибки строится в трехмерном пространстве в базисе вес - смещение -ошибка, что расширяет возможности вей-влет-анализа.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Ежов А. А. Нейрокомпьютинг и его применение в экономике и бизнесе: учеб. пособие / А. А. Ежов, С. А. Шумский. - М. : МИФИ, 1998. - 224 с.

2. Кальченко Д. «КомпьютерПресс» / Д. Кальченко [Электронный ресурс]. - Режим доступа: http : //www.neuroproject.ru/articles-dak-nn.php. - Загл. с экрана.

3. Научная библиотека компании BaseGroup Labs [Электронный ресурс]. - Режим доступа: http : // www.basegroup.ru/library/analysis/neural/conjugate/. - Загл. с экрана.

4. Терехин А. Т. Всероссийская междисциплинарная научная конференция «Третий возраст старшее поколение в современной информационной среде» / А. Т. Терехин, Е. В. Будилова, JI. М. Качалова [Электронный ресурс]. - Режим доступа: http : //www.conf.muh.ru/080l30/thesis-Terehin. htm. - Загл. с экрана.

5. Универсальная интернет-энциклопедия Википедия [Электронный ресурс]. - Режим доступа: http : //ru.wikipedia.org/wiki/_вейвлет-преобразование. - Загл. с экрана.

6. Универсальная интернет-энциклопедия Википедия [Электронный ресурс]. - Режим доступа: http : //ги.гуг/сгрес?га.огр/г1;г/сг/Метод_обратного_рах:пространения_ошибки. - Загл. с экрана.

7. Универсальная интернет-энциклопедия Википедия [Электронный ресурс]. - Режим доступа: http : //ru.wikipedia.org/гиг^сг/Метод-сопряженных-градиентов. - Загл. с экрана.

8. Электронный учебник StatSoft [Электронный ресурс]. - Режим доступа: http : //www.statsoft.ru/ home/portal/applications/Neural Networks Advisor/Adv — new/DeltaBarDelta.htm. - Загл. с экрана.

9. Электронный учебник StatSoft [Электронный ресурс]. - Режим доступа: http : //www.statsoft.ru/ home/portal/applications/Neural Networks Advisor/Adv—new / QuickPropagation.htm. - Загл. с экрана.

Поступила 26.09.10.