Was ist LSTM, BiLSTM und wann werden sie verwendet?


11

Ich bin sehr neu in Deep Learning und ich bin besonders daran interessiert zu wissen, was LSTM und BiLSTM sind und wann ich sie verwenden soll (Hauptanwendungsbereiche). Warum sind LSTM und BILSTM beliebter als RNN?

Können wir diese Deep-Learning-Architekturen bei unbeaufsichtigten Problemen verwenden?


2
BiLSTM bedeutet bidirektionales LSTM, dh das Signal breitet sich zeitlich sowohl vorwärts als auch rückwärts aus. Sie können diese Architektur auch auf andere RNNs anwenden. Für Details lesen Sie bitte en.wikipedia.org/wiki/Bidirectional_recurrent_neural_networks und colah.github.io/posts/2015-08-Understanding-LSTMs Willkommen auf der Website!
Emre

Hier ist ein Beitrag , der Unterschied zwischen RNN und LSTM und hier ist ein Blog , um den Unterschied zwischen LSTM und Bidirectional-LTSM zu demonstrieren
Benyamin Jafari

Antworten:


7

RNNArchitekturen mögen LSTMund BiLSTMwerden in Situationen verwendet, in denen das Lernproblem sequentiell ist, z. B. wenn Sie ein Video haben und wissen möchten, worum es geht, oder wenn ein Agent eine Dokumentzeile für Sie lesen soll, die ein Textbild ist und ist nicht im Textformat. Ich ermutige Sie sehr, sich hier umzusehen .

LSTMsund ihre bidirektionalen Varianten sind beliebt, weil sie versucht haben zu lernen, wie und wann man vergisst und wann man keine Tore in ihrer Architektur verwendet. In früheren RNNArchitekturen war das Verschwinden von Verläufen ein großes Problem und führte dazu, dass diese Netze nicht so viel lernten.

Mit Bidirektional LSTMsfüttern Sie den Lernalgorithmus einmal von Anfang bis Ende und einmal von Ende bis Anfang mit den Originaldaten. Es gibt hier Debatten, aber es lernt normalerweise schneller als ein einseitiger Ansatz, obwohl es von der Aufgabe abhängt.

Ja, Sie können sie je nach Aufgabe auch für unbeaufsichtigtes Lernen verwenden. Schauen Sie sich hier und hier an .


1
Vielen Dank für die wundervolle Antwort. Können wir lstm für die Schlüsselwortextraktion in NLP verwenden?
Volka

Eigentlich gibt es viele Artikel darüber, zB hier und hier .
Medien

Vielen Dank. Ich frage mich nur, ob es einen Standard-Deep-Learning-Ansatz zur Keyword-Extraktion gibt, den wir verwenden können.
Volka

Eigentlich habe ich nicht gesehen, vielleicht ist es besser, es zu fragen :)
Medien

4

Menschen beginnen nicht jede Sekunde von vorne zu denken. Wenn Sie diesen Aufsatz lesen, verstehen Sie jedes Wort basierend auf Ihrem Verständnis der vorherigen Wörter. Sie werfen nicht alles weg und denken wieder von vorne. Deine Gedanken sind hartnäckig.

Herkömmliche neuronale Netze können dies nicht und es scheint ein großes Manko zu sein. Stellen Sie sich zum Beispiel vor, Sie möchten klassifizieren, welche Art von Ereignis an jedem Punkt eines Films stattfindet. Es ist unklar, wie ein traditionelles neuronales Netzwerk seine Argumentation zu früheren Ereignissen im Film nutzen könnte, um spätere zu informieren.

Wiederkehrende neuronale Netze beheben dieses Problem. Sie sind Netzwerke mit Schleifen, in denen Informationen bestehen bleiben.

Weitere Informationen finden Sie in Cohens Blog


2

Im Vergleich zu LSTM BLSTModer BiLSTMhat zwei Netzwerke, eine Zugriffsinformation pastin forwardRichtung und eine andere Zugriff futurein reverseRichtung. WIKI

Eine neue Klasse Bidirectionalwird gemäß offiziellem Dokument hier hinzugefügt :

model = Sequential()
model.add(Bidirectional(LSTM(num_channels, 
        implementation = 2, recurrent_activation = 'sigmoid'),
        input_shape=(input_length, input_dim)))

Das vollständige Beispiel mit IMDB-Daten sieht folgendermaßen aus

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.