Wann wird GRU über LSTM verwendet?

95

Der Hauptunterschied zwischen einer GRU und einem LSTM besteht darin, dass eine GRU zwei Gatter hat ( Reset- und Update- Gatter), während eine LSTM drei Gatter hat (nämlich Eingabe- , Ausgabe- und Vergessen- Gatter).

Warum setzen wir GRU ein, wenn wir über das LSTM-Modell eine deutlich bessere Kontrolle über das Netzwerk haben (da wir drei Tore haben)? In welchem ​​Szenario wird GRU gegenüber LSTM bevorzugt?

Sayali Sonawane
quelle
1
Eine GRU ist etwas weniger komplex, aber in Bezug auf die Leistung ungefähr so ​​gut wie eine LSTM. Eine Implementierung in TensorFlow finden Sie hier: data-blogger.com/2017/08/27/gru-implementation-tensorflow .
www.data-blogger.com

Antworten:

64

GRU ist mit LSTM verwandt, da beide unterschiedliche Methoden zum Ausblenden von Informationen verwenden, um ein Verschwinden des Gradientenproblems zu verhindern. Hier sind einige wichtige Punkte zu GRU vs LSTM-

  • Die GRU steuert den Informationsfluss wie die LSTM-Einheit, ohne jedoch eine Speichereinheit verwenden zu müssen . Es wird nur der gesamte verborgene Inhalt ohne Kontrolle angezeigt.
  • GRU ist relativ neu, und aus meiner Sicht, ist die Leistung auf dem Niveau LSTM, aber rechnerisch effiziente ( weniger komplexe Struktur wie erwähnt ). Wir sehen also, dass es immer mehr genutzt wird.

Eine ausführliche Beschreibung finden Sie in diesem Research Paper - Arxiv.org . Das Papier erklärt das alles auf brillante Weise.

Außerdem können Sie diese Blogs nach einer besseren Idee durchsuchen.

Ich hoffe es hilft!

Abhishek Jaiswal
quelle
1
Zusätzlich zu Ihrer Antwort gibt es eine schöne Arbeit, die die Leistung zwischen GRU und LSTM und ihre verschiedenen Permutationen "Eine empirische Untersuchung wiederkehrender Netzwerkarchitekturen" von Google
minerals
38

* Zur Ergänzung schon tolle Antworten oben.

  • Nach meiner Erfahrung trainieren GRUs mit weniger Trainingsdaten schneller und besser als LSTMs, wenn Sie Sprachmodelle erstellen (bei anderen Aufgaben nicht sicher).

  • GRUs sind einfacher und somit einfacher zu modifizieren, z. B. das Hinzufügen neuer Gates für den Fall zusätzlicher Eingaben in das Netzwerk. Es ist nur weniger Code im Allgemeinen.

  • LSTMs sollten sich theoretisch an längere Sequenzen als GRUs erinnern und diese bei Aufgaben übertreffen, die die Modellierung von Fernbeziehungen erfordern.

* Einige zusätzliche Artikel, die GRUs und LSTMs analysieren.

Mineralien
quelle
9

Diese Antwort liegt tatsächlich auf dem Datensatz und dem Anwendungsfall. Es ist schwer definitiv zu sagen, was besser ist.

  • GRU stellt im Gegensatz zu LSTM den gesamten Speicher zur Verfügung, daher können Anwendungen, die als Vorteil fungieren, hilfreich sein. Hinzu kommt, warum man GRU verwendet - es ist rechenmäßig einfacher als LSTM, da es nur zwei Gates hat und wenn seine Leistung mit LSTM vergleichbar ist, warum dann nicht?
  • Dieser Aufsatz demonstriert in hervorragender Weise anhand von Diagrammen die Überlegenheit von Gated Networks gegenüber einem einfachen RNN, erwähnt jedoch eindeutig, dass nicht geschlossen werden kann, welche der beiden besser sind. Wenn Sie sich nicht sicher sind, welches Modell Sie verwenden sollen, empfehlen wir Ihnen, beide zu trainieren und dann das Beste daraus zu machen.
Hima Varsha
quelle
8

VOLLE GRU-Einheit

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-Einheit

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)

Wie aus den Gleichungen ersichtlich ist, haben LSTMs ein separates Aktualisierungs- und ein Vergessungs-Gate. Dies macht LSTMs deutlich anspruchsvoller, gleichzeitig aber auch komplexer. Es gibt keine einfache Möglichkeit, zu entscheiden, welche für Ihren speziellen Anwendungsfall verwendet werden soll. Sie müssen immer alles Mögliche ausprobieren, um die Leistung zu testen. Da GRU jedoch einfacher als LSTM ist, benötigen GRUs viel weniger Zeit zum Trainieren und sind effizienter.

Credits: Andrew Ng

Balboa
quelle
Auf der nächsten Folie nach den handgeschriebenen ist die letzte Gleichung anders: . Diese Formel wird hier als richtig bestätigt . a<t>=Γotanh(c~<t>)
Tom Hale
1

GRU ist besser als LSTM, da es leicht zu modifizieren ist und keine Speichereinheiten benötigt. Daher ist es schneller zu trainieren als LSTM und bietet Leistung.

Vivek Khetan
quelle
12
Bitte untermauern Sie den Leistungsanspruch mit fairen Referenzen
Kari
1

Tatsächlich ist der entscheidende Unterschied mehr als das: Langzeitperzeptrone (Long-Short Term, LSTM) werden mithilfe der Impuls- und Gradientenabstiegsalgorithmen erstellt. Wenn Sie LSTM-Perceptrons mit ihren rekursiven Gegenstück-RNNs in Einklang bringen, erhalten Sie eine GRU, die in Wirklichkeit nur eine generalisierte wiederkehrende Einheit oder eine Gradient Recurrent Unit (je nach Kontext) ist, die die Impuls- und Gradientenabstiegsalgorithmen enger integriert. Wenn ich Sie wäre, würde ich mehr über AdamOptimizers forschen.

GRU ist übrigens ein veraltetes Konzept. Ich kann jedoch verstehen, dass Sie darüber recherchieren, wenn Sie fortgeschrittene Kenntnisse in TF haben möchten.

Andre Patterson
quelle
8
Ich bin neugierig. Können Sie erklären, warum GRU ein veraltetes Konzept ist?
random_user