2017-07-20 15 views
0

Ich bin mit bidirektionaler LSTM in dem many-to-one-Einstellung (Sentiment-Analyse-Aufgabe) mit tflearn. Ich möchte verstehen, wie Tflearn Darstellungen von den Vorwärts- und Rückwärts-LSTM-Schichten aggregiert, bevor er sie an die Softmax-Ebene sendet, um eine probabilistische Ausgabe zu erhalten. Wie werden zum Beispiel in der folgenden Abbildung Concat- und Aggregatschichten implementiert?Aggregationsschicht in bidirektionaler LSTMs

enter image description here

Gibt es eine Dokumentation zu diesem Thema zur Verfügung?

Vielen Dank!

Antwort

0

Wenn tflearn der mit Bidirectional RNN, der Ausgang verketteten ist, wie Sie in der obigen Abbildung gezeigt haben. Jede Ausgabe ist also doppelt so groß wie die eingegebene Einbettungsgröße. Die Standardeinstellung gibt nur die letzte Sequenz-Ausgang, so dass, wenn Sie die gesamte Sequenz verwenden möchten, dann müssen Sie return_seq=True setzen und dann die Sequenz der Aggregation Schicht wie Merge passieren.

+0

Vielen Dank für Ihre Antwort. Ich frage mich, warum sie in ihrem Beispiel für die bidirektionale Stimmungsanalyse keine Aggregationsschicht verwenden. https://github.com/tflearn/tflearn/blob/master/examples/nlp/bidirectional_lstm.py – user7009553

+0

Wie ich in meiner Antwort gesagt, gibt die Standardeinstellung von 'bidirectional_rnn' nur den letzten Sequenz-Ausgang (die Ausgabe von word3 in deine Feige). Da diese Schicht von den letzten 2 Schichten abhängt, ist nur diese Ausgabe gut genug für die Klassifizierung. Jetzt werden die anderen 2 Ausgaben ignoriert, es gibt keinen Spielraum für die Aggregation. –

Verwandte Themen