Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Fonctionnement des RNN | Introduction aux RNN
Introduction aux RNN

bookFonctionnement des RNN

Les réseaux de neurones récurrents (RNNs) sont conçus pour traiter des données séquentielles en conservant l'information des entrées précédentes dans leurs états internes. Cela les rend idéaux pour des tâches telles que la modélisation du langage et la prédiction de séquences.

  • Traitement séquentiel : le RNN traite les données étape par étape, en gardant une trace de ce qui a précédé ;
  • Complétion de phrase : étant donné la phrase incomplète "My favourite dish is sushi. So, my favourite cuisine is _____.", le RNN traite les mots un par un. Après avoir vu "sushi", il prédit le mot suivant comme étant "Japanese" en se basant sur le contexte antérieur ;
  • Mémoire dans les RNNs : à chaque étape, le RNN met à jour son état interne (mémoire) avec de nouvelles informations, garantissant ainsi la conservation du contexte pour les étapes futures ;
  • Entraînement du RNN : les RNNs sont entraînés à l'aide de la rétropropagation dans le temps (BPTT), où les erreurs sont rétropropagées à travers chaque étape temporelle afin d'ajuster les poids pour de meilleures prédictions.

Propagation avant

Lors de la propagation avant, le RNN traite les données d'entrée étape par étape :

  1. Entrée à l'instant tt : le réseau reçoit une entrée xtx_t à chaque instant ;

  2. Mise à jour de l'état caché : l'état caché courant hth_t est mis à jour en fonction de l'état caché précédent ht1h_{t-1} et de l'entrée courante xtx_t selon la formule suivante :

    ht=f(W[ht1,xt]+b)
    • Où :
      • WW est la matrice de poids ;
      • bb est le vecteur de biais ;
      • ff est la fonction d'activation.
  3. Génération de la sortie : la sortie yty_t est générée à partir de l'état caché courant hth_t selon la formule :

    yt=g(Vht+c)

    • Où :
      • VV est la matrice de poids de sortie ;
      • cc est le biais de sortie ;
      • gg est la fonction d'activation utilisée à la couche de sortie.

Processus de rétropropagation

La rétropropagation dans les RNN est essentielle pour la mise à jour des poids et l'amélioration du modèle. Ce processus est adapté à la nature séquentielle des RNN grâce à la rétropropagation dans le temps (BPTT) :

  1. Calcul de l'erreur : la première étape du BPTT consiste à calculer l'erreur à chaque pas de temps. Cette erreur correspond généralement à la différence entre la sortie prédite et la cible réelle ;

  2. Calcul du gradient : dans les réseaux de neurones récurrents, les gradients de la fonction de perte sont calculés en différenciant l'erreur par rapport aux paramètres du réseau et sont propagés en arrière dans le temps, de l'étape finale à l'initiale, ce qui peut entraîner des gradients qui disparaissent ou explosent, en particulier pour les longues séquences ;

  3. Mise à jour des poids : une fois les gradients calculés, les poids sont mis à jour à l'aide d'une technique d'optimisation telle que la descente de gradient stochastique (SGD). Les poids sont ajustés de manière à minimiser l'erreur lors des itérations futures. La formule de mise à jour des poids est :

    W:=WηLossW

    • Où :
      • η\eta est le taux d'apprentissage ;
      • LossW est le gradient de la fonction de perte par rapport à la matrice de poids.

En résumé, les RNN sont puissants car ils peuvent mémoriser et exploiter des informations passées, ce qui les rend adaptés aux tâches impliquant des séquences.

question mark

Quel est le rôle de la fonction gg dans l'équation de sortie yt=g(Vht+c)y_t = g(V \cdot h_t+ c)

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 2

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Awesome!

Completion rate improved to 4.55

bookFonctionnement des RNN

Glissez pour afficher le menu

Les réseaux de neurones récurrents (RNNs) sont conçus pour traiter des données séquentielles en conservant l'information des entrées précédentes dans leurs états internes. Cela les rend idéaux pour des tâches telles que la modélisation du langage et la prédiction de séquences.

  • Traitement séquentiel : le RNN traite les données étape par étape, en gardant une trace de ce qui a précédé ;
  • Complétion de phrase : étant donné la phrase incomplète "My favourite dish is sushi. So, my favourite cuisine is _____.", le RNN traite les mots un par un. Après avoir vu "sushi", il prédit le mot suivant comme étant "Japanese" en se basant sur le contexte antérieur ;
  • Mémoire dans les RNNs : à chaque étape, le RNN met à jour son état interne (mémoire) avec de nouvelles informations, garantissant ainsi la conservation du contexte pour les étapes futures ;
  • Entraînement du RNN : les RNNs sont entraînés à l'aide de la rétropropagation dans le temps (BPTT), où les erreurs sont rétropropagées à travers chaque étape temporelle afin d'ajuster les poids pour de meilleures prédictions.

Propagation avant

Lors de la propagation avant, le RNN traite les données d'entrée étape par étape :

  1. Entrée à l'instant tt : le réseau reçoit une entrée xtx_t à chaque instant ;

  2. Mise à jour de l'état caché : l'état caché courant hth_t est mis à jour en fonction de l'état caché précédent ht1h_{t-1} et de l'entrée courante xtx_t selon la formule suivante :

    ht=f(W[ht1,xt]+b)
    • Où :
      • WW est la matrice de poids ;
      • bb est le vecteur de biais ;
      • ff est la fonction d'activation.
  3. Génération de la sortie : la sortie yty_t est générée à partir de l'état caché courant hth_t selon la formule :

    yt=g(Vht+c)

    • Où :
      • VV est la matrice de poids de sortie ;
      • cc est le biais de sortie ;
      • gg est la fonction d'activation utilisée à la couche de sortie.

Processus de rétropropagation

La rétropropagation dans les RNN est essentielle pour la mise à jour des poids et l'amélioration du modèle. Ce processus est adapté à la nature séquentielle des RNN grâce à la rétropropagation dans le temps (BPTT) :

  1. Calcul de l'erreur : la première étape du BPTT consiste à calculer l'erreur à chaque pas de temps. Cette erreur correspond généralement à la différence entre la sortie prédite et la cible réelle ;

  2. Calcul du gradient : dans les réseaux de neurones récurrents, les gradients de la fonction de perte sont calculés en différenciant l'erreur par rapport aux paramètres du réseau et sont propagés en arrière dans le temps, de l'étape finale à l'initiale, ce qui peut entraîner des gradients qui disparaissent ou explosent, en particulier pour les longues séquences ;

  3. Mise à jour des poids : une fois les gradients calculés, les poids sont mis à jour à l'aide d'une technique d'optimisation telle que la descente de gradient stochastique (SGD). Les poids sont ajustés de manière à minimiser l'erreur lors des itérations futures. La formule de mise à jour des poids est :

    W:=WηLossW

    • Où :
      • η\eta est le taux d'apprentissage ;
      • LossW est le gradient de la fonction de perte par rapport à la matrice de poids.

En résumé, les RNN sont puissants car ils peuvent mémoriser et exploiter des informations passées, ce qui les rend adaptés aux tâches impliquant des séquences.

question mark

Quel est le rôle de la fonction gg dans l'équation de sortie yt=g(Vht+c)y_t = g(V \cdot h_t+ c)

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 2
some-alt