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

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

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






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Il faudrait pour le bonheur des états que les philosophes fussent roi ou que les rois fussent philosophes"   Platon