Présentation des réseaux de neurones récurrents (RNN)

Un réseau neuronal récurrent est un type de réseau neuronal artificiel (ANN) et est utilisé dans les domaines d'application du traitement automatique du langage (NLP) et de la reconnaissance vocale. Un modèle RNN est conçu pour reconnaître les caractéristiques séquentielles des données et ensuite utiliser les modèles pour prédire le scénario à venir.

Fonctionnement des réseaux de neurones récurrents

Lorsque nous parlons de réseaux de neurones traditionnels, toutes les sorties et entrées sont indépendantes les unes des autres, comme le montre le diagramme ci-dessous:

Mais dans le cas des réseaux de neurones récurrents, la sortie des étapes précédentes est introduite dans l'entrée de l'état actuel. Par exemple, pour prédire la lettre suivante d'un mot ou pour prédire le mot suivant de la phrase, il est nécessaire de se souvenir des lettres ou des mots précédents et de les stocker dans une certaine forme de mémoire.

La couche cachée est celle qui se souvient de certaines informations sur la séquence. Un exemple simple de la vie réelle auquel nous pouvons relier RNN est lorsque nous regardons un film et dans de nombreux cas, nous sommes en mesure de prédire ce qui se passera ensuite, mais que se passera-t-il si quelqu'un vient de rejoindre le film et qu'on lui demande de prédire quoi va se passer ensuite? Quelle sera sa réponse? Il ou elle n'aura aucun indice car ils ne sont pas au courant des événements précédents du film et ils n'en ont aucun souvenir.

Une illustration d'un modèle RNN typique est donnée ci-dessous:

Les modèles RNN ont une mémoire qui se souvient toujours de ce qui a été fait dans les étapes précédentes et de ce qui a été calculé. La même tâche est effectuée sur toutes les entrées et RNN utilise le même paramètre pour chacune des entrées. Comme le réseau neuronal traditionnel possède des ensembles indépendants d'entrée et de sortie, ils sont plus complexes que RNN.

Essayons maintenant de comprendre le réseau neuronal récurrent à l'aide d'un exemple.

Disons que nous avons un réseau neuronal avec 1 couche d'entrée, 3 couches cachées et 1 couche de sortie.

Lorsque nous parlons d'autres ou des réseaux de neurones traditionnels, ils auront leurs propres ensembles de biais et de poids dans leurs couches cachées comme (w1, b1) pour la couche cachée 1, (w2, b2) pour la couche cachée 2 et (w3, b3 ) pour la troisième couche cachée, où: w1, w2 et w3 sont les poids et, b1, b2 et b3 sont les biais.

Compte tenu de cela, nous pouvons dire que chaque couche ne dépend d'aucune autre et qu'elle ne se souvient de rien de l'entrée précédente:

Maintenant, ce que fera un RNN est le suivant:

  • Les couches indépendantes seront converties en couche dépendante. Cela se fait en fournissant les mêmes biais et poids à toutes les couches. Cela réduit également le nombre de paramètres et de couches dans le réseau de neurones récurrent et il aide RNN à mémoriser la sortie précédente en sortant la sortie précédente comme entrée vers la couche cachée à venir.
  • Pour résumer, toutes les couches cachées peuvent être réunies en une seule couche récurrente de sorte que les poids et les biais sont les mêmes pour toutes les couches cachées.
    Ainsi, un réseau de neurones récurrent ressemblera à quelque chose comme ci-dessous:

Il est maintenant temps de traiter certaines des équations d'un modèle RNN.

  • Pour calculer l'état actuel,

h t= f (h t-1, x t ),

Où:

x t est l'état d'entrée
h t-1 est l'état précédent,
h t est l'état actuel.

  • Pour calculer la fonction d'activation

h t= tanh (W hh h t-1 +W xh x t ),

Où:
W xh est le poids au neurone d'entrée,

W hh est le poids au niveau du neurone récurrent.

  • Pour calculer la sortie:

Y t =W hy h t.

Où,
Y t est la sortie et,
W hy est le poids de la couche de sortie.

Étapes pour la formation d'un réseau neuronal récurrent

  1. Dans les couches d'entrée, l'entrée initiale est envoyée avec toutes ayant le même poids et la même fonction d'activation.
  2. En utilisant l'entrée actuelle et la sortie d'état précédente, l'état actuel est calculé.
  3. Maintenant, l'état actuel h t deviendra h t-1 pour le deuxième pas de temps.
  4. Cela continue de se répéter pour toutes les étapes et pour résoudre un problème particulier, il peut continuer autant de fois à joindre les informations de toutes les étapes précédentes.
  5. L'étape finale est ensuite calculée par l'état actuel de l'état final et toutes les autres étapes précédentes.
  6. Maintenant, une erreur est générée en calculant la différence entre la sortie réelle et la sortie générée par notre modèle RNN.
  7. La dernière étape est lorsque le processus de rétropropagation se produit dans lequel l'erreur est rétropropagrée pour mettre à jour les pondérations.

Avantages des réseaux de neurones récurrents

  1. RNN peut traiter des entrées de n'importe quelle longueur.
  2. Un modèle RNN est modélisé pour mémoriser chaque information tout au long du temps, ce qui est très utile dans tout prédicteur de séries chronologiques.
  3. Même si la taille d'entrée est plus grande, la taille du modèle n'augmente pas.
  4. Les poids peuvent être partagés entre les pas de temps.
  5. RNN peut utiliser sa mémoire interne pour traiter la série arbitraire d'entrées, ce qui n'est pas le cas avec les réseaux de neurones à action directe.

Inconvénients des réseaux de neurones récurrents

  1. En raison de sa nature récurrente, le calcul est lent.
  2. La formation des modèles RNN peut être difficile.
  3. Si nous utilisons relu ou tanh comme fonctions d'activation, il devient très difficile de traiter des séquences très longues.
  4. Sujet à des problèmes tels que l'explosion et la disparition du gradient.

Conclusion

Dans cet article, nous avons appris un autre type de réseau neuronal artificiel appelé réseau neuronal récurrent, nous nous sommes concentrés sur la principale différence qui fait que le RNN se démarque des autres types de réseaux neuronaux, les domaines où il peut être largement utilisé, comme dans la reconnaissance vocale. et NLP (Natural Language Processing). De plus, nous sommes allés derrière le travail des modèles RNN et des fonctions qui sont utilisées pour construire un modèle RNN robuste.

Articles recommandés

Ceci est un guide des réseaux de neurones récurrents. Ici, nous discutons de l'introduction, de son fonctionnement, des étapes, des avantages et des inconvénients de RNN, etc. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus -
  1. Qu'est-ce que les réseaux de neurones?
  2. Cadres d'apprentissage automatique
  3. Introduction à l'intelligence artificielle
  4. Introduction au Big Data Analytics
  5. Implémentation de réseaux de neurones

Catégorie: