Диссертация (785777), страница 24
Текст из файла (страница 24)
Если перейти к решению задачи поисканачальных значений параметров, достаточно близких к минимуму, то можно предположить,что они являются решениями схожих задач. То есть, требуется найти такую последовательность задач, что:первая задача является достаточно простой — и ее решение может быть найдено длялюбых начальных значений параметров;каждая последующая задача схожа с предыдущей — их решения близки в пространстве126значений параметров;последовательность сходится к исходной, требуемой задаче.Последовательно обучая сеть на данных задачах, можно надеяться достигнуть достаточно глубокого минимума. Подходы, основанные на схожих идеях, предлагались и ранее [90–93]: какправило, предполагалось обучение сети на последовательности задач возрастающей сложности (хотя это, по-видимому, не является обязательным требованием).
Применение такого родаалгоритмов в большинстве случаев приводило к значительному улучшению результатов обучения. В данном случае, для задачи многошагового прогноза, естественным образом можнопредложить следующую последовательность задач:задача одношагового прогноза;задача двухшагового прогноза;............задачаN -шагового прогноза.Очевидно, первая задача является наиболее простой — более того, при ее решении рекуррентная сеть будет обучаться как обычная сеть прямого распространения. Требуемая задачаN -шагового прогноза является наиболее сложной, поскольку обучение сети будет производиться на наиболее длинной последовательности.
Итак, целевая функция для задачи прогнозанаk шагов будет иметь следующий вид:Jk =1n kXkXk(n k) i=1 j =1(xi+jnet(: : : net(xi ; ui ; w); : : : ; ui+j 1; w))2;(2.61)где xi — вектор переменных состояния в дискретный момент времени i; ui — вектор переменных управления в дискретный момент времени i;w — вектор настраиваемых параметровНС-модели.Алгоритм обучения, согласно рассматриваемой процедуре, состоит из следующих шагов:Шаг 1. Подготовить обучающее множествоствоX valval nfxvali ; ui gi=1 .X traintrain nfxtraini ; ui gi=1 и контрольное множе-Шаг 2. Выбрать значение целевой точности "goal .Шаг 3. Выбрать значение максимально допустимого роста погрешности max .Шаг 4.
Выбрать значение максимально допустимого числа эпох с ростом погрешности наконтрольном множестве smax .127Шаг 5. Выбрать начальные значения параметровw0 (например, случайные).Шаг 6. Установить текущее число эпох с ростом погрешности на контрольноммножествеs0.Шаг 7. Установить текущее число шагов прогнозаШаг 8.
Решить задачу оптимизацииШаг 9. Если "train1argminw J1 (X train ; w), "train1(nJ1 (X train ; w1 ).1)-шагового прогноза на контрольном множествеJn 1 (X val ; w1 ).Шаг 11. Установить новое число шагов прогноза k +Шаг 12. До тех пор, пока k +Шаг 13. Если k +6nk.trainmax+1 и "traink+ < "k + , делать kk+ + 1.= k, то вернуться к шагу 5.Шаг 14. Решить задачу оптимизации"traink+1.> "goal , то вернуться к шагу 5.Шаг 10. Вычислить погрешность"val1w1kwk+argminwJk+ (X train ; w),Jk+ (X train ; wk+ ).Шаг 15. Если "traink+> "goal , установить k+Шаг 16. Вычислить погрешность(nk+1 и вернуться к шагу 13.1)-шагового прогноза на контрольном множествеJn 1 (X val ; wk+ ).valШаг 17. Если "valk+ > "k , установить s"valk+Шаг 18.
Если s>sШаг 19. Если k +maxs + 1., то вернуться к шагу 5.k+ , иначе закончить: wn 1 — искомые параметрыНС-модели, являющиеся решением задачи (n 1)-шагового прогноза.< n 1, установить kДанный алгоритм показал свою высокую эффективность в серии вычислительгных экспериментов и был успешно применен для решения ряда задач моделирования и идентификацииДС. Примеры такого применения рассматриваются в разд. 6.5.
Чтобы показать, как работает описанный выше алгоритм, рассмотрим демонстрационный пример. Это рекуррентная сеть (см. рис. 2.41), которая содержит единственный настраиваемый параметр, соответственно, ее функция ошибки — это функция одной переменной,что удобно для визуализации процесса поиска решения. Данная сеть реализует рекуррентныесоотношения вида:8< x1 (k + 1) =:tanh(x1 (k) + wx2 (k) + p(k));x2 (k + 1) = tanh(x1 (k)):128x2 (k + 1)x1 (k + 1)w111p(k)q −1x2 (k)x1 (k)РИС.
2.41. Демонстрационный пример: Рекуррентная НС с одним настраиваемымпараметром1MSE0.80.60.40.20−7−6−5−4−3−2−101234wРИС. 2.42. Функция ошибки для задачи прогноза на 199 шагов, достигнут локальныйминимумФункция ошибки для этой сети в задаче прогноза на 199 шагов показана на рис.
2.42. Впроцессе поиска на этом рельефе достигнут лишь локальный минимум функции ошибки.На рис. 2.43 показано, как меняется рельеф функции ошибки для последовательности задач прогноза, когда число шагов составляет 2, 7, 148 и 199. Кривые, отвечающие различному числу шагов, помечены цифрами 1 (2-шаговый прогноз), 2 (7-шаговый прогноз), 3 (1481292 step7 step148 step199 step011.213MSE0.80.60.40.2240−7−6−5−4−3−2−101234wРИС. 2.43. Функции ошибки для последовательности задач прогноза, достигнут глобальный минимумшаговый прогноз) и 4 (199-шаговый прогноз). Видно, что в итоге достигнут глобальный минимум функции ошибки.В разд.
6.2 приводится пример, позволяющий оценить работоспособность данного подходак организации обучения рекуррентных НС-моделей на примере существенно более сложнойприкладной задачи.2.4.2 Алгоритмы обучения динамических НС-моделейОсновным инструментом, используемым для обучения динамических НС-моделей, выполненных в виде рекуррентных сетей, являются градиентные алгоритмы обучения. К числутаких алгоритмов относятся, в частности, следующие, наиболее часто применяемые для решения задачи обучения динамических сетей [77–79]:обратное распространение во времени (BPTT — Back Propagation Through Time);рекуррентное обучение в реальном времени (RTRL — Real-Time Recurrent Learning);расширенный фильтр Калмана (EKF — Extended Kalman Filter).Рассмотрим кратко основные особенности этих алгоритмов.1302.4.2.1 Обратное распространение во времениВ алгоритме BPTT отклик НС-модели вычисляется для всего набора моментов времени,в которые фиксировались данные, включаемые в обучающий набор.
Затем производится вычисление градиента, начиная с завершающего момента времени и далее назад, в обратномвремени, по направлению к входу сети.Алгоритм BPTT достаточно эффективен в вычислительном плане, однако его затруднительно использовать в оперативном (on-line) режиме (вначале должен быть достигнут завершающий момент времени, что не всегда возможно по смыслу решаемой задачи).Основная идея алгоритма BPTT состоит в том, что любую рекуррентную сеть можнопредставить в виде эквивалентной ей по поведению слоистой сети прямого распространенияс числом слоев, равным числу временны̀х тактов работы рекуррентной сети.На рис. 2.44 показан пример (см.
[94], с. 355; [95]) развертывания рекуррентной сети вэквивалентную ей по поведению многослойную сеть прямого распространения. Характерныеособенности сети B, показанной на этом рисунке состоят в том, что: 1) веса связей от слоя кслою не меняются; 2) значения одноименных весов в сетях А и В одни и те же.Ошибка данной сети на отрезке времени от n0 до n1 вычисляется следующим образом:n1 X1Xe2 ;E (n0 ; n1 ) =2 n=n0 j 2A j(2.62)где A — множество индексов j тех нейронов, для которых заданы желаемые отклики; ej (n) —сигнал ошибки для этих нейронов.Невязка j -го нейрона (для всехj 2 A):Æj (n) =где vj (n) — выход сумматора j -го нейрона,E (n0 ; n1 );vj (n)(2.63)'(vj (n)) — активационная функция, вычисляетсяследующим образом:Æj (n) =8>><'0 (vj (n))ej (n);X0>wjk Æk (n + 1) ;>:' (vj (n)) ej (n) +k2An = n1 ;n0 < n < n1 :(2.64)Вычисления для Æj (n) повторяются с момента времени n1 , шаг за шагом, пока не будетдостигнут момент времени n0 .131РИС.
2.44. Пример развертывания рекуррентной сети А в эквивалентную ей по поведениюмногослойную сеть В прямого распространения: А — полносвязная сеть из двух элементов;B — сеть прямого распространения с поведением таким же, как и у сети АПосле вычисления невязок Æj (n) всех нейроновтических весовj 2 A можно найти корректировки синап-wji:wji = где — скорость обучения; xi (nв момент времениnn1XE (n0 ; n1 )=Æj (n)xi (n 1);wjin=n0 +1(2.65)1) — входной сигнал, поданный на i-й синапс j -го нейрона1. Сравнение алгоритма BPTT со стандартным алгоритмом обратногораспространения ошибки (BP) показывает, что главное различие между ними состоит в том,что для BPTT, в отличие от BP, известны желаемые отклики для всех слоев эквивалентнойсети прямого распространения, так как эти слои получены дублированием выходного слояисходной рекуррентной сети.132*$"?O1Output Layer OTimeDelayWORR1WRIWRCContext Layer CWRCjlC1Input Layer IРИС.
2.45. Сеть Элмана:IWORkjTime DelayRecurrent Layer R— входной слой;R... Cl ... C|C|... Ok ... O|O|I1... Rj ... R|R|WRIji... Ii ... I|I|— рекуррентный (скрытый) слой;O—O(',.$ PQ G(+51(B$6 /!6 +&.$ 6$"/(1$6 .$5.$*$!"/"(&! &0 U1+/!R* G78?выходной слой; C — контекстный слой; W RI ; W RC ; W OR — матрицы весов связей меж-ду входным и рекуррентным, контекстным и рекуррентным, рекуррентным и выходнымслоями,V!("*&0 соответственно"#$ (!5," 1/-$./!6 "#$ .$,..$!" 1/-$. ! /!6 "#$ &,"5," 1/-$." /.$ 0,11- &!!$"$6 "#.&,'# 2$('#"* # ! /!6 # " ; .$*5$"()$1-; /* (! "#$2.4.2.2 Рекуррентноеобучение в реальном0$$60&.2/.6+,1"(1/-$.