УДК 681.513.7
А.М. ЧЕРНОДУБ*, Д.В. НОВИЦЬКИЙ*
МЕТОД СЕМПЛЮВАННЯ ДЛЯ БОРОТЬБИ З ЕФЕКТОМ ЗНИКНЕННЯ ГРАД1СНТ1Б У РЕКУРЕНТНИХ НЕЙРОМЕРЕЖАХ
1нститут проблем математичних машин i систем НАН Украши, Кшв, Украша
Анотаця. Ефект зникнення градгентгв е стльною проблемою навчання рекурентних i глибоких нейромереж. У cmammi розроблено метод для оцтки внеску кожного прикладу з навчальног eu6ip-ки у градiент цыьовог функцп навчання. Запропоновано новий утверсальний метод, який дозволяе утримувати норму градiентiв у задовтьних межах. Для експериментальног перевiрки нашого тд-ходу використано спещальш синтетичш бенчмарки для тестування нейромереж на здаттсть виявляти довготривалi залежностi. Навчена з використанням даного методу рекурентна нейро-мережа з одиничними затримками може знаходити залежностi мiж подiями в часових по^дов-ностях довжиною до 100 i бтьше тактiв.
Ключовi слова: ефект зникнення градiентiв, рекурентна нейронна мережа, регуряризащя градiе-нтiв.
Аннотация. Эффект исчезновения градиентов является общей проблемой обучения рекуррентных и глубоких нейросетей. В статье разработан метод для оценки вклада каждого обучающего примера из выборки в градиент целевой функции обучения. Предложен новый универсальный метод, который позволяет удерживать норму градиентов в приемлемых пределах. Для экспериментальной проверки нашего подхода использованы специальные синтетические бенчмарки для тестирования нейросетей на способность выявлять долговременные зависимости. Рекуррентная нейросеть с единичной линией задержек, обученная с использованием данного метода, может находить зависимости между событиями во временных последовательностях длиной до 100 и более тактов.
Ключевые слова: эффект исчезновения градиентов, рекуррентная нейронная сеть, регуляризация градиентов.
Abstract. Vanishing gradients effect is a common problem for recurrent and deep neural networks. In this paper we construct a method to estimate a contribution of each training example to the norm of the long-term components of the target functions gradient. We propose a novel universal technique that makes the norm of the gradient stay in the suitable range. To check our framework experimentally we use a special synthetic benchmarks for testing RNNs on ability to capture long-term dependencies. Our recurrent network can detect links between events in the (temporal) sequence at the range 100 and longer. Keywords: vanishing gradients effect, recurrent neural network, gradient regularization.
1. Вступ
Ефект зникнення гpадieшiв e найбшьш серйозною перешкодою для ефективного навчання глибоких i рекурентних персептронно-подiбних нейромереж. Якщо для глибоких нейромереж було винайдено методи перенавчання з використанням обмежених машин Больцма-на [1] та автоенкодерiв [2], для рекурентних нейромереж найбшьш поширеним засобом боротьби з ефектом зникнення градieнта e модифшащя арх^ектури нейромереж для отримання бшьш сприятливо'1 динамши для зворотного потоку похщних. Першим прикладом можна назвати нейромережi NARX, що тд час виконання процедури «зворотного по-ширення в часЬ> (Backpropagation Through Time, BPTT), завдяки лшп затримок, мають прямi зв'язки мiж вихщною похибкою i «старими» шарами, розгорнутими у час [3]. В цьому випадку градieнт, що поширюеться назад за правилом BPTT, одразу потрапляе на вщдалеш у час «старЬ» шари нейрошв у чаа, не просуваючись через велику кшькють промiжних шарiв.
© Чернодуб А.М., Новицький Д.В., 2016
ISSN 1028-9763. Математичш машини i системи, 2016, № 2
1ншим прикладом е резервуарш нейромережi (Echo State Networks, ESN) [4], що можуть розглядатися як велик резервуари розрщжено пов'язаних нейронiв з довшьно rni-цiалiзованими ваговими матрицями, яю виробляють хаотичну динамiкy. Для резервуарних нейромереж градiенти похибки розраховуються лише для останнього нерекурентного шару нейрошв i цього може бути достатньо для навчання довгостроковш динамщ [5]. В той же самий час резервуарш нейромережi для багатьох задач мають зайву кiлькiсть вшьних параметрiв. Iнодi ix критикують як неефективний зааб для використання для задач нейро-yправлiння [6]. 1нший пiдхiд, який було спецiально розроблено для навчання довгостроко-вим залежностям, е нейромережi довго-короткотривало'1 пам'ятi (Long-Short Term Memory, LSTM) [7]. Ц нейромереж мають складну внyтрiшню структуру з елементсв, що назива-ються «кл!тини» ("cells") i включають в себе вхщш гейти. Гейти для забування можуть адаптивно стирати або поновлювати внyтрiшню пам'ять. Внyтрiшнi рекурентш зв'язки мають константнi значення градiентiв зворотного поширення. Можливо, це найбшьш популярна сiм'я моделей рекурентних нейромереж для багатьох практичних задач, що де-монструе state-of-the-art показники якосп для задач розпiзнавання мови [8], генерування текспв для тдпису зображень [9] та нейронного машинного перекладу [10]. 1дея використання вхщних гейтiв та гейтiв для забування надихнула багатьох дослщниюв; нейромереж! GRU (Gated Recurrent Units), можливо, е найбшьш усшшним нащадком LSTM [11]. Наре-шт!, нещодавно стльна команда Google та Facebook здшснила масштабний експеримент з пошуку найбшьш вдало'1 архiтектyри для рекурентних нейромереж [12]. Вони виконали масштабний чисельний експеримент i перебрали 10 000 довшьних LSTM-подiбних арх^е-ктур з 230 000 гiперпараметрiв i отримали кiлька нових моделей рекурентних нейромереж, а також рекомендацп для полшшення нейромереж LSTM. 1снують i шдходи для кла-сифшацп послщовностей [13].
Разом з тим, питання, як навчати прост! рекурентш нейромереж SRN для виявлення довготривалих залежностей, все ще залишаеться актуальним науковим питанням. Це дуже важливо, як мшмум, для кращого розумшня процеав, що протшають тд час навчання глибоких та рекурентних нейронних мереж. Також, нейромереж SRN - найбшьш компакты i швидю рекурентш нейромереж, що може бути важливим для ix реалiзацii на мобшь-них та вбудованих приладах.
Останш дослiдження показують спроможшсть навчати нейромереж SRN виявлен-ню багатокрокових залежностей з використанням кшькох теxнiк [14-17]. Вони включають в себе вивiренy iнiцiалiзацiю початкових вагових коефiцiентiв нейромереж^ перемасшта-бування великих градiентiв, використання бшьш ефективних методiв навчання 1-го порядку, таких, як моменту Нестерова. Наш метод засновано на щй штучного тдсилення або зменшення «старих» градiентiв для розгорнутих назад у час нейромереж.
2. Динамика зворотного поширення похибки в рекурентних нейромережах типу Simple Recurrent Network
На кожному крощ часу k нейромережа SRN отримуе вектор зовшшнього входу u(k), вектор попереднього стану z(k — 1) i виробляе вихщний вектор y (к +1):
де win - матриця вхщних вагових коефщешив, wrec - матриця рекурентних зв'язюв, wout - матриця вихщних зв'язюв, a(k) - вектор пресинаптичних активацш, z(k) - вектор пост-
a(k) = u(k )wm + z(k — 1)wrec + b, z(k) = f (a(k)), y (k + 1) = g (z(k k)w out),
(1)
(2)
(3)
синаптичних активацш (або сташв нейромережi), f (•) i g(-) - нелiнiйнi активацiйнi функ-цп для прихованого та вихщного шару нейронiв вщповщно. Для нейромереж SRN викори-стовуються активацшш функцп гiперболiчного тангенса для прихованого шару i функцп softmax або лшшна функщя в залежносп вщ щльово'1 задачi (класифiкацiя або регрейя).
Шсля обробки вхщно'' послщовносп u(1), u(2),...,u(k) i виробки вихщного вектора y (k +1) обчислюеться похибка Е (k +1) i розраховуються динамiчнi похщш функцп похи-
дЕ
бки по вагових коефщентах нейромереж - методом BPTT. Шсля застосування зворот-
dw
ного поширення похибки обчислюються миттев! похщш —дЕ i динамiчнi похщш
dw(n)
дЕ
и BPTT
— як сума миттевих похщних: dw
"ддЕ^ртт v ^ дЕ dw И=1 dw(k — n)'
де n = 1,...,h, а h - порядок уйкання (truncation depth) BPTT.
Похщш для n -го шару у час розгорнуто'1 нейромережi SRN приймають вигляд дЕ , ч дЕ , N с _дЕ
= u(n)T 6(n), -= z(n — 1)T 8(n), де б = — - локальнi градiенти. Для
дw ,n(n) 9w rec (n) дя
останнього шару розгорнуто'1' в час нейромережi локальш градiенти б - це нев'язка похибки e(k) = y(k +1) — y (k +1), для наступних шарiв вщповщш локальнi градiенти обчислюються згщно з вщомою формулою зворотного поширення похибки:
d (n—1)=f' a (n—1)£ wiA (n). (5)
i
Запишемо останне р!вняння в матричнiй форм!:
6(n — 1) = 6(n)wTrecdiag (f' (a(n — 1))), (6)
де diag конвертуе вектор у д!агональну матрицю. Р!вняння (6) може бути переписане з ви-користанням матриц! якоб!ана J(n) = д^^^ ;
6(n — 1) = 8(n)J(n), (7)
де J(n) = wTrecdiag (f '(a(n — 1))). (8)
3. Причини ефекту зникнення градieнтiв
Тепер можна пояснити ефект вибуху/зникнення град!ент!в, що дослщжувався у класичних [18, 19] i нових роботах [15, 17]. Як випливае з (7), норма зворотно-поширених локальних град1еш!в строго залежить вщ норми якоб!ашв, тому що локальш град!енти е добутком якоб!ашв:
6(n — 2) = 8(n)J(n)J(n — 1), (9)
6(n — h) = 6(n) J(n) J(n — 1).. .J(n — h +1). (10)
Чим "старшГ' локальш градieнти, тим бшьше матриць якобiанiв було помножено для 1х обчислення. Якщо норма якобiанiв бiльше 1, локальнi градieнти будуть експонен-цiйно зростати, вiдбуваeться ефект "вибуху градieнтiв". Це вiдповiдаe ситуацп поведiнки рекурентних нейромереж, коли довготривалi компоненти е бiльш важливими, шж коротко-тривалi. I навпаки, якщо норма якобiанiв менше 1, це приводить до ефекту зникнення гра-дieнтiв i "забування" довготривалих випадюв.
Оскiльки якобiани (8) мiстять множення одше! i тсе! само! матриц вагових коефiцi-
eнтiв wrec, це в бiльшостi випадюв приводить до експоненцiйного збiльшення або змен-
шення !х норм. Це подiбно до ситуацп, коли ми перемножуемо дшсш числа кiлька раз на
самих себе, тобто, a" ® ¥, якщо a > 1, i a" ® 0, якщо a < 1 при n ® ¥ .
На практищ норми якобiанiв при навчанш часпше бувають менше 1, тому що нор-ми двох множникiв у (8) часто мають тенденцiю бути менше 1. Для першого множника,
звичайно, wTec < 1, оскшьки велик норми приводять до неробастно! поведiнки нейромереж. Це мотивуе використання iнiцiалiзацп вагових коеффщешив матриць малими числами, що приводить до малих норм початкових матриць вагових коефщентв.
Також можна згадати методи регуляризацп для нейромереж, що запоб^ають збшь-шенню норми матриць вагових коефщешив пiд час навчання. Що стосуеться другого множника в (8), то в випадку використання норми L2 це дорiвнюe модулю найбшьшого власного значення матрищ; в нашому випадку використовуеться дiагональна матриця, за-повнена дiйсними значеннями, тому дана норма е найбшьшим елементом вектора похщ-них постсинаптичних значень f' (a(n — 1)) . Максимальне значення похщних для функцп
гiперболiчного тангенса 1, для сигмо!ди ^^ . Тому \diag(f '(a(n — 1))) < 1 для гiперболiчно-
го тангенса i jdiag (f' (a(n — 1))) < 1 гiперболiчного тангенса. В той самий час, нав^ь якщо обидва множника в (8) мають норму 1, це, очевидно, не гарантуе одиничну норму J(n) .
4. Метод регуляризацп град1ент1в (псевдорегуляризацн)
Одним iз найбшьш загальних методiв для уникнення ефекту зникнення градieнтiв, запро-понований Р. Паскану, Т. Мшолов i Д. Бенджио, е метод регуляризацп градieнта (gradient regularization) [17, 20]. Дуже подiбний метод одночасно незалежно був запропонований автором у роботах [21-23] i названий псевдорегуляризащя. Але для зручносп ми будемо далi використовувати бiльш поширений термш регуляризацiя градieнта.
1дея пiдходу полягае в керуванш потоком зворотного поширення похибки тд час навчання. В цьому випадку нейромережа вчиться не лише тдлаштовуватись пiд данi на-вчально! вибiрки, але й тримати норму зворотного потоку градieнтiв у певних межах. Це здшснюеться шляхом модифшацп цiльовоi функцii навчання L(w) для виконання багато-критерiальноi оптимiзацп шляхом додавання додаткового члена W(w) , який вiдповiдаe за величину зворотно-поширених градieнтiв:
L(w) = E(w) + iW(w), (11)
де E(w) - цiльова функцiя навчання, що мiнiмiзуe похибку навчання (наприклад, регресп або класифiкацii), W(w) - регуляризатор, що запоб^ае надмiрному зменшенню градieнтiв, l - коефiцieнт, що регулюе вклад регуляризацii градieнтiв у сумарну похибку. В роботах автора [21-23] було запропоновано такий регуляризатор:
W(w) = I((H|S(w,k)|U)2. (i2)
k
Йoгo мeтoю e тдтримка cepeдньoï нopми лoкaльних гpaдieнтiв близькo i. Для ви-
. . Эй^) r . . .
кoнaння дaнoï мeти пoхiднi - були вивeдeнi i вишристаш у гpaдieнтнoму oптимiзa-
Эw
цiйнoму aлгopитмi. Цьoгo булo дocтaтньo для навчання нeйpoкoнтpoлepa для випадку дай-poупpaвлiння [22], aлe в бшьш зaгaльнoму випадку, для навчання pe^pem^nx нeйpoмe-peж, цeй тдхщ пoкaзaв нeзaдoвiльну чутливють i взагал. дужe нecтaбiльну пoвeдiнку тд час навчання.
В [i7] булo викopиcтaнo такий peгуляpизaтop:
Í
W(w) = 2
ЭE Эz(k + i)
Эz(k + i) Эz(k) ЭE Эz(k + i)
Л
2
- i
(i3)
У
Вш пpимушуe якoбiaни Эz(k +i) збepiгaти нopму у напрямку, peлeвaнтнoму на-
Эz(k )
прямку гохибки навчання , а те в дoвiльнoму напрямку, як у згаданих вищe poбoтax
Эz(k )
автора. Ташж так. oбмeжeння e бшьш м'якими, oœ^m вoни cпpямoвaнi лишe на «те
. . . v й й .... ЭА^)
змeншeння» нopми пoпepeднix гpaдieнтiв. V тoй самий час анал.тичн. пoxiднi - для
Эw
(i5) e дужe гpoмiздкими; ïx aнaлiтичнe oбчиcлeння e важшю зaдaчeю. Aвтopи цьoгo тд-xoду викopиcтoвувaли cepeдoвищe Theano, щo мae вбудoвaну cиcтeму oбpoбки cимвoльниx фopмул для aвтoмaтичнoгo oбчиcлeння пoxiдниx. Aлe така функцioнaльнicть нe e загаль-нoпoшиpeнoю, щo уcклaднюe викopиcтaння дaнoгo мeтoду.
5. Диференц1ювання норми градieнта
Пpипуcтимo, мaeтьcя мiнi-пaкeт навчальних даних d = {ui;ti;...;uN,tN }, щo мютить ND приклад.в. Викoнуютьcя прямий i звopoтний пpoxoди нeйpoмepeжi з викopиcтaнням цьoгo
мiнi-пaкeтa, i oбчиcлюютьcя пoxiднi dw = ^^. Terep пoтpiбнo пepeвipити вплив вeктopa
Эw
dw на вaгoвi кoeфiцieнти нeйpoмepeжi w: чи пpивoдить застосування dw дo мш.м.зацп чи максим1зацп нopми звopoтнo-пoшиpeниx гpaдieнтiв. Ми зaцiкaвлeнi в кoнтpoлi нopми
• к/чи ЭE . лoкaльниx гpaдieнтiв p(j , тoму щo нopми пoxiдниx - i знaxoдятьcя у прямш зaлeжнoc-
Эw
т. вщ нopми лoкaльниx гpaдieнтiв.
Теорема. Нexaй Эwrec - матриця вaгoвиx кoeфiцieнтiв peкуpeнтниx зв'язюв нeйpo-мepeжi SRN. Пpипуcтимo тaкoж, щo вжe викoнaнo прямий i звopoтний пpoxoди i oбчиcлe-нo матрицю oнoвлeння dwrec для матриц. peкуpeнтниx зв'язюв, w(r'e+J) = w^ + dwrec . Дocтa-тньoю умoвoю для збiльшeння ||ô(k - h)|| (нopми лoкaльниx гpaдieнтiв, звopoтнo-пoшиpeниx на h кpoкiв назад у час. вщ пoтoчнoгo мoмeнту k ) e dS > 0, дe
dS = (G, dG), (i4)
k
G = (П diag(f'(a(k - i + 1)))wrec 6(k),
V i=h
h (( 1 Л Л
dG = У П diag[f '(a(k - j + 1))]v 6(k)
i=1 Vv j=h J J
V = dw rec, ifi = j; v = w rec, ifi ф j.
(16)
Аналопчно достатньою умовою для зменшення норми локальних гpадieшiв ||6(k - h)|| е dS < 0.
II v 'WFro
Proof. Розглянемо функцiю S'(wrec), яка е нормою Фробешуса (Евклiда) локальних градiентiв (8):
S '(w гес) = 1 |6(k - h, w гес )|| Fro. (17)
Використовуючи (7), (8) i (10), отримаемо
6(k - h) = 6(k )w Trecdiag (f(a(k - 1)))...w Ldiag (f '(a(k - h +1))). (18)
Для зручностi позначимо Dn ° diag(f '(a(n))) i змшимо iндекси крокiв у часi таким чином: (k - h) -й крок - це 1-й крок, (k - h + 1)-й крок - це 2-й крок i так далi, k -й крок - це H -й крок. Таким чином, рiвняння (18) стае
6(1) = 6(H )w rec Dh_xW Ic DH_2...W Ic Dj.
(19)
Оскiльки диференцiювання норми у квадрат бiльш зручне, шж диференцiювання
норми A
Fro
AT
Fro
, (A x B) = B A , можна запропонувати нову службову змiнну G :
(20)
G = D^r^w^DH wrec6(H).
Таким чином, виникае защкавлешсть у дослщженш поведiнки функцп S(wrec) в околi поточноi точки, де
II |2 (21)
S (w rec ) = ||G||Рго.
Для того, щоб проаналiзувати поведшку S, обчислимо диференцiал dS . Знак dS визначае, збшьшуеться S або зменшуеться; модуль dS визначае швидкють змiни. Отже, диференщал dS становить:
dS = 2(G, dG), де G визначаеться (15), а dG обчислюеться як
н
(22) (23)
dG = У 6(k)xD xw x...xD xdw x...xD, xw
/ i V s i rec i rec 1 r
або в iншiй формi:
i=1
H (( н Л Л
dG = У П D j v6(k),
i=1 Vv j=1 J J
v = dw rec , ifi = j; v = w rec, if i ф j.
(24)
Теорему доведено.
6. Метод семплювання для регуляризацн град1ент1в
Вщомо, що навчання рекурентних нейромереж взагалi е достатньо нестабiльною задачею. Модифшащя щльово' функцп для збереження норми градiентiв призводить до додаткових труднощiв навчання навiть, якщо вектори градiентiв модифiкуються в релевантному надЕ
прямку -. Навчання нейромереж SRN з модифiкованою цшьовою функцiею (13) на
dz(k )
послщовностях, що мiстять лише короткострокову iнформацiю, приводить до гГршо'1 якостГ навчання, нiж використання стандартно'!' щльово' функцп навчання. Складнiсть навчання рекурентних нейромереж пов'язана з бшьш складною поверхнею похибок порiвняно з нейромережами прямого поширення; додавання додатково!' мети оптимГзацп ускладнюе поверхню похибок i погiршуе процес навчання. Такi модифшоваш градiенти, що не зовсiм вщповщають цiльовiй похибцi навчання, спричиняють у рекурентних нейромережах так званий "ефект метелика", де малi перетурбацп в даних або вагах нейромереж на початку обробки послщовносп призводять до великих вщхилень траекторп в кГнщ послiдовностi. Це, зокрема, е головною причиною, чому популярш для глибоких нейромереж методи ре-гуляризацп на кшталт "dropout" погано працюють для рекурентних нейромереж [25]. З ш-шого боку, хоча вдала iнiцiалiзацiя вагiв нейромереж дуже важлива, це не гарантуе збГган-ня навчального процесу через причини, згадаш вище. Можна сказати, що це е зворотною стороною рiзноманiття можливостей рекурентних нейромереж моделювати динамiку. Таким чином, нежорстке штелектуальне керування нормою зворотно-поширених градiентiв все ще е штригуючою проблемою для успiшного навчання рекурентних нейромереж дов-готривалим залежностям.
1дея запропонованого методу семплювання для регуляризацп градiентiв полягае в використанш лише "правильних" прикладiв даних для навчання. Використовуючи аналь тичну умову, що була виведена в параграфi 1, тепер можливо точно ощнити вплив кожного прикладу або мшьпакета даних навчально' вибiрки на норму зворотно-поширених гра-дiентiв i використовувати цю iнформацiю для керування нормою зворотного потоку градь ентГв.
У цiй роботi вирiшено використати найпроспший i найбiльш очевидний споаб: ми оцiнюемо норму градiентiв; якщо норма стае дуже мала, ми Ггноруемо у процес навчання мшьпакети, якi зменшують норму, тобто для яких dS < 0. Аналопчно, якщо норма стае дуже великою, ми Ггноруемо мiнi-пакети, що збшьшують цю норму, тобто для яких dS > 0. Важливим практичним зауваженням е рекомендащя не використовувати для навчання тГ мiнi-пакети, для яких абсолютш значення dS приймають велик величини, оскiльки в такому випадку вщбуваються великi стрибки норм градiентiв i подальша осцилящя. Це ви-кликано природою такого алгоритму оптимГзацп, який е подiбним до найпростГшо' реаль зацп методу найскорГшого спуску, який, як вщомо, задовiльно працюе лише за умови невеликих значень компонентГв векторiв корекци вiльних параметрiв.
Для ощнки мГри падiння градiентiв вводиться нова змшна, що носить назву Q-factor, яка дорiвнюе вiдношенню норми локальних градiентiв на початку процедури BPTT до вщ-
ношення норми локальних градiентiв у кГнцГ BPTT: Q(6, h) = log10(.. ^ ( ^ ..) або
||6(k - h)|
0(6, h)=logio (^(kj - logio (| 6(k - h)), (25)
де h - горизонт зворотного поширення похибки BPTT. Для щеального навчання довготри-валим залежностям Q-factor мае бути близьким до 0. На практищ, для залежностей ~ 100 кроюв, якщо Q-factor лежить на вГдрГзку [—1;1], що вщповщае збiльшенню або зменшенню
локальних гpадieшiв пiд час зворотного розповсюдження похибки максимум в 10 разiв, то цього достатньо для навчання рекурентно! нейромереж методом БОБ.
Опис алгоритму
Припустимо, що маемо вибiрку {и, Т} для навчання нейромережь Задамо апрiорi допус-тимi межi падiння або зростання градiентiв, так звану «безпечну зону», визначивши дiапа-зон \qmin ; омах ].
Для кожного мiнi-пакета а = {иг.; 1 {} , що мiстить Ымю прикладiв з навчально! ви-бiрки {и, Т}:
- обчислити диференщал ; якщо аЬ$(ё8) > 1, ^норувати цей мшьпакет;
- виконати прямий i зворотний проходи нейромережi, обчислити Q-factor 0(5, И) за формулою (25);
- якщо 0(5) е \омш; омах ], вважати падшня (зростання) градiентiв задовiльним;
„ . . дЕ .
використати наявний мiнi-пакет аг. для отримання похiдних - i навчання нейромере-
дw
ж1;
- iнакше, якщо 1) 0(5, И) < 0мш i > 0 або 2) 0(5, И) > 0мах i dS < 0 - викорис-тати наявний мiнi-пакет для навчання, шакше - iгнорувати цей мшьпакет_
Даний алгоритм можна образно порiвняти з процесом управлшня в^ильним судном: поки судно знаходиться в безпечнш зонi, воно пливе туди, куди дме в^ер. Якщо ж воно потрапляе в небезпечну зону, то в^ила тдшмаються лише в тому випадку, якщо вь тер дме в напрямку виходу з небезпечно! зони.
7. Задач1 для виявлення здатност рекурентних нейромереж виявляти довготривал1 залежност1
У вщомш роботi [20] було запропоновано набiр синтетичних бенчмаркiв для тестування здатносп нейромереж навчанню довгостроковим залежностям. Цей набiр став фактичним стандартом серед дослщниюв, що розробляють алгоритми навчання рекурентних нейромереж [5, 18, 27]. Точш умови формулювання задач дещо вiдрiзняються в рiзних роботах, але в данiй робот використовуеться визначення з [17].
Задача «Додавання» («AAdition ргоЫет»). За умовою задач^ нейромережа послщов-но отримуе на вхщ вектори, що мають двi компоненти (рис. 1). Перша компонента («Шум») мютить випадковi значення, а друга компонента («Маркер») - нул^ за виключен-ням двох випадково визначених у час моментiв, коли ця компонента приймае значення "1".
О
0.1 0.0 0.5 0.1 0.2 0.2 0.6 0.2 0.3
0 0 0 1 0 0 0 1 0
<— ->
т
Рис. 1. Задача «Додавання»
Метою навчання нейромереж! е апроксимащя суми тих двох шумових сигналiв, яю вiдповiдають маркерам "1" тсля обробки всiеi послщовносп. Результат додавання вважа-еться коректним, якщо похибка менше 0,04. Чим бшьша довжина послiдовностi Т, тим
важча задача, оскшьки залежшсть мiж ключовими моментами стае бiльш довготривалою.
Для кожно1 послiдовностi семплюеться величина Т' з вiдрiзку
Т
ТТ 10
маркера е довiльне цiле число з вiдрiзку
1,
10
. Перша позицiя а друга позищя маркера обираеться з вщ-
рiзку
Т' , Т'
— +1,— 10 2
. Довшьш значення належать рiвномiрному розподiленню в межах [0,1].
Метою навчання нейромережi е оцiнка значення суми позначених маркерами значень пос-лщовносп, подiлена на 2.
Задача «Множення» («МиШрИсаИоп ргоЫет»). Задача щентична задачi «Додаван-ня», але метою навчання е результат перемноження, а не додавання.
Задача ««Порядоку чаЫ» (««етропо1 опОетргоЫет»». Нехай маемо щльовий словник з двох символiв {А, в} та шумовий словник з 4-х символiв {а, е, е, /}. Для кодування сим-волiв у послiдовностi тут i далi використовуеться бiнарне кодування, також вщоме як "опе-Ьо1;-епсоёт§". Послiдовнiсть символiв рiвномiрно семплюеться зi словника шумових сим-волiв, за винятком двох випадкових позицiй, коли символи випадково вибираються з цi-
Т 2Т
льового словника. Перша позищя обираеться довшьно з вiдрiзку
, а друга - з вщ-
рiзку
10 10
. Метою навчання е визначення порядку, в якому цiльовi символи мютять-
4Т 5Т 10 , 10
ся в послщовносп, тобто, один з 4-х варiантiв: {АА, АВ, ВА, ВВ}.
Задача ««Порядок у чаЫ З-ЪЫ» (««-ЪЪ 1етропо1 опОее рооШет»). Задача щентична за-
дачi «По Т 2Т" 10, 10
рядок у часi», але ми маемо три випадковi позицil: перша семплюеться на вiдрiзку
друга - на вiдрiзку
3Т 4Т 10 , 10
i третя - на вiдрiзку
6Т 7Т 10 , 10
8. Результати експеримент1в
Для навчання використовуються рекурентнi нейромережi БЯК з прихованим шаром з 100 нейрошв i активацiйною функцiею гiперболiчного тангенса 1апЪ, для вихiдного шару ней-ронiв була використана лшшна активацiйна функцiя для задач регресп i функцiя sпftрax для задач класифшацп. Як метод оптимiзацil було використано стохастичний градiентний спуск (БОБ) з моментом. З метою виконання коректного порiвняння спочатку були згене-рованi множини по 10 нейромереж i збереженi. При навчаннi рiзними методами варiюва-лися т1льки алгоритми навчання, початковi ваговi коефiцiенти нейромереж були, таким чином, одш й т! самi. В наших експериментах дiапазон [<2мт;0МАх] задано як [—1;1].
Швидюсть навчання була встановлена а = 10—5, момент ц = 0,9, розмiр мiнi-пакетiв 10 прикладiв. Вибiрка для тренування мiстить 20 000 прикладiв для навчання, 1000 прикладiв для валщацп i 10 000 прикладiв для тестування. Процес навчання мютить 2000 епох, у ко-жнш було використано по 50 ^ерацш; тобто, загалом 100 000 оновлень вагових коефщен-тiв. Вiдбiр найкращо! нейромереж1 пiд час навчання здшснюеться за принципом «Бауе ЬеБ1»: тсля кожно1 епохи проводиться тестування на валщацшнш виборцi, та нейромере-жа, що показала найкращий результат за весь час навчання, тестуеться на тестовш виборщ, цей результат вважаеться остаточним.
Правильно iнiцiалiзувати ваговi коефщенти нейромережi перед навчанням дуже важливо для устшного навчання в цшому. Останнi досягнення в теорil глибоких нейромереж прямого поширення засноваш на методах попереднього навчання вагових коефщенпв
нейромереж з використанням автоенкодер1в або обмежених машин Больцмана [20]. У ви-падку рекурентних нейромереж хороша шщ1ал1защя ще важливша, оскшьки падш-ня/зростання град1ент1в мае в бшьшосл випадюв монотонний характер через те, що градь енти пропускаються через одну 1 ту саму матрицю рекурентних зв'язюв.
Вагов1 коефщенти нейромереж з кшьюстю нейрошв у прихованому шар! К = 100 були шщ1ал1зоваш малими випадковими значеннями з нормального розподшення з нульо-вим, середшм 1 середньоквадратичним в1дхиленням о = 0,01, як в [17]. На рис. 2 показан графши середшх норм град1ент1в нейромереж, розгорнутих назад у час методом ВРТТ, що були ш1щал1зоваш з р1зними параметрами середньоквадратичним вщхиленням о. Експе-римент проводився на даних задач! «Порядок у часЬ>.
а) ° = 0,01 б) о = 0,005 в) о = 0,02
Рис. 2. Граф1ки середтх норм у час зворотно-поширених град!енив методом ВРТТ для нейромереж! БКЫ, !н!ц!ал!зованнх дов!льннмн значеннями з р!зною дисперс!ею,
горизонт ВРТТ И = 100
Кожний графш на рис. 2 мютить дв1 крив!: середню норму локальних град1ент1в
дЕ
5(к) (суцшьна лш!я) та середню норму гращенпв Aw(k)оmc = -- (пунктирна лшя). З
^ отс
графтв на рис. 2 можна переконатися на практищ, що для контролю норм град1ент1в ,
дw
як змшюють вагов1 матриц! нейромереж! ! найб!льше нас щкавлять, достатньо контролю-
вати лише норми локальних град!ент!в 5(к), оскшьки норми град!ент!в безпосередньо
дw
залежать в!д них.
Як видно на рис. 2, теч!я зворотних град!ент!в е дуже чутливою до параметр!в розподшення випадкового процесу, з якого беруться мал! значення для ш1щал1заци вагових коефщенпв. Величина дисперсп о = 0,01, що використовуеться в наших експериментах ! була запозичена з [17], забезпечуе плавну ! р!вном!рну течш град!ент!в (рис. 2 а). Q-factor для тако! течи град!ент!в 0(5, И) » 0,7 при И = 100. Це добре для пошуку законом!рностей як для довготривалих, так ! для короткотривалих залежностей. Але зменшення або збшь-шення дисперс!! вдв!ч! веде до катастроф!чних насл!дк!в для початково! течи гращенпв (рис. 2 б ! в) в!дпов!дно. При дисперс!! о = 0,005 середня норма град!ент!в за И = 100 кро-
_25
юв назад падае менше 10 , тут 0(5, И) > 25, це класичний випадок ефекту зникнення гра-д!енпв - «стар!» вхщш дан! практично не мають впливу на фшальну похибку Е^) \ на
навчання нeйpoмepeжi. При диcпepciï s = 0,02, навпаки, cepeдня нopмa гpaдieнтiв вибу-xoвo зpocтae, тут Q(ô, h) < -б, i на тохибку мають вплив лишe «стар.» вхщш дан..
Heйpoмepeжi, щo були тогата iнiцiaлiзoвaнi, мають мал. шанси дoбpe навчитися з викopиcтaнням мeтoдiв oптимiзaцiï i-гo пopядку на кшталт SGD для задач, щo мютять дo-вгoтpивaлi i кopoткoтpивaлi зaлeжнocтi. Ц пoяcнюeтьcя, пo-пepшe, cлaбкoю чутливютю мeтoдiв i-гo пopядку дo малих кюливань знaчeнь гpaдieнтiв, а пo-дpугe, лoкaльним харак-тepoм гpaдieнтниx мeтoдiв oптимiзaцiï взагаль
Пpoтe xopoшa шщ.ал.защя ^ e гapaнтieю уcпiшнoгo навчання. На рис. 3 оказаний oкpeмий випaдoк навчання нeйpoмepeжi SRN, а caмe, пpoцecи пpямoï i звopoтнoï динамки, щo вщбуваються в cepeдинi нeйpoмepeжi. Зл.ва пoкaзaнi графши звopoтнo-пoшиpeниx торм гpaдieнтiв назад у час., справа - cepeднi i мeдiaннi знaчeння активацш для р.зних так-т.в у час.. Heйpoмepeжa, пoкaзaнa на рис. 3, була iнiцiaлiзoвaнa з диcпepcieю s = 0,0i, i графк падшня ïï гpaдieнтiв був тод.бний дo рис. 2 а. Aлe вжe шсля 500 iтepaцiй навчання торми гpaдieнтiв впали дo знaчeнь мeншe i0-7. Дал. мaйжe вecь час навчання нeйpoмepeжa
знaxoдилacь у зoнi малих гpaдieнтiв 10-7...i0-8. З графЫв на рис. 3, зл.ва, виднo, зoнi малих гpaдieнтiв вiдпoвiдaють знaчeння активацш нeйpoмepeжi шд час навчання, щo чacтo знaxoдятьcя в зoнi нacичeння. Taxi знaчeння активацш e oзнaкoю пoгaнoï здaтнocтi нeйpo-мepeжi дo навчання i узaгaльнeння [2i].
iteration=90000
iteration=90000
iteration=90000
iteration=90000
Рис. 3. Евoлюцiя динам1ки в cepeAnm neüpoHe-peжi SRN тд час навчання бeз peгуляpизaцiï гра-дieнтiв. Зл1ва: графжи cepeднix нopм у чаш звo-poтнo-пoшиpeниx за мeтoдoм BPTT гpaдieнтiв ö(k). Справа: cepeднi i мeдiaннi знaчeння активацш a(k) вcepeдинi
Рис. 4. Евoлюцiя динамки в cepeдинi ^ñpoHe-
peжi SRN тд час навчання з peгуляpизaцieю гpaдieнтiв мeтoдoм ceмплювaння. Зл1ва: графки
cepeднix нopм у чаш звopoтнo-пoшиpeниx за мeтoдoм BPTT гpaдieнтiв ö(k ). Справа: cepeднi i мeдiaннi знaчeння актващй a(k) вcepeдннi
Викopиcтaння peгуляpизaцiï гpaдieнтiв дoзвoляe утримувати нopми звopoтнo-пoшиpeниx гpaдieнтiв цieï нeйpoмepeжi вщ зникнeння aбo кaтacтpoфiчнoгo зpocтaння. На рис. 4, зл.ва, пoкaзaнi графки таких торм для rie'! caмoï нeйpoмepeжi, щo i на рис. 3, are яка на цeй раз навчалася з викopиcтaнням peгуляpизaцiï гpaдieнтiв мeтoдoм ceмплювaння. З графЫв виднo, нopми гpaдieнтiв лeжaть у прийняттому дiaпaзoнi, тут Q(ô, h) g \- i;i]. Вiдпoвiднi графки знaчeнь активацш на рис. 4, справа, токазують бшьш зaдoвiльну внут-р.шню динамку, щo мaйжe знахюдяться в зoнi нacичeнocтi.
На рис. 5 показано яюсть навчання нейромереж для задачi «Порядок у чай» з вико-ристанням та без використання регуляризацп градieнтiв запропонованим методом семплю-вання для наборiв iнiцiалiзованих наборiв з 10-ти нейромереж.
Як видно з графшв на рис. 5, використання розроблено! регуляризацп градieнтiв дозволяе полiпшити яюсть навчання моделей. Для довжини послщовностей T = 50 i за умови добре пвдбра-них гiперпараметрiв навчання з якiстю майже 100% правильних вщповщей можливо i без використання регуляризацп градiентiв. Для довжин T = 100 i T = 150 в середньому полшшення склало близько 10-20%. Якщо вважати успiшною модель, що забезпечуе
Рис. 5. Яюсть роботи навчених нейромереж на задач1 «Порядок у чай» в залежност вщ довжини послщовность Зл1ва: найкращ1 значення навчених нейромереж. Справа: середш значення точност навчених нейромереж
кiлькiсть правильних вщповщей вище 99%, то для послщовностей Т = 100 це мало вирь шальне значення. Для шших задач результати експериментiв наведено в табл. 1.
Таблиця 1. Кшьюсть правильних вщповщей навчених нейромереж для рiзних задач, що мютять довготривалi залежностi, без регуляризацп градiентiв (звичайний спосiб навчання) та з регуляризащею градiентiв (запропонований спойб), параметр T = 100
«Додавання» «Множення» «Порядок у чай» «Порядок у чай 3-bit»
best mean best mean best mean best mean
Без регуляризацп 99% 68% >99% 72% 96% 44% >99% 50%
З регуляризащею >99% 96% >99% 68% >99% 60% >99% 62%
Для послщовностей довжини Т = 100 ми змогли натренувати принаймш одну успь шну модель (з точшстю >99%, як вимагаеться в [19]) для вйх чотирьох задач з викорис-танням запропонованого методу. Для двох задач («Додавання» i «Порядок у чай») успiшне навчання було неможливе з використанням традицiйного навчання. На жаль, для послщовностей довжини Т = 150 не вдалося навчити устшну модель ш за допомогою запропонованого методу, ш за допомогою традицшного методу. Тим часом, з використанням запропонованого методу регуляризацп градiентiв вдалося полшшити кращi i середнi показники майже в уйх випадках.
Таблиця 2. Кшьюсть правильних вiдповiдей навчених нейромереж для рiзних задач, що мютять довготривалi залежностi, без регуляризацп градiентiв (звичайний спосiб навчання) та з регуляризащею градiентiв (запропонований спойб), параметр T = 150_
«Додавання» «Множення» «Порядок у чаш» «Порядок у чай 3-bit»
best mean best mean Best mean best mean
Без регуляризацп 34% 11% - - 51% 30% 32% 24%
З регуляризащею 47% 13% - - 72% 42% 37% 30%
Додатково треба вщзначити декiлька важливих моментiв стосовно використання методу семплювання для псевдорегуляризацп градiентiв. Ti елементи вибiрки, що були не використаш алгоритмом навчання, не обов'язково втрачеш для подальшого використання.
По-перше, таю приклади можуть бути використат тд час знаходження нейромережi в «безпечнш» зонi. Стохастична природа алгоритму SGD сприяе такому розвитку подш. Подруге, через певний час може виникнути потреба змши норми градieнтiв у протилежному напрямку. Наприклад, буде потрiбно не зменшувати, а збшьшувати норму. По-трете, ваговi коефщенти нейромережi поступово змiнюються, i т приклади, що зменшували норму градiентiв, можуть почати ii збiльшувати, i навпаки.
Другим зауваженням е чутливють методу семплювання для регуляризацп градiентiв до вибору гiперпараметрiв, яка е взагалi притаманною для навчання нейромереж, що здш-снюеться для методiв оптимiзацп 1-го порядку. Диапазон «безпечних норм градiентiв» Q(5, h) е [—1;l] було знайдено емпiрично для тих задач, що використовувалися для експе-риментiв. Для iнших задач i довжин залежностей у даних цей дiапазон може бути шшим.
10. Висновки
У роботi було запропоновано метод семплювання для регуляризацп градiентiв (псевдоре-гуляризацп) для контроля норми градiентiв пiд час навчання. Це тдвищило здатнiсть нейромереж пiдтримувати довготривалу пам'ять в середин рекурентних зв'язкiв без введен-ня тако! апрюрно! шформацп в арх^ектуру нейромережi. В цьому випадку нейромережа вчиться не лише тдлаштовуватись тд данi навчально! вибiрки, але й тримати норму зво-ротного потоку градiентiв у певних межах. Було експериментально дослщжено розробле-ний алгоритм та показано збшьшення ефективностi навчання рекурентних нейромереж типу Simple Recurrent Network на довгострокових (до T = 150 кроюв) залежностях на 1020%. Важливою практичною перевагою запропонованого вдосконаленого алгоритму регуляризацп градiентiв е можливють його реалiзацп в системах математичного моделювання без вбудовано! системи символьно! математики для автоматичного обчислення похщних.
СПИСОК Л1ТЕРАТУРИ
1. Hinton G. E. Reducing the dimensionality of data with neural networks / G.E. Hinton, R.R. Salakhutdi-nov // Science. - 2006. - Vol. 313, N 5786. - P. 504 - 507.
2. Greedy layer-wise training of deep networks / Y. Bengio [et al.] // Advances in neural information processing systems. - 2007. - Vol. 19. - P. 153.
3. Bone R. Advanced Methods for Time Series Prediction Using Recurrent Neural Networks / R. Bone, H. Cardot // Recurrent Neural Networks for Temporal Data Processing. - 2011. - P. 25.
4. Jaeger H. The "echo state" approach to analysing and training recurrent neural networks-with an erratum note / H. Jaeger // German National Research Center for Information Technology GMD Technical Report. - Bonn, Germany, 2001. - Vol. 148. - 34 р.
5. Jaeger H. Long short-term memory in echo state networks: Details of a simulation study / H. Jaeger // Technical report, Jacobs University Bremen. - 2012. - 29 p.
6. Prokhorov D. Echo state networks: appeal and challenges / D. Prokhorov // Neural Networks. IJCNN'05. Proc. IEEE International Joint Conference on. - 2005. - Vol. 3. - P. 1463 - 1466.
7. Hochreiter S. Untersuchungen zu dynamischen neuronalen Netzen: Master's thesis / Hochreiter S. - Institut fur Informatik, Technische Universitat, Munchen, 1991. - 74 p.
8. Graves A. Speech recognition with deep recurrent neural networks / A. Graves, A. Mohamed, G. Hinton // Acoustics, Speech and Signal Proc. (ICASSP), IEEE International Conference on. - 2013. - P. 6645 - 6649.
9. Donahue J. Long-term recurrent convolutional networks for visual recognition and description / J. Donahue // Proc. of the IEEE Conference on Computer Vision and Pattern Recognition. - 2015. - P. 2625 -2634.
10. Graves A. Towards end-to-end speech recognition with recurrent neural networks / A. Graves, N. Jait-ly // Proc. of the 31st International Conference on Machine Learning (ICML-2014). - Beijing, China, 2014. - P. 1764 - 1772.
11. Cho K. On the properties of neural machine translation: Encoder-decoder approaches / K. Cho // Proc. Eighth Workshop on Syntax, Semantics and Structure in Statistical Translation (SSST-8). - Doha, Qatar, 2014. - P. 103 - 111.
12. Ozefowicz R. An empirical exploration of recurrent network architectures / R. Ozefowicz, W. Zarem-ba, I. Sutskever // Proc. of the 32nd International Conference on Machine Learning (ICML-15). - Lille, France, 2015. - P. 2342 - 2350.
13. Rachkovskij D. Approaches to sequence similarity representation / D. Rachkovskij A. Sokolov // Journal of Information Theories and Applications. - 2005. - Vol. 13. - N 3. - P. 272- 278.
14. Mikolov T. Statistical Language Models based on Neural Networks: Ph.D. thesis, manuscript / Mikolov T. - Brno University of Technology, 2012. - 129 р.
15. Bengio Y. Advances in Optimizing Recurrent Networks / Y. Bengio, N. Boulanger-Lewandowski, R. Pascanu // Proc. of IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), (26-31 May 2013). - Vancouver, Canada, 2013. - P. 8624 - 8628.
16. Sutskever I. Training Recurrent Neural Networks: Ph.D. thesis, manuscript / Sutskeve I. - University of Toronto, 2013. - 93 р.
17. Pascanu R. On the difficulty of training recurrent neural networks / R. Pascanu, T. Mikolov, Y. Bengio // Proc. of the 30th International Conference on Machine Learning (ICML-2013) . - Atlanta, USA. - 2013.
- P.1310 - 1318.
18. Bengio Y. Learning long-term dependencies with gradient descent is difficult / Y. Bengio, P. Simard, P. Frasconi // Neural Networks, IEEE Transactions on. - 1994. - Vol. 5, N 2. - P. 157 - 166.
19. Hochreiter S. Long short-term memory / S. Hochreiter, J. Schmidhuber // Neural computation. - 1997.
- Vol. 9, N 8. - P. 1735 - 1780.
20. Bengio Y. Deep learning MIT Press book in preparation [Електронний ресурс] / Y. Bengio, I.J. Goodfellow, A. Courville // Режим доступу: www. iro. umontreal. ca/~ bengioy/dlbook.
21. Chernodub A.N. Training Neuroemulators Using Multicriteria Extended Kalman Filter and Pseu-doregularization for Model Reference Adaptive Neurocontrol / A.N. Chernodub // IEEE IV International Congress on Ultra Modern Telecommunications and Control Systems (ICUMT'2012), (St. Petersburg, Russia, October 3 - 5, 2012). - St. Petersburg, 2012. - P. 397 - 402.
22. Чернодуб А.Н. Обучение нейроэмуляторов с использованием псевдорегуляризации для метода нейроуправления с эталонной моделью / А.Н. Чернодуб // Искусственный интеллект. - 2012. - № 4.
- C. 602 - 614.
23. Чернодуб А.М. Навчання рекурентних нейронних мереж методом псевдорегуляризацй для ба-гатокрокового прогнозування часових рядiв / А.М. Чернодуб // Математичш машини i системи. -2012. - № 4. - С. 41 - 51.
24. Glorot X. Understanding the difficulty of training deep feedforward neural networks / X. Glorot, Y. Bengio // International conference on artificial intelligence and statistics. - 2010. - P. 249 - 256.
25. Zaremba W. Recurrent neural network regularization / W. Zaremba, I. Sutskever, O. Vinyals // arXiv preprint arXiv: 1409.2329. - San Diego, USA, 2015. - P. 1001 - 1008.
26. Martens J. Learning recurrent neural networks with hessian-free optimization / J. Martens, I. Sutskever // Proc. of the 28th International Conference on Machine Learning (ICML-11). - 2011. - P. 1033 - 1040.
Стаття над1йшла до редакцп 05.04.2016