УДК 519.8
А.В. Скороходов, А.В. Тунгусова
Сравнительный анализ градиентных методов минимизации в задаче обучения многослойного персептрона
Приводится сравнительный анализ градиентных методов минимизации целевой функции ошибки в задаче обучения нейронной сети. Представлены описание и характеристики этих методов. Результаты анализа и численных экспериментов показали, что наиболее эффективным для обучения нейронной сети является метод сопряженных градиентов.
Ключевые слова: нейронная сеть, градиентные методы.
Процедура классификации облачности и подстилающей поверхности (ПП) по типам необходима для решения различных научных и практических задач. С развитием космических систем дистанционного зондирования Земли стало возможным проведение широкомасштабного мониторинга атмосферы, земной и водной поверхности. Использование информации о текстуре является одним из возможных вариантов описания объектов на спутниковых снимках. Для настройки нейронной сети (НС) необходимы эталонные образцы текстур облачности и ПП. Задача обучения НС заключается в коррекции весовых коэффициентов нейронов таким образом, чтобы при предъявлении НС схожих по текстуре образцов она относила их к определенному типу облачности и ПП.
Алгоритм обратного распространения ошибки является самым распространенным методом обучения многослойного персептрона и основан на вычислении целевой функции ошибки, которую необходимо минимизировать. Для этого применяются градиентные методы (ГМ) минимизации. В классическом алгоритме [1] используется метод наискорейшего спуска. Однако можно применять и другие ГМ, которые рассматриваются в данной статье. При этом ГМ имеют ряд ограничений и особенностей при их использовании для обучения НС. Целью данной работы является сравнительный анализ ГМ минимизации в задаче обучения НС для классификации облачности и ПП по типам на основе спутниковой информации.
Описание нейронной сети
Для классификации облачности и ПП использовался трехслойный персептрон, архитектура которого показана на рис. 1. Сеть состоит из двух скрытых и выходного слоев. Первый скрытый слой содержит F нейронов, второй — S нейронов, а число нейронов выходного слоя L равно числу классифицируемых типов облачности и ПП.
Элементами матрицы W(г) являются весовые коэффициенты нейронов г -го слоя; V j, ц£, щ -
суммарные сигналы, приходящие на вход нейронов в первом, втором и выходном слоях соответственно. Активационная функция нейронов имеет вид гиперболического тангенса.
На вход НС подается вектор X = (Т[,Т2,Тз,...,Т22), где Т1,Т2,Т3,...,Т22 - масштабированные значения текстурных признаков, вычисленные для эталонных фрагментов изображения облачности и ПП. Для описания текстуры снимков используется статистический подход [2], в основе которого лежит вычисление матриц смежности яркости пикселей для нескольких угловых направлений. Энергия, энтропия, максимальная вероятность, однородность и контраст вычисляются по матрицам для четырех угловых направлений. Первый начальный момент и вариация рассчитываются по яркости пикселей эталонного фрагмента изображения.
В процессе обучения сети на ее вход последовательно предъявляются векторы признаков обучающих образцов. Вычисляются отклики нейронов всех слоев. Затем рассчитывается функция ошибки, которая для последовательного режима обучения равна
Е^) = 2 I (у£ - )2,
2 £=1
Т т
где у = [у1, У2,...., Уь ] - текущий отклик сети на входной сигнал, d = [^1,^2,....,^ ] - вектор ожи-
даемых выходных сигналов сети.
После предъявления каждого образца происходит подстройка весовых коэффициентов нейронов каждого слоя по формуле
W (/ + 1) = W (/) + ДW (/),
где ДW(/) = п(1 )p(W) - величина коррекции весовых коэффициентов; п(/) - коэффициент обучения на / -м шаге, а p(W) - направление поиска минимума E(W) в многомерном пространстве W. В классическом алгоритме обратного распространения ошибки традиционно используется метод наискорейшего спуска, в котором направление поиска минимума определяется выражением
р^) = -УЕ^). (1)
Метод наискорейшего спуска находит тот минимум, который расположен ближе всего к начальной точке. При этом найденный минимум может быть не глобальным, а локальным. Вторым серьезным недостатком метода наискорейшего спуска является его чувствительность к форме окрестности минимума. По сравнению с другими алгоритмами метод наискорейшего спуска требует меньших затрат памяти ЭВМ и довольно быстро достигает приемлемого уровня ошибки с заданной погрешностью, хотя к точному минимуму функции E(W) может сходиться довольно медленно.
Ниже будут рассмотрены три ГМ минимизации целевой функции ошибки, используемые для обучения НС: метод сопряженных градиентов, переменной метрики и Левенберга-Марквардта.
Градиентные методы минимизации
В методе переменной метрики направление поиска определяется выражением
р^) = -[И^)]-1 УЕ^), где H(W) — матрица Гессе, которая должна быть положительно определенной на каждом шаге, что практически неосуществимо. Поэтому вместо точной матрицы H(W) используют ее приближение С^) [3]. Если изменение W и VE(W) на двух последовательных шагах итерации обозначить, как « иг соответственно, а матрицу, обратную приближению матрицы Гессе V = [С (W)] 1, то в соответствии с формулой Бройдена—Флетчера—Гольдфабра—Шенно (ББОБ) матрица V(/) на / -м шаге определяется выражением [4]
V(/) = V(/-1) ---------V(/-1)88ТV(/-1)+-Т-ггТ .
8Т V(/-1)« гт 8
Данный метод характеризуется быстрой сходимостью, однако обладает рядом недостатков: менее устойчив, чем метод сопряженных градиентов, имеет тенденцию «застревать» в локальных минимумах и требует затрат памяти ЭВМ, пропорциональной квадрату числа весов в сети. Областью применения этого метода являются сети небольшого размера (несколько сотен связей).
В методе сопряженных градиентов выбор направления поиска определяется вектором
р(ГО) = -УЕ(ГО) + Р(/-1)р^(/-1)), (2)
где Р(/ -1) — коэффициент сопряжения, который накапливает информацию о предыдущих направлениях поиска минимума целевой функции. Существуют несколько методов расчета коэффициента сопряжения: Полака—Рибьера, Флетчера—Ривса и три метода, основанных на взаимной ортогональности градиентов [4].
Метод сопряженных градиентов рекомендуется использовать для сетей с большим числом весов (более двух-трех сотен) и с несколькими выходными элементами [5]. Затраты памяти ЭВМ пропорциональны числу весов, а не их квадрату, а время обучения чуть больше или сравнимо с временными затратами метода ББОБ.
В методе Левенберга-Марквардта приближенная матрица Гессе рассчитывается по формуле
с ^)=[ ^)] а( W)+к^),
где J(W) - матрица Якоби, а К(W) - компоненты И(W), содержащие высшие производные относительно W . В основе подхода лежит аппроксимация К(W) с помощью регуляризационного фактора у х I, где у - скалярная величина (параметр Левенберга—Марквардта), изменяющаяся в процессе минимизации, I - единичная матрица. Это самый быстрый и надежный алгоритм минимизации. Однако его применение связано с определенными ограничениями: он используется только для сетей с одним выходным элементом, а также требует затрат памяти ЭВМ, пропорционально квадрату числа весов в сети. Фактически это ограничение не позволяет обучать сети большого размера (порядка тысячи и более весов) [3].
Методика и результаты анализа
Для проведения численного эксперимента по обучению НС было выбрано два метода: наискорейшего спуска и сопряженных градиентов. Использование метода переменной метрики является неэффективным, так как задача классификации облачности по типам предполагает построение НС, имеющей несколько тысяч связей. Метод Левенберга—Марквардта, согласно [3] невозможно использовать для обучения сети, предназначенной для классификации нескольких типов облачности и ПП.
Применение метода сопряженных градиентов требует пакетной обработки данных, при которой вычисляется усредненный градиент ошибки по всей обучающей выборке, и веса корректируются один раз в конце каждой эпохи. Под эпохой понимается предъявление на вход НС всей обучающей выборки. Метод наискорейшего спуска предполагает последовательную обработку данных, когда веса всех нейронов сети пересчитываются после предъявления каждого образца.
Начальное направление в методе сопряженных градиентов определяется вектором (1). Далее расчеты ведутся по формуле (2). Если ошибка возрастает, т.е. выполняется условие Е^(/+1)) > E(W(/)), то направление поиска выбирается в соответствии с (1) из последней найденной точки. Также смена направления p(W) производится через каждые Q (суммарное число весов сети) шагов, так как после этого исчерпываются возможности сопряжения [5].
Ключевыми факторами, влияющими на скорость и качество обучения НС, являются параметры методов минимизации: п(/) - для метода наискорейшего спуска и Р(/ -1) - для сопряженных градиентов. Рассмотрены следующие способы задания п(/):
- Пу (/) подбирается эмпирически и остается фиксированным на протяжении всего периода
обучения для всех слоев;
- в процессе обучения уменьшается от заданного начального значения по (/) до Пт (/) с фиксированным шагом Дп(/) для всех слоев;
- подбирается эмпирически и остается фиксированным на протяжении всего периода обучения
для каждого слоя пЦ (/), (/), (/) соответственно;
- в процессе обучения уменьшается от заданных значений По1)(/),По2)(/), По3)(/) до
Птгг (/), ПтР (/), ПтР (/) с фиксированным шагом Дп(1) (/), Дп(2) (/), Дп(3) (/) для каждого слоя соответственно;
- для каждого нейрона выбирается обратно пропорционально квадратному корню из суммы его синаптических весов.
В качестве примера рассмотрим трехслойную НС с числом нейронов в слоях Е = 22, 5 = 11 и Ь = 2 , которая обучалась двум типам текстур по 20 образцам для каждой. Сеть обучалась повторно 20 раз для каждого способа задания коэффициента п(/). Оценки времени обучения приведены в табл. 1. Наиболее точные результаты классификации получаются при 1, 3 и 4-м способах задания коэффициента обучения. В дальнейшем был выбран 4-й способ, т.к. время обучения и количество эпох при его использовании было наименьшим.
Таблица 1
Время обучения и количество эпох при различных способах задания п(/)
№ Способ задания п(1) Среднее время обучения, с Среднее количество эпох
1 П г (1) = 0,01 430 11949
2 П0 (1) = 0,5; цт (1) = 0,01; Д^(/) = 0,001 13 218
3 П^(/) = 0,03; п((2)(1) = 0,02; ц(1)(1) = 0,01 219 5867
4 п01) (1) = 0,3; цтт}(1) = 0,03; Д^(1)(/) = 0,001; п02)(1) = 0,2; П(т2)(1) = 0,02; Дп(2) (1) = 0,001; п03)(1) = 0,1; Лт^) = 0,01; ДП(3)(1) = 0,001 32 545
5 п£}(/) = 1/л/22; п((2)(/) = 1Д/Й; ^(1) = ^ 17 253
Способы задания коэффициента сопряжения, перечисленные выше, анализировались на примерах функций Вуда и Розенброка [4]. По результатам анализа были выбраны методы, для которых поиск минимума осуществлялся за наименьшее число итераций:
»1„ [та(№(0)-УЕ((/-1))]ГЇЕ(\У(0) „2„ 1Ч [їЕ(\У(0)-УЕ(\У(/-1))]ГЇЕ(№(0)
Р (1 1) т ? Р (1 1) 2 ,
[[УЕ(\¥(/))-УЕ((-1))]] р((-1)) И\¥(/-1—
где ||^|2 - евклидова норма.
Далее выбранные способы использовались для обучения сети из рассмотренного выше примера. Скорость обучения зависит от начального выбора направления поиска, которое задается случайно [5]. В табл. 2 приведены оценки скорости обучения. Коэффициент р1 был выбран, исходя из наименьшего среднего времени обучения сети.
Таблица 2
Сравнение времени обучения и количества эпох для разных коэффициентов сопряжения
Коэффициент сопряжения Среднее время обучения, с Среднее количество эпох
в1 31 778
в2 63 1618
После выбора способов вычисления параметров п(/) и Р(/ -1) проводилось сравнение методов наискорейшего спуска и сопряженных градиентов для сети с Е = 22, 5 = 11 и Ь = 3 или Ь = 4 . При этом сеть обучалась по 20 образцам для каждого типа текстуры. При Ь = 3 анализировался снимок МОБ18 территории Аргентины с разрешением 250 м (рис. 2, а). Приведенные результаты классификации на рис. 2, б и в совпадают с данными наземных метеостанций. Светло-серым цветом выделена кучевая облачность, темно-серым - слоистая и черным - поверхность океана. Сходство и однородность выделенных областей облачности и ПП с незначительным числом разрывов свидетельствуют об эффективности исследуемых ГМ. Выбор наиболее эффективного метода осуществлялся исходя из минимального времени обучения НС, приведенного в табл. 3. При этом более эффективным оказался метод сопряженных градиентов, так как среднее количество эпох и время обучения было меньше, чем при использовании метода наискорейшего спуска.
Таблица 3
Время обучения и количество эпох для методов наискорейшего спуска и сопряженных градиентов
Метод Среднее время обучения, с Среднее количество эпох
Ь = 3 Ь = 4 Ь = 3 Ь = 4
Наискорейшего спуска 612 7428 10382 283009
Сопряженных градиентов 274 2295 7621 98937
а б в
Рис. 2. Результаты классификации текстур облачности и водной поверхности: исходное изображение (а), преобразованное методом наискорейшего спуска (б) и методом сопряженных градиентов (в)
Заключение
В ходе проведенного анализа были определены параметры методов n(l) и в(1 -1), при которых обучение занимает наименьшее время при лучших результатах классификации. Установлено, что время обучения НС двум классам практически совпадает для методов сопряженных градиентов и наискорейшего спуска. При обучении сети трем классам метод сопряженных градиентов более чем в 2 раза быстрее метода наискорейшего спуска, а при четырех классах - уже в 3 раза (см. табл. 3). Таким образом, можно сделать вывод о том, что метод сопряженных градиентов является наиболее эффективным при обучении НС для классификации облачности.
Авторы благодарны В.Г. Астафурову за полезные обсуждения и консультации.
Работа выполнена при частичной финансовой поддержке Минобрнауки РФ (госконтракт № 02.740.11.0674).
Литература
1. Rumelhart D.E. Learning representations of back-propagation errors / D.E. Rumelhart, G.E. Hinton, R.J. Williams // Nature. - 1986. - Vol. 323. - P. 533-536.
2. Харалик РМ. Статистический и структурный подходы к описанию текстур // ТИИЭР - 1979. — Т. 67, № 5. — C. 98-120.
3. Осовский С. Нейронные сети для обработки информации / пер. с польск. И. Д. Рудинского. — M.: Финансы и статистика, 2002. — 344 с.
4. Гилл Ф. Практическая оптимизация / Ф. Гилл, У Мюррей, М. Райт. — М.: Мир, 1985. - 509 с.
5. Спуск по сопряженным градиентам [Электронный ресурс]. - Режим доступа: http://www.stat-soft.ru/home/portal/applications/neuralnetworksadvisor/adv-new/ConjugateGradientDescent.htm, свободный (дата обращения: 24.07.2011).
Скороходов Алексей Викторович
Аспирант Института оптики атмосферы им. В.Е. Зуева СО РАН
Тел.: 8 (382-2) 49-22-56
Эл. почта: [email protected]
Тунгусова Анна Владимировна
Студентка каф. автоматизированных систем управления ТУСУРа
Тел.: 8 (382-2) 49-22-56
Эл. почта: [email protected]
Skorokhodov A.V, Tungusova A.V
Comparative analysis of gradient minimization methods in the task of multilayer perceptron learning
The article presents the comparative analysis of gradient minimization methods of target error function in the task of neural network training. The description and characteristics of these methods are given. The results of the analysis and numerical experiments demonstrate that the conjugate gradient method is most efficient for neural network training.
Keywords: neural network, gradient methods.