Як LSTM запобігає проблемі градієнта, що зникає?


35

LSTM був винайдений спеціально для уникнення проблеми, що втрачає градієнт. Це слід зробити з каруселем постійної помилки (CEC), який на наведеній нижче схемі (від Greff et al. ) Відповідає циклу навколо комірки .

LSTM
(джерело: deeplearning4j.org )

І я розумію, що цю частину можна розглядати як якусь функцію тотожності, тому похідна є однією, а градієнт залишається постійним.

Що я не розумію, це те, як це не зникає через інші функції активації? Ворота входу, виходу та забуття використовують сигмовиду, похідна якої становить не більше 0,25, а g і h традиційно становлять танг . Як зворотне поширення через ці градієнти не зникає?


2
LSTM - це періодична модель нейронної мережі, яка дуже ефективна при запам'ятовуванні довгострокових залежностей і не є вразливою до проблеми, що зникає. Я не впевнений, яке пояснення ви шукаєте
TheWalkingCube

LSTM: довга короткострокова пам'ять. (Ref: Hochreiter, S. and Schmidhuber, J. (1997). Long Short-Term Memory. Neural Computation 9 (8): 1735-80 · December 1997)
horaceT

Градієнти в LSTM зникають, лише повільніше, ніж у ванільних РНН, що дозволяє їм піти на більш віддалені залежності. Уникнення проблеми зниклих градієнтів все ще є сферою активних досліджень.
Артем Соболєв

1
Хочете підтримати повільніші зникнення з посиланням?
bayerj

пов’язано: quora.com/…
Піноккіо

Відповіді:


22

Зникаючий градієнт найкраще пояснюється в одновимірному випадку. Багатовимірність є більш складною, але по суті аналогічною. Ви можете переглянути його у цій чудовій роботі [1].

Припустимо, що у нас є прихований стан за часом крок t . Якщо ми робимо речі простими і видалити перекоси і входи, ми маємо ч т = σ ( ж ч т - 1 ) . Тоді ви можете це показатиhtt

ht=σ(wht1).

Фактор, позначений !!! є вирішальним. Якщо вага не дорівнює 1, вона або знизиться до нуля експоненціально швидко вt-t, або зростатиме експоненціально швидко.

htht=k=1ttwσ(whtk)=wtt!!!k=1ttσ(whtk)
tt

У LSTM, у вас є стан комірки . Похідна там має вигляд s t st Тутvt- вхід у ворота забуття. Як бачимо, тут не бере участь експоненціально швидкий занепад фактор. Отже, існує хоча б одна траса, де градієнт не зникає. Про повне походження див. [2].

stst=k=1ttσ(vt+k).
vt

[1] Паскану, Разван, Томаш Міколов та Йошуа Бенджо. "Про складність навчання повторюваних нейронних мереж". ICML (3) 28 (2013): 1310-1318.

[2] Байєр, Джастін Саймон. Навчання поданням послідовностей. Диски. Мюнхен, Technische Universität München, дис., 2015, 2015.


3
Для lstm, чи h_t також не залежить від h_ {t-1}? Що ви маєте на увазі у своєму документі, коли кажете, що ds_t / d_s {t-1} "є єдиною частиною, де градієнти протікають через час"?
користувач3243135

@ user3243135 h_t залежить від h_ {t-1}. Однак припустимо, що ds_t / d_s {t-1} зберігається, навіть якщо інші градієнтні потоки зникають, весь потік градієнта не зникає. Це вирішує зникнення градієнта.
солоіце

ttσ(whtk)
σ(z)σ(x)=σ(z)(1σ(z))що <1 точно). Чи не тому ReLU стали прийняти в CNN? Це одне, що завжди бентежило мене в різниці в тому, як зниклий градієнт вирішувався в моделях прямої подачі проти моделей, що повторюються. Будь-які роз’яснення щодо цього?
Буратіно

Градієнт сигмоїди також може стати проблемою, якщо припустити розподіл входів з великою дисперсією та / або середнім значенням від 0. Однак, навіть якщо ви використовуєте ReLU, основна проблема зберігається: багаторазове множення на матрицю ваг (як правило, невелике ) викликає зникаючі градієнти, або в деяких випадках, коли регуляризація не була адекватною, вибуху градієнтів.
Атаксія

3

Зображення блоку LSTM від Greff et al. (2015) описує варіант, який автори називають ванільним LSTM . Це трохи відрізняється від початкового визначення з Hochreiter & Schmidhuber (1997). Оригінальне визначення не включало ворота забуття та з'єднання маточок.

Термін "Постійна помилка каруселі" використовувався в початковій статті для позначення періодичного з'єднання стану комірки. Розглянемо оригінальне визначення, де стан комірки змінюється лише додаванням, коли відкриється вхідний затвор. Градієнт стану клітини щодо стану клітини на більш ранньому етапі часу дорівнює нулю.

Помилка все ж може входити в ЦВК через вихідний затвор і функцію активації. Функція активації трохи зменшує величину помилки до її додавання до ЦВК. ЦВК - єдине місце, де помилка може витікати без змін. Знову ж таки, коли відкривається вхідний затвор, помилка виходить через вхідний затвор, функцію активації та афінне перетворення, зменшуючи величину помилки.

Таким чином, помилка зменшується, коли вона розповсюджується через LSTM-шар, але лише тоді, коли вона входить і виходить із ЦВК. Важливо те, що він не змінюється в ЦВК незалежно від того, на якій відстані він проїжджає. Це вирішує проблему в базовій RNN, що кожен крок застосовує афінну трансформацію та нелінійність, що означає, що чим більше часова відстань між входом і виходом, тим меншою стає помилка.


2

http://www.felixgers.de/papers/phd.pdf Будь ласка, зверніться до розділів 2.2 та 3.2.2, де пояснюється усічена частина помилки. Вони не поширюють помилку, якщо вона витікає з пам'яті комірок (тобто, якщо є закритий / активований вхідний затвор), але вони оновлюють ваги воріт на основі помилки лише на той момент часу. Пізніше він робиться нульовим під час подальшого розповсюдження спини. Це свого роду злом, але причиною цього є те, що потік помилок по воротах так чи інакше занепадає з часом.


7
Чи можете ви трохи розширити це? На даний момент відповідь не матиме значення, якщо місце розташування посилання зміниться або папір буде знята в автономному режимі. Принаймні, це допоможе дати повне цитування (посилання), що дозволить знову знайти папір, якщо посилання перестане працювати, але кращим підсумком, який робить цю відповідь самостійною, було б найкраще.
Срібна рибка

2

Я хотів би додати трохи деталей до прийнятої відповіді, тому що я думаю, що це трохи більш нюансовано і цей нюанс може бути не очевидним для того, хто перший дізнається про RNN.

htht=k=1ttwσ(whtk)

stst=k=1ttσ(vt+k)

  • tt
  • відповідь " так" , тому LSTM також постраждає від зникаючих градієнтів, але не майже на стільки, як ванільна RNN

wσ()σ()

σ()1
vt+k=wxwxw

x=1w=10 vt+k=10σ()=0.99995

(0.99995)tt

wσ(whtk)1

htk=1wσ(w1)0.224w=1.5434

(0.224)tt

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.