2.6. Применение рекуррентного метода наименьших квадратов для обучения нейронных сетейОбучение сети с использованием изложенного в п. 2.5 алгоритма обратного распространения ошибки требует большого количества итераций. Поэтому в литературных источниках приводятся сведения о различных попытках создания более быстрых алгоритмов (см., например, [12]). В работе [1] для обучения нейронных сетей применялся рекуррентный метод наименьших квадратов (recursive least squares - RLS). В качестве меры погрешности использовалось выражение , (2.88) где - так называемый коэффициент забывания (forgetting factor), значение которого выбирается из интервала . Обратим внимание на то, что степень влияния членов выражения (2.88) на его значение возрастает с увеличением номера члена. В ходе дальнейших рассуждений будем использовать обозначения, введенные в п. 2.5, с учетом особенностей, показанных на рис. 2.13, т.е. , (2.89) а также , (2.90) где - обратимая функция, , , . Рис. 2.13. Структура нейрона, применяемого для реализации алгоритма RLS. Если рассчитать градиент меры погрешности и приравнять его к нулю, то получим уравнение (2.91) При использовании зависимостей (2.68) и (2.69) уравнение (2.91) принимает вид (2.92) где . (2.93) Выражение (2.93) задает способ последовательного определения погрешностей в каждом слое, начиная с последнего. При дальнейших преобразованиях получаем последовательность равенств вида (2.94) где . При использовании аппроксимации (2.95) получаем нормальное уравнение , (2.96) векторная форма которого имеет вид , (2.97) где , (2.98) . (2.99) Уравнение (2.97) можно решить рекуррентным способом, без инвертирования матрицы . Это требует использования алгоритма RLS (например, [19]), согласно которому адаптивная коррекция всех весов производится согласно правилам
где , . Начальные значения в алгоритме RLS, как правило, устанавливаются следующим образом: , , (2.104) . (2.105) Начальные значения весов нейронной сети могут также выбираться случайным способом из заранее установленного диапазона.
Пример 2.1 Сравним функционирование алгоритма обратного распространения ошибки (2.86), модифицированного алгоритма (2.87) и алгоритма RLS (2.103). Для этого двухслойную нейронную сеть с сигмоидальными функциями будем использовать для имитации логической системы XOR и декодера 4-2-4. Процесс имитации должен длиться достаточно долго для того, чтобы значение погрешности стало меньше заданного порога , т.е. , (2.106) где в случае логической системы XOR и в случае декодера 4-2-4. На рисунках, иллюстрирующих результаты моделирования, под эпохой (ер) понимается количество итераций, равное числу различных пар векторов входных и эталонных сигналов (один цикл предъявления обучающей выборки). В обоих примерах каждая эпоха состоит из четырех итераций обучающего алгоритма. а) Логическая система XOR. Нейронная сеть имеет 2 входа, 2 нейрона в скрытом слое и 1 выход. Заданный порог равен 0,02. В отдельные эпохи выделены следующие пары векторов входных и эталонных сигналов: , , , . Результаты моделирования представлены на рис. 2.14. б) Декодер 4-2-4. Нейронная сеть имеет 4 входа, 2 нейрона в скрытом слое и 4 нейрона в выходном слое. Заданный порог равен 0,02. В отдельные эпохи выделены следующие пары векторов входных и эталонных сигналов: , . Рис. 2.14. Результаты моделирования логической системы XOR: а) алгоритм обратного распространения ошибки; б) модифицированный алгоритм обратного распространения ошибки (с учетом момента); в) алгоритм RLS. Рис. 2.15. Результаты моделирования декодера 4-2-4: а) алгоритм обратного распространения ошибки; б) модифицированный алгоритм обратного распространения ошибки (с учетом момента); в) алгоритм RLS. Результаты моделирования представлены на рис. 2.15. Легко заметить, что модифицированный (с учетом момента) алгоритм обратного распространения ошибки работает в несколько раз быстрее традиционного алгоритма, тогда как применение алгоритма RLS позволяет увеличить эту скорость еще на порядок.
|