Wie können wiederkehrende neuronale Netze zur Sequenzklassifizierung verwendet werden?

19

RNN kann zur Vorhersage oder Sequenz-zu-Sequenz-Zuordnung verwendet werden. Aber wie kann RNN zur Klassifizierung verwendet werden? Ich meine, wir geben einer ganzen Sequenz ein Etikett.

user64003
quelle
Ich würde versuchen, den nächsten Begriff mit dem vorherigen vorherzusagen. Ich würde dieses Netzwerk dann einer radialen Basisfunktion voranstellen (von 3 * classlabelcount oder so Gauß'schen pdf-Neuronen), deren Eingaben die Vorhersagefehler der Reihe sind und deren Ausgaben die Klassenbeschriftungen sind. Ich hätte eine anständige Anzahl von Neuronen in der Eingabeebene - genug, um zu berücksichtigen, wie viele Elemente der Sequenz zur Klassifizierung erforderlich sind. Dies ist nur mein persönlicher Ansatz.
EngrStudent - Wiedereinsetzung von Monica

Antworten:

13

Man kann RNN verwenden, um mehrere Eingaben einer einzelnen Eingabe (Bezeichnung) zuzuordnen, wie in der folgenden Abbildung ( Quelle ) dargestellt:

Bildbeschreibung hier eingeben

Jedes Rechteck ist ein Vektor und Pfeile repräsentieren Funktionen (zB Matrixmultiplikation). Eingangsvektoren sind rot, Ausgangsvektoren sind blau und grüne Vektoren halten den Zustand des RNN (mehr dazu in Kürze). Von links nach rechts: (1) Vanille-Verarbeitungsmodus ohne RNN, von einer Eingabe mit fester Größe zu einer Ausgabe mit fester Größe (z. B. Bildklassifizierung). (2) Sequenzausgabe (z. B. Bildunterschriften nehmen ein Bild auf und geben einen Wortsatz aus). (3) Sequenzeingabe (z. B. Stimmungsanalyse, bei der ein Satz als positiv oder negativ eingestuft wird). (4) Sequenzeingabe und Sequenzausgabe (z. B. maschinelle Übersetzung: Eine RNN liest einen Satz auf Englisch und gibt dann einen Satz auf Französisch aus). (5) Synchronisierte Sequenzeingabe und -ausgabe (z. B. Videoklassifizierung, bei der wir jedes Bild des Videos kennzeichnen möchten).

Franck Dernoncourt
quelle
4

Im Falle eines einfachen RNN geben Sie die gesamte Sequenz in Ihr Netzwerk ein und geben Sie die Klassenbezeichnung am letzten Sequenzelement aus (siehe dieses Dokument und die Referenzen dort für ein frühes Beispiel für diesen Ansatz). In der Trainingsphase können wir Fehler in der Zeit vom letzten Sequenzelement bis zum Start der Sequenz zurückpropagieren. Im Allgemeinen unterscheidet sich dies nicht von dem Problem der RNN-Sequenzbeschriftung, bei dem wir nur einigen Elementen der Sequenz Beschriftungen zuweisen müssen (oder alle anderen Elemente als SONSTIGES beschriftet sind).

Denis Tarasov
quelle
Bei längeren Sequenzen ist Vorsicht geboten. Informationen vom Beginn der Sequenz können durch die Informationen in der Sequenz überfordert werden.
Vladislavs Dovgalecs