Vom Tensorflow-Code: Tensorflow. RnnCell.
num_units: int, The number of units in the LSTM cell.
Kann nicht verstehen, was das bedeutet. Was sind die Einheiten der LSTM-Zelle. Input, Output und vergessen Tore? Bedeutet dies "Anzahl der Einheiten in der wiederkehrenden Projektionsschicht für Deep LSTM". Warum heißt das dann "Anzahl der Einheiten in der LSTM-Zelle"? Was ist die LSTM-Zelle und was ist der Unterschied zum LSTM-Block, was ist die minimale LSTM-Einheit, wenn nicht die Zelle?
neural-network
tensorflow
rnn
Brans Ds
quelle
quelle
Antworten:
Wie die hilfreichen Kommentare in dieser Funktion sagen,
Im Wesentlichen wird die Schicht mehrere parallele LSTM-Einheiten enthalten, die strukturell identisch sind, von denen jedoch jede irgendwann etwas anderes "lernen" wird, sich daran zu erinnern.
quelle
Die meisten LSTM / RNN-Diagramme zeigen nur die verborgenen Zellen, jedoch niemals die Einheiten dieser Zellen. Daher die Verwirrung. Jede ausgeblendete Ebene hat ausgeblendete Zellen, so viele wie Zeitschritte. Außerdem besteht jede verborgene Zelle aus mehreren verborgenen Einheiten, wie im folgenden Diagramm dargestellt. Daher ist die Dimensionalität einer verborgenen Schichtmatrix in RNN (Anzahl der Zeitschritte, Anzahl der verborgenen Einheiten).
quelle
In Keras, das beim Aufrufen entweder über TensorFlow oder Theano liegt,
model.add(LSTM(num_units))
ist num_units die Dimension des Ausgaberaums (von hier aus Zeile 863). Für mich bedeutetnum_units
das die Anzahl der versteckten Einheiten, deren Aktivierungen zum nächsten Zeitschritt weitergeleitet werden.quelle
Die Anzahl von Einheiten in einer RNN ist die Anzahl von RNN-Speichereinheiten an jedem Eingang der Sequenz in vertikaler Weise, die miteinander verbunden sind, und jede leitet die gefilterte Information an die nächsten Speichereinheiten weiter.
Denken Sie daran, dieses Konzept wurde aus dem Informatik-Konzept des Flusses der Speicherzuweisung auf verschiedene Einheiten der Bitgröße inspiriert.
quelle