Was bedeutet "Anzahl der Einheiten in der LSTM-Zelle"?

19

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?

Brans Ds
quelle
Zu
Ihrer Information
Wenn die Ebene mehrere parallele LSTM-Einheiten enthält, wie wird die Eingabe x behandelt? Fall 1: h (1) = f (x) h (t) = f (h (t - 1), x) h (t + 1) = f (h (t), x) Fall 2: h (1 ) = f (x) h (t) = h (t-1) Vielleicht gibt es einen anderen Fall wie ResNet.
user1908842

Antworten:

10

Wie die hilfreichen Kommentare in dieser Funktion sagen,

Die Definition der Zelle in dieser Packung unterscheidet sich von der in der Literatur verwendeten Definition. In der Literatur bezieht sich Zelle auf ein Objekt mit einer einzelnen skalaren Ausgabe. Die Definition in diesem Paket bezieht sich auf ein horizontales Array solcher Einheiten.

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.

Peter ist
quelle
1
Thanks :) Dieser Kommentar wurde vor 7 Tagen nach dieser Frage hinzugefügt. Nach einigem Graben ich Tensorflow Team in Google - Gruppe gefragt haben , warum sie Definition von LSTM Zelle ist , unterscheidet sich von der Literatur LSTM Zelle .. und sie , dass Kommentar hinzugefügt haben :)
Brans Ds
6

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).

Bildbeschreibung hier eingeben

Garima Jain
quelle
1

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 bedeutet num_unitsdas die Anzahl der versteckten Einheiten, deren Aktivierungen zum nächsten Zeitschritt weitergeleitet werden.

StatsZauberin
quelle
0

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.

Raj
quelle