Коли використовувати GRU через LSTM?


95

Ключова відмінність між GRU та LSTM полягає в тому, що GRU має два ворота (ворота скидання та оновлення ), тоді як LSTM має три ворота (а саме вхідні , вихідні та забуті ворота).

Чому ми використовуємо GRU, коли явно маємо більше контролю в мережі через модель LSTM (оскільки у нас є три ворота)? У якому сценарії віддається перевага GRU перед LSTM?


1
GRU трохи менш складний, але приблизно такий же хороший, як і LSTM. Реалізацію в TensorFlow можна знайти тут: data-blogger.com/2017/08/27/gru-implementation-tensorflow .
www.data-blogger.com

Відповіді:


64

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

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

Для детального опису ви можете ознайомитись із цим дослідницьким документом - Arxiv.org . У роботі все це блискуче пояснює.

Крім того, ви також можете вивчити ці блоги для кращої ідеї -

Сподіваюся, це допомагає!


1
На додаток до вашої відповіді є приємний документ про оцінку ефективності між GRU та LSTM та їх різними перестановками "Емпіричне дослідження періодичних мережевих архітектур" від Google
мінерали

38

* Доповнювати вже чудові відповіді вище.

  • З мого досвіду, GRU тренуються швидше та краще, ніж LSTM, на менших даних про навчання, якщо ви займаєтеся мовним моделюванням (не впевнені в інших завданнях).

  • ГРУ простіші та їх легше змінювати, наприклад, додаючи нові ворота у разі додаткового введення в мережу. Це загалом менше коду.

  • Теоретично LSTM повинні запам’ятовувати довші послідовності, ніж GRU, і перевершувати їх у завданнях, що вимагають моделювання відносин на великі відстані.

* Деякі додаткові документи, що аналізують GRU та LSTM.


9

Ця відповідь фактично лежить у наборі даних та у випадку використання. Важко остаточно сказати, що краще.

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

8

ПОЛІ ГРУ

c~t=tanh(Wc[Grct1,xt]+bc)

Gu=σ(Wu[ct1,xt]+bu)

Gr=σ(Wr[ct1,xt]+br)

ct=Guc~t+(1Gu)ct1

at=ct

Блок LSTM

c~t=tanh(Wc[at1,xt]+bc)

Gu=σ(Wu[at1,xt]+bu)

Gf=σ(Wf[at1,xt]+bf)

Go=σ(Wo[at1,xt]+bo)

ct=Guc~t+Gfct1

at=Gotanh(ct)

Як видно з рівнянь, LSTM мають окремі ворота оновлення та ворота забуття. Це очевидно робить LSTM і більш складними, але в той же час і складнішими. Немає простого способу вирішити, який використовувати для конкретного випадку використання. Ви завжди повинні робити проби та помилки, щоб перевірити продуктивність. Однак, оскільки GRU простіший за LSTM, для навчання GRU знадобиться набагато менше часу та ефективніші.

Кредити: Андрій Нг


a<t>=Γotanh(c~<t>)

1

GRU кращий, ніж LSTM, оскільки його легко змінювати і не потрібні блоки пам'яті, отже, швидше тренуватися, ніж LSTM та віддавати за продуктивністю.


12
будь ласка, підтримайте претензію на продуктивність із чесними посиланнями
Карі

1

Власне, ключова відмінність виявляється в більшій мірі: довгострокові короткотермінові (LSTM) перцептрони складаються з використанням алгоритмів імпульсу імпульсу та градієнта. Коли ви узгоджуєте LSTM-персептрони з їх рекурсивними аналогами RNN, ви створюєте GRU, який насправді є лише узагальненою повторюваною одиницею або Gradient Recurrent Unit (залежно від контексту), яка більш тісно інтегрує алгоритми імпульсу та градієнта спуску. Якби я був ти, я би провів більше досліджень щодо AdamOptimizers.

GRU - це, до речі, застаріла концепція. Однак я можу зрозуміти, що ви це досліджуєте, якщо ви хочете помірно-просунутих поглиблених знань про ТФ.


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