Ich versuche zu lernen, wie LSTM
Netzwerke funktionieren, und selbst wenn ich die Grundlagen verstehe, sind mir die Details der internen Struktur nicht klar.
Auf diesem Blog- Link habe ich dieses Schema einer LSTM
Architektur gefunden
Wo anscheinend jeder Kreis einer einzelnen LSTM
Einheit wie dieser entsprechen sollte
Ist das richtig?
Ist jede Einheit in der Zelle unabhängig von den anderen? Oder teilen sie Informationen?
Stellen Sie sich vor, ich habe die folgende Konfiguration: Anzahl der Proben = 1000 Anzahl der Zeitschritte = 10 Anzahl der Features = 5
In diesem Fall nimmt jede Einheit in einer Zelle einen Vektor der Größe 5 als Eingabe, oder?
Aber wie groß wird der Ausgang für eine Einheit sein? 1?
Vielen Dank
Antworten:
Ich denke, Ihr Bild ist falsch beschriftet. Ich denke, jede blaue Box ist eine LSTM-Schicht, die aus mehreren Zellen / Einheiten besteht, von denen jede eine Vektoreingabe x_t akzeptiert.
Damit sind die Antworten auf Ihre Fragen:
1) Ja
2) Ja, sie sind unabhängig (in einem einzigen Zeitschritt - sie tauschen Informationen zwischen Zeitschritten miteinander aus).
3) Ja, jede Einheitszelle nimmt eine Eingabe der Größe 5 entgegen. Ich denke, die Ausgabegröße ist immer 1, ähnlich wie bei neuronalen Netzwerkknoten (wie Sigmoid-Einheiten), die kombiniert und dann aktiviert werden.
quelle
Eigentlich dienen die Formen der Vereinfachung. Wenn Sie das richtige Verhalten wissen möchten, müssen Sie sich die Formeln jeder
LSTM
Zelle ansehen . Um Ihre erste Frage zu beantworten, gibt es möglicherweise unterschiedliche Antworten. Was die Bilder darstellen, gehört zu Aufgaben, die viele zu viele sind, und für jede Eingabe benötigen Sie genau eine Ausgabe. Es gibt verschiedene Aufgaben für Sequenzen, die definiert werden können:Sie können auf einen Blick hier .
Zur Veranschaulichung der Formeln jeder
LSTM
Zelle habe ich das folgende Bild aus dem Kurs von Professor Andrew Ng über tiefes Lernen gegeben:Wie Sie sehen können, kann jeder Knoten in der
LSTM
Zelle indirekt mit dem Ausgang der benachbarten Zellen des vorherigen Zeitschritts verbunden werden. Es ist indirekt, weil es Tore zwischen ihnen gibt. Beachten Sie auch, dass dieLSTM
Zelle die Gewichte für alle Eingaben verschiedener Zeitschritte teilt. Folglich ist jedes Neuron in derLSTM
Zelle abhängig von der Eingabe des aktuellen Zeitschritts und der Ausgabe der benachbarten Knoten der vorherigen Zeitschritte.Bei der dritten Frage entspricht die Eingabegröße der Anzahl der Merkmale der Eingabe für jeden Zeitschritt. Die Anzahl der Ausgänge hängt von Ihrer Aufgabe ab, auf die ich zuerst Bezug genommen habe. Schauen Sie sich den ersten Link an.
quelle
Ja, die Diagramme sehen für mich beide korrekt aus. Der Schlüssel zum Verständnis beider Diagramme ist, dass die Ein- und Ausgänge einer LSTM-Zelle Vektoren sind.
Die Kreise im ersten Diagramm stellen das Konzept dar, dass die Schicht mehrere einzelne künstliche Neuronen enthält, und das könnte Sie annehmen lassen, dass das zweite Diagramm ein Bild eines dieser Neuronen ist. Wahrscheinlich gibt es mehrere "Neuronen" oder Unterschichten mit unterschiedlichen Rollen innerhalb einer Zelle, da es mehrere Stellen gibt, an denen die Form berechnet wirdf( W.x +b) auftreten und leicht unterschiedliche Rollen spielen. Ich denke, der Begriff "Zelle" bezieht sich auf diese Architektur von Neuronen. Als Abkürzung, wenn ich "Neuron" sage, neige ich dazu, an die Ausgangsstufe der verborgenen Schicht zu denken.
Im zweiten Diagramm arbeiten jedoch alle gezeigten Operationen mit Vektoren. Am wichtigsten ist, dass die Pfeile von links nach rechts im zweiten Diagramm Vektoren des verborgenen Zustands von Zeitschritt zu Zeitschritt von der gesamten Ebene darstellen . Jedes Neuron in der Zelle ist also wiederholt mit jedem anderen Neuron in dieser Zelle verbunden - doppelt so wie in einem LSTM, da LSTMs sowohl einen internen Zellzustand als auch eine Schichtausgabe haben.
Um Ihrer Beschreibung der Diagramme zu entsprechen, definieren wir eine "Einheit" als eine Sammlung von jedem Typ von Neuron / Gate, aus dem die Zelle besteht, die theoretisch miteinander verdrahtet werden könnten, um eine funktionierende LSTM-Zellschicht mit einer einzigen zu bilden Skalarzellenzustand und Ausgabewert.
Diese Einheiten sind insofern unabhängig, als jede ihre eigenen Gewichtsparameter hat. Es gibt keine gemeinsamen Parameter für die Verbindungen zwischen dem Eingang und den Einheiten oder für die rekursiven Verbindungen, die den Status von einem Zeitschritt zum nächsten weiterleiten. In diesem Sinne teilen die Einheiten keine Informationen.
Die Verbindungen bedeuten jedoch, dass bei jedem Zeitschritt Eingabedaten und versteckter Zustand plus Ausgabe der letzten Ausgabe aller anderen Einheiten in der Zelle in Berechnungen verwendet werden. Jede Zelleneinheit kann ihren neuen internen Zustand plus ihre Ausgabe auf den Werten aller anderen Ausgaben und internen Zustände von anderen Einheiten in der Zelle basieren. In diesem Sinne teilen die Einheiten Informationen. Ich vermute aus Ihrer Frage, dass es wahrscheinlich dieses zweite Problem ist, über das Sie sich Sorgen machen, da das zweite Diagramm Sie an einen Schaltplan für ein einzelnes Neuron denken lässt, aber wie oben erläutert, ist dies nicht der Fall.
Fast. Jedes Neuron in der Zelle erhält eine Eingabe von 5 vonx plus eine Eingabe der Ausgabe der verborgenen Ebene, h . Wenn in Ihrem Fall die LSTM-Zellgröße 10 wäre, würde jedes Neuron einen kombinierten Vektor von 15 annehmen. Außerdem wird ein zweiter Zellzustandsvektor beibehalten, der in Ihrem Diagramm nicht markiert ist. Dies wird nicht direkt als Eingabe für irgendwelche Neuronen (dh Komponenten der Form) verwendetf( W.x +b) ), interagiert aber mit den anderen Werten und kann sich durch die verschiedenen Tore selbst ändern. In Ihrem zweiten Diagramm ist es der oberste Pfeil von links nach rechts.
Die Zelle als Ganzes hat die Ausgabe in der Größe, in der Sie die Ebene erstellt haben. Das versucht das Diagramm Nummer 2 zu zeigen. Unter Verwendung unserer Arbeitsdefinition von "Einheit" besteht die Ausgabe jeder Einheit jedoch aus zwei Skalarwerten - der Ausgabe der verborgenen Schicht und dem Zellenzustand -, die Teil ihrer jeweiligen in den Diagrammen gezeigten Vektoren sind.
quelle