Подбор коэффициентов и сравнение эффективности детерминированных алгоритмов обучения НС
Все рассмотренные алгоритмы обучения НС связаны только с определением направления на каждом шаге, но ничего не говорят о выборе коэффициента обучения
, хотя он оказывает огромное влияние на скорость сходимости: слишком малое значение
не позволяет минимизировать
за один шаг в заданном направлении и требует повторных итераций, слишком большой шаг приводит к «перепрыгиванию» через минимум целевой функции и фактически заставляет возвращаться к нему. Существуют различные способы подбора h. Простейший из них основан на фиксации h=const на весь период оптимизации, практически используется только в АНС при обучении в режиме «online» и имеет низкую эффективность, поскольку никак не связан с величиной и направлением
на данной итерации. Обычно величина h подбирается отдельно для каждого слоя НС, чаще всего с использованием соотношения
(3.15)
где ni – количество входов i – го нейрона в слое.
Более эффективный способ – адаптивный выбор h с учетом динамики изменения в процессе обучения, когда тенденция к непрерывному увеличению h сочетается с контролем суммарной погрешности
на каждой итерации. При этом
(3.16)
где ky, kв – коэффициенты уменьшения и увеличения ht соответственно, kn – коэффициент допустимого прироста погрешности e. Заметим, что реализация этой стратегии выбора h в NNT MATLAB 6.5 при kn = 1.41, ky = 0.7, kв = 1.05 позволила в несколько раз ускорить обучение многослойных НС при решении задач аппроксимации нелинейных функций.
Наиболее эффективный, хотя и наиболее сложный, метод подбора h связан с направленной минимизацией в заранее выбранном направлении
, когда значение ht подбирается так, чтобы новое решение
соответствовало минимуму
в направлении
. Чаще всего определение оптимальной величины h связано с представлением
полиномом 2–го или 3–го порядка от h
(3.17)
где для определения коэффициентов ai используют информацию о величине и ее производной в направлении
, а значения hопт получают из условия минимума Р2(h) или Р3(h) согласно
для Р2(h) или
для Р3(h).
Эффективность алгоритмов обучения проверяется на стандартных тестах, к которым относятся задачи логистики (предсказания последующего значения хn+1 случайной последовательности по предыдущему значению xn), кодирования и декодирования двоичных данных, аппроксимации нелинейных функций определенного вида, комбинаторной оптимизации («задача коммивояжера») и т.п. Сравнение идет по количеству циклов обучения, количеству расчетов , чувствительности к локальным минимумам и т.д. Поскольку эти характеристики могут существенно отличаться в зависимости от характера тестовой задачи, то однозначный ответ на вопрос, какой алгоритм считать абсолютно лучшим, дать невозможно.
В качестве возможного примера сравнения эффективности рассмотренных методов обучения в табл. 3.1 представлены результаты обучения многослойного персептрона со структурой 1–10–1, предназначенного для аппроксимации одномерной функции на основе обучающей выборки из 41 элемента. Все алгоритмы обучения были реализованы в пакете дополнений NNT MATLAB, что послужило основой для получения объективных оценок. Видно, что наибольшую эффективность продемонстрировал АЛМ, за ним идут АПМ (BFGS) и АСГ. Наихудшие результаты (по всем параметрам) показал АНС, а эвристический алгоритм RPROP в этом примере был сравним с АПМ и АСГ. Заметим однако, что на основании более общих тестов был сделан вывод, что доминирующая роль АЛМ и АПМ снижается по мере увеличения размеров НС, и при числе связей больше 103 наиболее эффективным становится АСГ.
Таблица 3.1