Frage

Aus TensorFlow -Code: Tensorflow. Rnncell.

num_units: int, The number of units in the LSTM cell.

Ich kann nicht unterteilen, was das bedeutet. Was sind die Einheiten der LSTM -Zelle? Eingabe, Ausgabe und Vergessen von Toren? Bedeutet dies "Anzahl der Einheiten in der rezidivierenden Projektionsschicht für Deep LSTM"? Warum heißt dies dann "Anzahl der Einheiten in der LSTM -Zelle"? Was ist LSTM -Zelle und was ist Unterschied zu LSTM -Block? Was ist minimale LSTM -Einheit, wenn nicht die Zelle?

War es hilfreich?

Lösung

Wie die hilfreichen Kommentare in dieser Funktion sagen,

Die Definition von Zelle in diesem Paket unterscheidet sich von der in der Literatur verwendeten Definition. In der Literatur bezieht sich Zelle auf ein Objekt mit einer einzelnen Skalarausgabe. Die Definition in diesem Paket bezieht sich auf eine horizontale Reihe solcher Einheiten.

Im Wesentlichen enthält die Schicht mehrere parallele LSTM -Einheiten, die strukturell identisch sind, aber jeder "lernt, sich an eine andere Sache zu erinnern".

Andere Tipps

Die meisten LSTM/RNN -Diagramme zeigen nur die versteckten Zellen, aber niemals die Einheiten dieser Zellen. Daher die Verwirrung. Jede versteckte Schicht hat versteckte Zellen, so viele wie die Anzahl der Zeitschritte. Und ferner besteht jede versteckte Zelle aus mehreren versteckten Einheiten, wie im folgenden Diagramm. Daher ist die Dimensionalität einer versteckten Schichtmatrix in RNN (Anzahl der Zeitschritte, Anzahl der versteckten Einheiten).

enter image description here

In Keras, der sich entweder auf Tensorflow oder Theano befindet, wenn Sie anrufen model.add(LSTM(num_units)), num_units ist die Dimensionalität des Ausgangsraums (von hier, Zeile 863). Für mich bedeutet das num_units ist die Anzahl der versteckten Einheiten, deren Aktivierungen zum nächsten Mal geschickt werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit datascience.stackexchange
scroll top