Séquences & encoder-decoder
RNN, hidden state, encoder-decoder, traduction : la mémoire qui manque
Dans ce chapitre, vous apprendrez à
- Traiter une séquence avec une mémoire (RNN, état caché)
- Comprendre pourquoi la mémoire d'un réseau s'efface et comment y remédier
- Transformer une séquence en une autre (encodeur-décodeur)
Outils : PyTorch
11 exercices
Chaque exercice est corrigé automatiquement, dans le navigateur. Les énoncés complets sont accessibles avec un compte.
À quoi ça sert dans la vraie vie
Le sens d'une phrase, d'une mélodie ou d'une courbe dépend de ce qui est venu avant, parfois bien avant. - Le clavier de votre téléphone. Proposer le mot suivant, c'est lire tout ce que vous avez déjà tapé. En…
Mémoire qui manque
Vous devez prédire le prochain caractère dans une séquence de texte. Votre approche : regarder les derniers caractères et deviner le suivant. Les caractères sont encodés en one-hot : pour un alphabet de …
Boîte à mémoire
Pour prédire le prochain caractère d'un texte, une fenêtre fixe qui ne regarde que les derniers caractères oublie tout ce qui est plus ancien. Vous avez besoin d'une approche fondamentalement différente. L'idée…
Générateur de texte
Votre machine à mémoire sait prédire le prochain caractère. Mais peut-elle écrire ? Le problème : générez du texte en boucle. Prédisez un caractère, ajoutez-le à la séquence, prédisez le suivant, et ainsi de…
Cours : des phrases dans PyTorch
Votre boîte à mémoire lisait un caractère à la fois, codé en vecteur de 0 et de 1, avec des poids donnés. Pour entraîner ce genre de réseau sur de vraies phrases, PyTorch fournit trois pièces. Des numéros aux…
Dictionnaire
Vous êtes traducteur bénévole pour une ONG. On vous donne un dictionnaire français-anglais et des phrases à traduire. Votre première idée : remplacer chaque mot français par sa traduction anglaise, un par un. Le…
Résumé qui oublie
La traduction mot-à-mot a échoué : il faut d'abord comprendre toute la phrase, puis la restituer. C'est l'idée de l'architecture encodeur-décodeur : l'encodeur lit la séquence entière et la compresse dans un…
Regarder en arrière
Le résumé unique de l'exercice précédent garde les comptes mais perd l'ordre. Pour restituer une séquence dans le bon ordre, le décodeur doit pouvoir consulter n'importe quelle position de l'entrée au moment où…
Cours : entraîner un encodeur-décodeur
Un encodeur ramène toute la phrase source à un vecteur ; un décodeur en tire la phrase de sortie, mot à mot. Pour entraîner les deux ensemble, on écrit son propre module : une classe qui hérite de
nn.Module, déclare…Cours : Hugging Face en quatre gestes
Entraîner un vrai traducteur demande des millions de paires de phrases et des jours de calcul. D'autres l'ont fait et partagent leurs poids sur Hugging Face, le grand dépôt public de modèles. La bibliothèque…
Vraie traduction
Vous avez construit l'architecture encoder-decoder et l'attention à la main. Voici un vrai traducteur de production : MarianMT, un modèle Encoder-Decoder pré-entraîné. Ouvrez le notebook Colab, implémentez la…