Когда использовать GRU поверх LSTM?

95

Основное различие между ГРУ и LSTM является то , что ГРУ имеет два ворот ( сброс и обновление Gates) в то время как LSTM имеет три ворота (а именно вход , выход и забыть ворота).

Почему мы используем GRU, когда мы четко контролируем сеть через модель LSTM (так как у нас три шлюза)? В каком сценарии ГРУ предпочтительнее LSTM?

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

Ответы:

64

GRU относится к LSTM, так как оба используют разные способы для сбора информации, чтобы предотвратить исчезновение проблемы градиента. Вот некоторые моменты о ГРУ против LSTM-

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

Подробное описание вы можете найти в этой исследовательской работе - Arxiv.org . В статье все это блестяще объясняется.

Кроме того, вы можете также изучить эти блоги для лучшей идеи-

Надеюсь, это поможет!

Абхишек Джайсвал
источник
1
В дополнение к вашему ответу есть хорошая статья, оценивающая производительность между GRU и LSTM и их различными перестановками «Эмпирическое исследование рекуррентных сетевых архитектур» от Google
минералы
38

* Чтобы дополнить уже большие ответы выше.

  • Исходя из моего опыта, GRU обучаются быстрее и работают лучше, чем LSTM, с меньшим количеством обучающих данных, если вы занимаетесь языковым моделированием (не уверены в других задачах).

  • GRU проще и, следовательно, их легче модифицировать, например, добавляя новые ворота в случае дополнительного ввода в сеть. Это просто меньше кода в целом.

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

* Некоторые дополнительные документы, которые анализируют ГРУ и LSTM.

  • «Алгоритмы обучения нейронных графических процессоров» (Лукаш Кайзер, Илья Суцкевер, 2015) https://arxiv.org/abs/1511.08228

  • «Сравнительное исследование CNN и RNN для обработки естественного языка» (Wenpeng Yin et al. 2017) https://arxiv.org/abs/1702.01923

полезные ископаемые
источник
9

Этот ответ на самом деле лежит на наборе данных и сценарии использования. Трудно сказать однозначно, что лучше.

  • GRU предоставляет полную память в отличие от LSTM, поэтому приложения, которые действуют как преимущество, могут быть полезны. Кроме того, добавляя, зачем использовать GRU - это вычислительно проще, чем LSTM, поскольку у него всего 2 шлюза, и если его производительность находится на одном уровне с LSTM, то почему бы и нет?
  • Эта статья превосходно демонстрирует на графиках превосходство стробированных сетей над простым RNN, но ясно упоминает, что не может сделать вывод, какой из них лучше. Так что, если вы не знаете, какую модель использовать в качестве модели, я бы посоветовал вам потренироваться в обоих, а затем получить лучшее из них.
Хима Варша
источник
8

FULL GRU Unit

с~Tзнак равноTANH(Wс[граммр*сT-1,ИксT]+бс)

граммUзнак равноσ(WU[сT-1,ИксT]+бU)

граммрзнак равноσ(Wр[сT-1,ИксT]+бр)

сTзнак равнограммU*с~T+(1-граммU)*сT-1

aTзнак равносT

Блок LSTM

с~Tзнак равноTANH(Wс[aT-1,ИксT]+бс)

граммUзнак равноσ(WU[aT-1,ИксT]+бU)

граммезнак равноσ(Wе[aT-1,ИксT]+бе)

граммознак равноσ(Wо[aT-1,ИксT]+бо)

сTзнак равнограммU*с~T+грамме*сT-1

aTзнак равнограммо*TaNчас(сT)

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

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

бальбоа
источник
a<T>знак равноΓоTaNчас(с~<T>)
1

GRU лучше, чем LSTM, так как его легко модифицировать, и ему не нужны блоки памяти, поэтому он быстрее обучается, чем LSTM, и дает более высокую производительность.

Вивек Хетан
источник
12
Пожалуйста, поддержите претензию к производительности с честными ссылками
Кари
1

На самом деле, ключевое отличие оказывается не только в этом: долгосрочные (LSTM) персептроны создаются с использованием алгоритмов импульса и градиентного спуска. Когда вы примиряете персептроны LSTM с их рекурсивными аналогами RNN, вы получаете GRU, который на самом деле является просто обобщенной рекуррентной единицей или градиентной рекуррентной единицей (в зависимости от контекста), которая более тесно интегрирует алгоритмы импульса и градиентного спуска. Если бы я был вами, я бы провел больше исследований по AdamOptimizers.

Кстати, ГРУ - это устаревшее понятие. Тем не менее, я могу понять, что вы исследуете это, если вам нужны глубокие и глубокие знания TF.

Андре Паттерсон
источник
8
Мне любопытно. Не могли бы вы объяснить, почему ГРУ является устаревшей концепцией?
random_user