Comment les réseaux de neurones récurrents peuvent-ils être utilisés pour la classification des séquences?

19

RNN peut être utilisé pour la prédiction ou le mappage séquence à séquence. Mais comment RNN peut-il être utilisé pour la classification? Je veux dire, nous donnons à une séquence entière une étiquette.

user64003
la source
J'essaierais de prédire le prochain terme en utilisant le précédent. Je voudrais ensuite ajouter ce réseau à une fonction de base radiale (de 3 * classlabelcount ou neurones pdf gaussiens) dont les entrées sont les erreurs de prédiction de la série et dont les sorties sont les étiquettes de classe. J'aurais un nombre décent de neurones dans la couche d'entrée - assez pour tenir compte du nombre d'éléments de la séquence nécessaires pour classer. Ceci est juste mon approche personnelle.
EngrStudent

Réponses:

13

On peut utiliser RNN pour mapper plusieurs entrées sur une seule entrée (étiquette), comme l' illustre la figure ( source ):

entrez la description de l'image ici

Chaque rectangle est un vecteur et les flèches représentent des fonctions (par exemple la multiplication matricielle). Les vecteurs d'entrée sont en rouge, les vecteurs de sortie sont en bleu et les vecteurs verts détiennent l'état du RNN (plus à ce sujet bientôt). De gauche à droite: (1) Mode de traitement vanille sans RNN, d'une entrée de taille fixe à une sortie de taille fixe (par exemple classification d'image). (2) Sortie de séquence (par exemple, le sous-titrage d'image prend une image et sort une phrase de mots). (3) Entrée de séquence (par exemple, analyse de sentiment où une phrase donnée est classée comme exprimant un sentiment positif ou négatif). (4) Entrée de séquence et sortie de séquence (par exemple, traduction automatique: un RNN lit une phrase en anglais puis sort une phrase en français). (5) Entrée et sortie de séquence synchronisée (par exemple, classification vidéo où nous souhaitons étiqueter chaque image de la vidéo).

Franck Dernoncourt
la source
4

En cas de RNN simple, alimentez la séquence entière vers votre réseau, puis affichez le libellé de classe au dernier élément de séquence (voir cet article et ses références pour un exemple précoce de cette approche). En phase de formation, nous pouvons rétrograder l'erreur temporelle entre le dernier élément de séquence et le début de la séquence. En général, ce n'est pas différent du problème d'étiquetage de séquence RNN, où nous devons attribuer des étiquettes uniquement à certains éléments de la séquence (ou tous les autres éléments sont étiquetés comme AUTRE).

Denis Tarasov
la source
Des précautions doivent être prises pour les séquences plus longues. Les informations du début de la séquence peuvent être submergées par les informations de la séquence.
Vladislavs Dovgalecs