WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Traduction automatisée des langues africaines. Cas du lingala.


par Assandé Jacob TANO
International Data Science Institute - Master Data Science - Big Data 2020
  

précédent sommaire suivant

Extinction Rebellion

2- Architecture du réseau de neurones récurrents - Recurrent Neural Network (RNN)

Pour une meilleure compréhension, nous utiliserons un cas d'usage qui consiste à la génération de texte à partir d'un texte initial en entrée.

Figure 7: Génération de texte caractère par caractère

Un RNN prend en entrée une séquence (donc une matrice de taille (T x M)) et retourne en sortie un vecteur de taille R qui est une représentation compressée de la totalité de la séquence de caractères. [9 ]

Figure 8 : Traitement d'une séquence de taille T un réseau de neurone récurrent

Où,

l taille_séquence (T) = nombre (fixe) de caractères par séquence (dimension temporelle). Le choix de T est empirique et il y a un compromis à trouver : si T est petit, le modèle aura la « mémoire courte ». Si T est grand, l'entraînement sera très long et pas toujours efficace;

l nb_variables (M) = taille de la représentation vectorielle de chaque caractère. Chaque caractère est donc représenté par un vecteur de taille M grâce à des techniques ( one-hot-encoding, word embedding);

 

TANO Assandé Jacob

 

l La taille R est fonction du nombre de neurones dans une couche dense qui est un hyperparamètre à choisir.

Générer le caractère suivant consiste à choisir le caractère le plus pertinent parmi les M caractères possibles. Il faut donc que notre modèle produise une sortie de taille M. Ce vecteur de sortie associe alors à chaque caractère une probabilité d'être le suivant dans la séquence, étant donné les T caractères précédents.

Pour obtenir cette distribution de probabilité, on empile une couche de neurones classiques (Appelée également couche dense) de taille M à la suite de la couche RNN et on utilise une fonction d'activation softmax. Considérons l'exemple ci-dessous : la séquence d'entrée étant « il fait be », la probabilité de sortie la plus élevée pourrait correspondre à la lettre « a », dans l'optique de générer la phrase « il fait beau ».

Figure 9 : Prédiction de la distribution de probabilité du caractère suivant à partir d'une

séquence initiale

Détaillons maintenant ce qui se passe à l'intérieur-même de la couche RNN. Une couche RNN est une succession de T cellules. Chaque cellule a deux entrées :

l L'élément correspondant de la séquence : la tème cellule est associée au tème caractère de la séquence;

l Le vecteur en sortie de la cellule précédente. La première cellule, qui n'a pas d'antécédent, prend alors un vecteur initialisé aléatoirement

Master Data Science - Big Data 20

Master Data Science - Big Data 21

 

TANO Assandé Jacob

Figure 10 : Une couche RNN, prenant en entrée des séquences de 10 caractères

Dans une couche RNN, on parcourt donc successivement les entrées x 1 à xT . À l'instant t, la tème cellule combine l'entrée courante xt avec la prédiction au pas précédent ht-1 pour calculer une sortie h t de taille R.

Le dernier vecteur calculé h T (qui est de taille R) est la sortie finale de la couche RNN. Une couche RNN définit donc une relation de récurrence de la forme :

ht = f(xt, ht-1)

Master Data Science - Big Data 22

 

TANO Assandé Jacob

précédent sommaire suivant






Extinction Rebellion





Changeons ce systeme injuste, Soyez votre propre syndic





"Je ne pense pas qu'un écrivain puisse avoir de profondes assises s'il n'a pas ressenti avec amertume les injustices de la société ou il vit"   Thomas Lanier dit Tennessie Williams