Aller au contenu principal

Récapitulation et examen final

Dix modules pour passer d'une fenêtre glissante à un modèle de prévision calibré, avec un détour par la traduction. Voici le cours condensé, puis les fils qui le traversent, puis le pont vers ce qui suit.

Le cours d'un coup d'œil

ModuleL'essentiel à retenir
1. Séquence contre tableauOrdre, dépendance, longueur variable ; découper chronologiquement pour éviter la fuite temporelle
2. Neurone récurrent et état cachéhth_t mis à jour par xtx_t et ht1h_{t-1} avec poids partagés ; forme (B,T,F)(B, T, F)
3. Rétropropagation dans le tempsBPTT parcourt le graphe déplié, coûte du temps et de la mémoire en TT, tronquer est la norme
4. Gradients disparaissent, explosentProduit de jacobiennes qui se comporte en puissance ; écrêtage pour l'explosion, changement d'architecture pour la disparition
5. LSTM et ses portesÉtat de cellule ctc_t + trois portes ; le gradient passe par une addition, pas une multiplication
6. GRU : simplification efficaceDeux portes, un seul état ; 75 % des paramètres du LSTM, résultats comparables
7. Bidirectionnels et empilésBidirectionnel utile en étiquetage, interdit en prévision ; return_sequences=True sur les couches intermédiaires
8. Encodeur-décodeurteacher forcing à l'entraînement, décodage pas à pas à l'inférence, jetons <debut> et <fin> obligatoires
9. Découpage et remplissageStatistiques uniquement sur le train, masquage des pas remplis, décalage entre entrée et cible
10. Projet de prévisionRéférence naïve, GRU puis LSTM à budget comparable, intervalles par quantiles, erreur par horizon

Les fils qui traversent le cours

Le temps ne se mélange pas. La fuite temporelle est le péché originel de ce cours. Elle apparaît sous six formes : mélange aléatoire avant découpage, normalisation globale, variable tirée du futur, bidirectionnalité en prévision, recouvrement massif de fenêtres entre train et test, initialisation d'état avec la cible. Aucune ne lève d'exception. La protection est méthodologique : découper avant de toucher aux données, ne calculer les statistiques que sur le train, se comparer à une référence naïve pour détecter un score suspect. C'est le fil qui relie les modules 1, 6, 7, 9 et 10.

Le gradient longue portée coûte de l'ingénierie. Un RNN simple ne tient que 10 à 20 pas. Un LSTM ou un GRU tient 300 à 500 pas honnêtement, grâce à un chemin d'addition qui préserve le gradient. Au-delà, il faut soit tronquer (module 3), soit attention (cours 12). La question à se poser n'est pas « quelle architecture pour ma tâche » mais « quelle longueur de dépendance ma tâche exige-t-elle ». La réponse dicte le reste.

Deux régimes existent, entraînement et inférence, et un décodeur les distingue radicalement. Le teacher forcing du module 8 est le prototype : à l'entraînement, la vraie cible passée est visible ; à l'inférence, seule la prédiction du modèle l'est. Le décalage produit un biais d'exposition qu'aucune perte ne signale. Ce point revient en projet : un modèle qui ne sait prévoir que h+1 en boucle diverge à h+24 s'il n'a jamais appris à corriger ses propres erreurs. La contre-mesure est simple : entraîner sur la prédiction multi-pas directement (module 10), pas seulement pas à pas.

Le vrai juge est la référence naïve. Un score qui n'est pas comparé à « recopier la valeur d'il y a 24 heures » ou « la moyenne du mois dernier » ne veut rien dire. Ce garde-fou détecte à la fois les modèles qui ne servent à rien et ceux qui bénéficient d'une fuite. Le module 10 en fait une étape obligatoire du projet ; à généraliser à toute application en production.

Pont vers les Transformers (cours 12)

Le vecteur de contexte unique de l'encodeur-décodeur est un goulot : toute la source doit tenir dans HH nombres. L'attention relâche cette contrainte en laissant le décodeur consulter tous les états de l'encodeur à chaque pas, avec des poids appris. Cette idée, à elle seule, a divisé par deux l'erreur des systèmes de traduction en 2015.

Poussée à son terme, elle rend les cellules récurrentes optionnelles : c'est le transformeur de 2017, qui remplace la récurrence par de l'attention sur des positions. Deux gains structurels : parallélisation sur la dimension temps (fin du goulot séquentiel du module 3), et accès direct à n'importe quelle position, quelle que soit sa distance.

Le cours 12 vous montrera pourquoi les RNN restent pertinents malgré tout — faible latence à l'inférence, faible mémoire par pas, adéquation au matériel embarqué — mais que le point de départ d'un nouveau projet NLP est désormais un transformeur, pas un LSTM. Pour les séries de moins de 200 pas, GRU et LSTM restent des choix compétitifs par leur simplicité.

L'examen final

L'examen comporte 40 questions couvrant les dix modules : identification d'une fuite temporelle dans un découpage donné, lecture d'une forme de tenseur (B,T,F)(B, T, F) et diagnostic d'un return_sequences mal placé, interprétation d'une courbe de norme de gradient qui s'écrase à 0 ou explose à NaN, choix entre LSTM, GRU et bidirectionnel selon la tâche (prévision contre étiquetage), déroulement de teacher forcing sur un exemple concret et détection de la boucle infinie qui résulte d'un jeton <fin> oublié, ordre correct de shuffle, batch et prefetch dans un pipeline tf.data, et lecture d'un score de MAE qui ne bat pas la référence naïve.

Plusieurs questions présentent des situations à diagnostiquer : un modèle qui obtient 0,05 de MAE alors que le naïf en fait 0,45 (fuite à chercher), une perte qui devient NaN en trois itérations, une prévision qui s'effondre au-delà de h+6, un décodeur qui produit indéfiniment le même mot, une couverture d'intervalle réelle très différente du quantile visé. C'est le jugement qui est évalué, pas la mémorisation des signatures d'API.

En cas de réussite, votre attestation d'achèvement est délivrée immédiatement ; son numéro est vérifiable par tout tiers sur la plateforme.

Avant de commencer

Reprenez le tableau ci-dessus et, pour chaque ligne, demandez-vous « quel symptôme verrais-je si je me trompais ici ? ». Si vous savez expliquer pourquoi une bidirectionnalité en prévision donne des scores flatteurs et inutilisables, pourquoi une perte qui devient NaN appelle un écrêtage plutôt qu'un changement d'architecture, et pourquoi un vecteur de contexte unique ne suffit pas au-delà de 30 tokens de source, vous êtes prêt. Bonne chance !

Examen final

Prêt à valider ce cours ?

40 questions tirées au hasard dans la banque du cours · seuil de réussite 70 % · certificat PDF vérifiable délivré immédiatement en cas de réussite.

Commencer l'examen

Connexion à votre compte InSkillML et abonnement actif requis. Vous pouvez aussi lancer l'examen depuis Mes cours.