Come si possono utilizzare le reti neurali ricorrenti per la classificazione delle sequenze?


19

RNN può essere utilizzato per la previsione o il mapping da sequenza a sequenza. Ma come si può usare RNN per la classificazione? Voglio dire, diamo un'intera sequenza un'etichetta.


Vorrei provare a prevedere il prossimo termine usando il precedente. Vorrei quindi anteporre quella rete a una funzione di base radiale (di 3 * classlabelcount o neuroni pdf gaussiani) i cui input sono gli errori di predizione della serie e i cui output sono le etichette di classe. Avrei un numero decente di neuroni nel livello di input - abbastanza per tenere conto di quanti elementi della sequenza sono necessari per classificare. Questo è solo il mio approccio personale.
EngrStudent - Ripristina Monica il

Risposte:


13

Si può usare RNN per mappare più input su un singolo input (etichetta), poiché questo dà figura ( sorgente ) illustra:

inserisci qui la descrizione dell'immagine

Ogni rettangolo è un vettore e le frecce rappresentano le funzioni (ad es. Moltiplicare la matrice). I vettori di input sono in rosso, i vettori di output sono in blu e i vettori verdi mantengono lo stato di RNN (ne parleremo tra poco presto). Da sinistra a destra: (1) Modalità di elaborazione Vanilla senza RNN, da input di dimensioni fisse a output di dimensioni fisse (ad es. Classificazione delle immagini). (2) Uscita in sequenza (ad es. I sottotitoli delle immagini prendono un'immagine e producono una frase di parole). (3) Inserimento di sequenza (ad es. Analisi del sentimento in cui una determinata frase è classificata come espressione di sentimento positivo o negativo). (4) Ingresso sequenza e uscita sequenza (ad es. Traduzione automatica: un RNN legge una frase in inglese e quindi emette una frase in francese). (5) Input e output della sequenza sincronizzata (ad es. Classificazione video in cui desideriamo etichettare ciascun fotogramma del video).


4

In caso di RNN semplice, alimentare l'intera sequenza sulla rete e quindi stampare l'etichetta della classe sull'ultimo elemento della sequenza (vedere questo documento e riferimenti lì per il primo esempio di questo approccio). Nella fase di addestramento possiamo eseguire il backpropogate degli errori nel tempo dall'ultimo elemento della sequenza all'inizio della sequenza. In generale, questo non è diverso dal problema di etichettatura della sequenza RNN, in cui è necessario assegnare etichette solo ad alcuni elementi della sequenza (o tutti gli altri elementi sono etichettati come ALTRO).


La cura deve essere esercitata per sequenze più lunghe. Le informazioni dall'inizio della sequenza possono essere sopraffatte dalle informazioni lungo la sequenza.
Vladislavs Dovgalecs,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.