Étonnamment, cela n'a pas été demandé auparavant - au moins, je n'ai rien trouvé à part des questions vaguement liées.
Alors, qu'est-ce qu'un réseau neuronal récurrent et quels sont leurs avantages par rapport aux NN réguliers?
Étonnamment, cela n'a pas été demandé auparavant - au moins, je n'ai rien trouvé à part des questions vaguement liées.
Alors, qu'est-ce qu'un réseau neuronal récurrent et quels sont leurs avantages par rapport aux NN réguliers?
Réponses:
Les réseaux de neurones récurrents (RNN) sont une classe d'architecture de réseau de neurones artificielle inspirée par la connectivité cyclique des neurones dans le cerveau. Il utilise des boucles de fonctions itératives pour stocker des informations.
Différence avec les réseaux neuronaux traditionnels utilisant des images de ce livre :
Et, un RNN:
Remarquez la différence - les connexions des réseaux de neurones à action directe ne forment pas de cycles. Si nous relâchons cette condition et autorisons également les connexions cycliques, nous obtenons des réseaux de neurones récurrents (RNN). Vous pouvez le voir dans la couche cachée de l'architecture.
Bien que la différence entre un perceptron multicouche et un RNN puisse sembler insignifiante, les implications pour l'apprentissage des séquences sont d'une grande portée. Un MLP ne peut mapper que des vecteurs d' entrée en sortie , tandis qu'un RNN peut en principe mapper de l' historique complet des entrées précédentes à chaque sortie . En effet, le résultat équivalent à la théorie de l'approximation universelle pour les MLP est qu'un RNN avec un nombre suffisant d'unités cachées peut approximer tout mappage de séquence à séquence mesurable avec une précision arbitraire.
À retenir:
Les connexions récurrentes permettent à une «mémoire» des entrées précédentes de persister dans l'état interne du réseau et ainsi d'influencer la sortie du réseau.
Parler en termes d'avantages n'est pas approprié car ils sont tous les deux à la pointe de la technologie et sont particulièrement bons pour certaines tâches. Une large catégorie de tâches dans lesquelles RNN excelle est:
Le but de l'étiquetage des séquences est d'attribuer des séquences d'étiquettes, tirées d'un alphabet fixe, à des séquences de données d'entrée.
Ex: Transcrire une séquence de caractéristiques acoustiques avec des mots prononcés (reconnaissance vocale), ou une séquence d'images vidéo avec des gestes de la main (reconnaissance gestuelle).
Certaines des sous-tâches de l'étiquetage de séquence sont les suivantes:
Classification de séquence
Les séquences d'étiquettes doivent être de longueur un. C'est ce qu'on appelle la classification de séquence, car chaque séquence d'entrée est affectée à une seule classe. Des exemples de tâches de classification de séquence comprennent l'identification d'une seule œuvre parlée et la reconnaissance d'une lettre manuscrite individuelle.
Classification des segments
La classification des segments fait référence aux tâches dans lesquelles les séquences cibles sont constituées de plusieurs étiquettes, mais l'emplacement des étiquettes - c'est-à-dire les positions des segments d'entrée auxquels s'appliquent les étiquettes - est connu à l'avance.
Un réseau de neurones récurrent (RNN) est un réseau de neurones artificiel qui contient des connexions en arrière ou auto-connectées, par opposition à simplement avoir des connexions en avant, comme dans un réseau de neurones en aval (FFNN). L'adjectif «récurrent» fait donc référence à ces connexions en amont ou auto-connectées, qui créent des boucles dans ces réseaux.
Un RNN peut être formé en utilisant la rétropropagation dans le temps (BBTT), de telle sorte que ces connexions en amont ou auto-connexions "mémorisent" les entrées vues précédemment. Par conséquent, ces connexions sont principalement utilisées pour suivre les relations temporelles entre les éléments d'une séquence d'entrées, ce qui rend les RNN bien adaptés à la prédiction de séquence et à des tâches similaires.
Il existe plusieurs modèles RNN: par exemple, les RNN avec des unités LSTM ou GRU. LSTM (ou GRU) est un RNN dont les unités individuelles effectuent une transformation plus complexe qu'une unité dans un "RNN ordinaire", qui effectue une transformation linéaire de l'entrée suivie de l'application d'une fonction non linéaire (par exemple ReLU) à cette transformation linéaire. En théorie, les «RNN ordinaires» sont aussi puissants que les RNN dotés d'unités LSTM. En pratique, ils souffrent du problème des "gradients disparaissant et explosant". Par conséquent, dans la pratique, des LSTM (ou des unités récurrentes sophistiquées similaires) sont utilisées.