Хайкин С. - Нейронные сети (778923), страница 67
Текст из файла (страница 67)
Линейный поиск я ческая имапия Средиекяадратическая ошибка Рис. 4.26. Обратная параболическая интерполяция Метод Брента (Вгелря шейо()) является "уточненной" версией только что продемонстрированной процедуры интерполяции по трем точкам (858]. На любом конкретном шаге вычислений метод Брента сохраняет шесть точек функции Е,„(т)). Они могут не все отличаться друг от друга. Как и ранее, параболическая интерполяция осуществляется лишь по трем из них.
Чтобы такая интерполяция была приемлемой, должен выполняться соответствующий критерий, в котором участвуют и три оставшиеся точки. В конечном счете получается робастный алгоритм линейного поиска. Нелинейный алгоритм сопряженных градиентов в сжатом виде Теперь имеются все составляющие для формального описания нелинейной (неквадратичной) формы алгоритма сопряженных градиентов для обучения многослойного персептрона. Этот алгоритм в сжатом виде представлен в табл. 4.8. 4.18. Обучение с учителем как задача оптимизации 327 ТАБЛИЦА 4.8. Нелинейный алгоритм сопряженных градиентов для обучения мно- гослойного персептрона без учителя Инициализация Если недоступны априорные сведения о векторе весов зт, начальное значение зт(0) выбирается с использованием процедуры, аналогичной описанной для алгоритма обратного распространения.
Вьгчисления 1. Для тг(0) используем обратное распространение для вычисления вектора градиента 8(0). 2. Устанавливаем в(0) = г(0) = -я(0). 3. На шаге и, используя линейный поиск, находим параметр т)(п), существенно минимизирующий функцию стоимости Е,„(з) ), представленную как функцию от аргумента 1) при фиксированных значениях х и тт. 4. Проверяем, является ли Евклидова норма резидуальной ошибки Йг(п)~! меньше наперед заданного значения, являющегося малой частью исходного значения! |г(0)! 1. 5.
Вычисляем вектор весов; зт(п + 1) = тт(п) + 11(п)в(п). 6. Для тт(п + 1) используем алгоритм обратного распространения для вычисления градиента я(п + 1). 7. Устанавливаем г(п + 1) = — н(п + 1) 8. Используем метод Полаяв-Рибьера для вычисления параметра (3(п+ 1); г(, 1)= ( — """'""-" гг ( п) г(п) 9. Изменяем значение вектора направления: в(п + 1) = г(п + 1) + )3(п + 1)в(п). 10. Переходим к следующей итерации (и = п + 1), т.е. к действию 3. Критерий осталова Алгоритм прекращает работу, если удовлетворяется следующее условие: ))г(п))) < е))г(0))), где в — наперед заданное малое число.
Квазиньютоновкие методы Подводя итог обсуждению квазиньютоновских методов, можно сказать, что все они являются в сущности градиентными методами, описываемыми следующей формулой модификации весов; )н(п + 1) = зг(п) + т) (и)в(п), (4.138) 328 Глава 4. Мноюслойный лерселтрон где вектор направления я(п) описывается в терминах вектора градиента я(п): я(л) = -Б(и)Е(л). (4.139) Матрица 8(п) является положительно определенной и изменяющейся на каждой итерации. Это делается для того, чтобы вектор я(л) соответствовал направлению Ньютона (Хеичоп о)геспоп), а именно: — (д'Е„/дк') '(дЕ„/дтг).
Квазиньютоновские методы используют информацию второго порядка (о кривизне) о поверхности ошибок, не требуя точного знания матрицы Гессе Н. Это достигается с помощью информации о значениях зт(п) и зп(п+1) на двух последовательных итерациях наряду с соответствующими векторами градиентов я(п) и Е(п + 1). Пусть п(п) = Е(п + 1) — я(п) (4.140) Ьтт(п) = зч(п + 1) — ъч(п).
(4.141) Тогда информацию о кривизне можно получить с помощью формулы (4.142) В частности, имея Иг линейно-независимых приращений весов Ьзп(0), Ьзт(1),..., Ьтг(Иг — 1) и соответствующие приращения градиента п(0), ц(1),..., п(И' — 1), можно аппроксимировать Гессиан выражением Н (<~(0), ц(1),..., г1(И' — 1)ЦЬзп(0), Ьтг(1),..., Ьтт(И' — 1)) ~. (4.143) Аналогично можно аппроксимировать матрицу, обратную Гессиану, соотношением Н ' = [Ьзт(0),Ьтг(1),...,Ьзч(Иг — 1)!(ц(0),ц(1),...,ц(И' — 1)) '. (4.144) Если функция стоимости Е,„является квадратичной, равенства (4.143) и (4.144) являются точными. В самом популярном классе квазиньютоновских методов матрица Я(п+ 1) вычисляется рекурсивно с помощью предыдущего значения Я(п) и векторов Ьтт(п) и ц(п) (125), (298]; 4.18. Обучение с учителем как задача оптимизации 329 Ьзт(п)Ьттт(п) 8(п)й(п)к)т(п)Я(п) 8(п + 1) =8(и) + т + г)т(п)й(п) цт(п)$(п)й(п) (4.145) + Р(п)[й~(п)я(п)й(п)][к(п)я г(п)], где гзте(п) Я(п)п(п) Ьчет(п)Ьтг(п) г)т(п)я(и)г)(и) (4.146) 0 < г(и) ( 1 для всех п.
(4.147) ° Если г(п) = О для всех п, получается алгоритм Девидона — Флетчера-Пауэла (ОачЫоп — Е!еГсЬег — Роне! — РРР), который исторически является первым квази- ньютоновским методом. ° Если г(п) = 1 для всех п, получим алгоритм Бройдена-Флетчера — Гольдфарба— Шанно (Вгоудеп — Е)егсЬег — Со!огагЬ-ЗЬаппо), который в настоящее время считается лучшей формой квазиньютоновских методов. Сравнение квазиньютоновских методов с методом сопряженных градиентов Завершим этот краткий обзор квазиньютоновских методов их сравнением методом сопряженных градиентов в контексте задач неквадратнчной оптимизации (125]. ° Оба этих подхода (квазиньютоновский и сопряженных градиентов) избегают прямого вычисления Гессиана. Однако квазиньютоновские методы идут на шаг впереди, обобщая аппроксимацию для матрицы, обратной Гессиану. Это значит, что при точном линейном поиске и нахождении в непосредственной близости от локального минимума положительно определенного Гессиана квазиньютоновские методы стремятся аппроксимировать метод Ньютона, обеспечивая таким образом более быструю сходимость, чем это возможно при использовании метода сопряженных градиентов.
° Квазиньютоновские методы не так чувствительны к точности линейного поиска при оптимизации, как метод сопряженных градиентов. Этот алгоритм начинается с некоторой произвольной положительно определенной матрицы $(0). Конкретные реализации квазиньютоновских методов отличаются выбором скаляра з) (п) (298). 330 Глава 4. Многослойный персептрон ° Квазииьютоиовские методы, в дополнение к операциям матричио-векториого умножения, требуют хранения матрицы Я(п), связанной с вычислением вектора направления з(л). В конечном итоге вычислительная сложность квазииьютоиовских методов оценивается как 0(И'з). В противовес этому вычислительная сложность метода сопряженных градиентов оценивается как 0(Иг).
Таким образом, в вычислительном смысле, если размерность И' вектора весов зч велика, метод сопряженных градиентов является более предпочтительным, чем квазииьютоиовские методы. Именно последний пункт ограничивает применение иа практике квазииьютоиовских методов только небольшими нейросетями. 4.19. Сети свертки До сих пор рассматривались вопросы алгоритмического конструирования многослойного персептроиа и его обучения.
В этом разделе мы скоицеитрируем внимание иа структурной организации самого многослойного персептроиа. В частности, будет описан особый класс многослойных персептроиов, получивший название селгей сверлгки (сопчо1шюпа1 пеггчог1гз). Идея, лежащая в основе этого понятия, была вкратце описана в главе 1. Селгь свертки представляет собой многослойный персептрои, специально созданный для распознавания двумерных поверхностей с высокой степенью инвариант- ности к преобразованиям, масштабированию, искажениям и прочим видам деформации. Обучение решению этой сложной задачи осуществляется с учителем, при этом используются сети, архитектура которых удовлетворяет следующим ограничениям (620). Извлечение признаков.
Каждый нейрон получает входной сигнал от локального рег1еллгивиого поля (гесерйче бе)о) в предыдущем слое, извлекая таким образом его локальные признаки. Как только признак извлечен, его точное местоположение ие имеет значения, поскольку приблизительно установлено его расположение относительно других признаков. Отображение признаков (Теашге шарр)пя). Каждый вычислительный слой сети состоит из множества карт «ризнаков (Теапце шар), каждая из которых имеет форму плоскости, иа которой все нейроны должны совместно использовать одно и то же множество сииаптических весов.