Apprendre par imitation : applications à quelques problèmes d'apprentissage structuré en traitement des langues - Elena Knyazeva 25 mai 2018 - limsi
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
Apprendre par imitation : applications à quelques problèmes d’apprentissage structuré en traitement des langues Elena Knyazeva Université Paris Sud & LIMSI-CNRS 25 mai 2018 1 / 42
Apprentissage supervisé Qui parle ? Va-t-il pleuvoir ? ▶ Un ensemble d’apprentissage est nécessaire ▶ Exemple = problème + solution Qu’est-ce ? 2 / 42
Modélisation exacte ou recherche exacte ? Problème de l’apprentissage structuré ▶ Choix parmi un très grand nombre de possibilités ▶ Irréalisable en pratique ▶ Approche classique : ajouter des hypothèses simplificatrices 4 / 42
Modélisation exacte ou recherche exacte ? Problème de l’apprentissage structuré ▶ Choix parmi un très grand nombre de possibilités ▶ Irréalisable en pratique ▶ Approche classique : ajouter des hypothèses simplificatrices Alternative : apprendre à chercher ▶ Utiliser une recherche approchée Un compromis nécessaire ▶ Modélisation simple + recherche exacte ▶ Recherche simple + modélisation exacte 4 / 42
Introduction Apprendre à chercher Introduction Présentation de SEARN Réduction de l’effet d’avalanche Le TAL comme cadre d’application SEARN pour la prediction de structure linguistique Décodage en ordre libre et expert non-déterministe Analyse d’erreur : la traduction automatique SEARN pour la traduction automatique Analyse d’erreur Conclusion 5 / 42
Apprendre à chercher : espace de recherche a a État : s Action : a a a Récompense immédiate : r(s, a) Récompense cumulée : R(s, a) 6 / 42
Apprendre à chercher : espace de recherche a a État : s Action : a a a Récompense immédiate : r(s, a) Récompense cumulée : R(s, a) Objectif : obtenir la meilleure récompense cumulée 6 / 42
Apprendre à chercher : politique Politique Classifieur choisissant une action π dans un état donné Expert Politique permettant dans chaque état πexp finir la trajectoire de manière optimale Ensemble d’apprentissage Ensemble d’états, actions E et scores associés Trouver une politique qui maximise la récompense cumulée ? ▶ On a besoin d’un ensemble d’apprentissage ▶ Les états futurs dépendent des actions précédentes ▶ Comment construire cet ensemble ? 7 / 42
Construction de l’ensemble d’apprentissage Méthode naïve ▶ Apprendre sur le chemin de l’expert 8 / 42
Construction de l’ensemble d’apprentissage Méthode naïve ▶ Apprendre sur le chemin de l’expert Problème ▶ On ne sait pas corriger les erreurs 8 / 42
Construction de l’ensemble d’apprentissage Méthode naïve ▶ Apprendre sur le chemin de l’expert Problème ▶ On ne sait pas corriger les erreurs Effet d’avalanche 8 / 42
Construction de l’ensemble d’apprentissage Autre méthode naïve ▶ Apprendre dans tous les états possibles Problèmes ▶ Ensemble d’apprentissage gigantesque 9 / 42
Construction de l’ensemble d’apprentissage Autre méthode naïve ▶ Apprendre dans tous les états possibles Problèmes ▶ Ensemble d’apprentissage gigantesque ▶ Tout apprendre, est-ce vraiment utile ? 9 / 42
Construction de l’ensemble d’apprentissage Autre méthode naïve ▶ Apprendre dans tous les états possibles Problèmes ▶ Ensemble d’apprentissage gigantesque ▶ Tout apprendre, est-ce vraiment utile ? Gaspillage de ressources 9 / 42
Construction de l’ensemble d’apprentissage : problème Il serait bien d’apprendre la politique sur l’ensemble d’états auxquelles elle sera exposée en pratique... Mais cet ensemble est inconnu tant que l’on n’a pas appris la politique ! 10 / 42
Principe itératif ▶ Point de départ : politique expert ▶ Principe itératif : ensemble d’apprentissage ↔ politique En = interpol(En , En−1 ) En = create(πn ) πn = optim(En ) En = interpol(En , En−1 ) 11 / 42
Principe itératif ▶ Point de départ : politique expert ▶ Principe itératif : ensemble d’apprentissage ↔ politique En = interpol(En , En−1 ) Choix d’un classifieur En = create(πn ) πn = optim(En ) Choix des scores En = interpol(En , En−1 ) 11 / 42
Choix des scores des actions : expert et tuteur Expert Hmmm... Le cavalier en E6, puis mat à l’étouf- fée en 5 coups, comme Horowitz contre Lasker en 1946 ! C’est génial ! πexp (s) = max R(s, a|πexp ) a∈A(∫ ) Tuteur Commençons par sauver votre reine, elle est menacé par le pion ! πexp (s) = max R(s, a|πn−1 ) a∈A(∫ ) 12 / 42
Interpolation ▶ Point de départ : politique expert ▶ Principe itératif : ensemble d’apprentissage E ↔ politique π ▶ + mémoire En = create(πn ) πn = optim(En ) 13 / 42
Interpolation ▶ Point de départ : politique expert ▶ Principe itératif : ensemble d’apprentissage E ↔ politique π ▶ + mémoire En = create(πn ) πn = optim(En ) πn = interpol(πn , πn−1 ) 13 / 42
Interpolation ▶ Point de départ : politique expert ▶ Principe itératif : ensemble d’apprentissage E ↔ politique π ▶ + mémoire En = interpol(En , En−1 ) En = create(πn ) πn = optim(En ) πn = interpol(πn , πn−1 ) 13 / 42
Dans la littérature Expert Tuteur ! ! ! E-interpolation ↔ Aggravate [Ross 2014] E = (E , E −1 ) NRPI [Ross 2014] Dagger [Ross 2011] E = (π ) π = (E ) Dynamic Oracle LOLS [Chang 2015] ! ! ↔ [Goldberg 2012] ! π-interpolation E = (π ) π = (E ) SMILE [Ross 2011] SEARN [Daumé 2009] π = (π , π − ) 14 / 42
SEARN SEARN = tuteur + π-interpolation En = create(πn ) τn = optim(En ) πn = interpol(τn , πn−1 ) 15 / 42
SEARN SEARN = tuteur + π-interpolation par changements locaux En = create(πn ) τn = optim(En ) πn = interpol(τn , πn−1 ) ▶ Changement local = changement de la politique pour une seule action dans la séquence Pourquoi un changement local ? Par construction, τn choisie l’action optimale dans le cas où : ▶ l’état est engendré par πn−1 ▶ les actions suivantes sont effectuées par πn−1 → πn est optimale dans la classe de changements locaux de πn−1 15 / 42
SEARN : modélisation des changements locaux Petite probabilité β d’application de la nouvelle politique : { πn−1 (s) avec p = 1 − β πn (s) = τn (s) avec p = β τn τn−1 τn−2 τ2 τ1 ··· πn πn−1 πn−2 πn−3 π1 πexp Exemple d’application de la politique πn sur une séquence : ? ? ? ? ? ? ? ? 16 / 42
SEARN : modélisation des changements locaux Petite probabilité β d’application de la nouvelle politique : { πn−1 (s) avec p = 1 − β πn (s) = τn (s) avec p = β τn τn−1 τn−2 τ2 τ1 ··· πn πn−1 πn−2 πn−3 π1 πexp Exemple d’application de la politique πn sur une séquence : πexp τn−1 τn πexp τn−2 τn τn−3 πexp 16 / 42
SEARN : modélisation des changements locaux Pour une séquence de T actions : ▶ P (absence de changement) = (1 − β)T Ex : πexp τn−1 πexp πexp τn−2 τn−1 τn−3 πexp ▶ P (changement local) = Tβ(1 − β)T−1 Ex : πexp τn−1 τn πexp τn−2 τn−1 τn−3 πexp ▶ P (changement incontrôlé) ≤ β 2 T2 /2 Ex : πexp τn−1 τn πexp τn τn−1 τn−3 τn Pourquoi est-ce efficace : petit β → le cas (3) est peu probable Problème : petit β → le cas (1) est très probable → grand nombre d’itérations 17 / 42
SEARN + RandomMix : nouvelle méthode de modélisation La nouvelle politique est appliquée exactement une fois : { τn (s) pour t̂ = rand(1, T) πn (s) = πn−1 (s) pour t ̸= t̂ τn τn−1 τn−2 τn−3 τ1 πexp ··· ··· tn tn−1 tn−2 tn−3 t1 Exemple d’application de la politique πn sur une séquence : ? ? ? ? ? ? ? ? 18 / 42
SEARN + RandomMix : nouvelle méthode de modélisation La nouvelle politique est appliquée exactement une fois : { τn (s) pour t̂ = rand(1, T) πn (s) = πn−1 (s) pour t ̸= t̂ τn τn−1 τn−2 τn−3 τ1 πexp ··· ··· tn tn−1 tn−2 tn−3 t1 Exemple d’application de la politique πn sur une séquence : πexp τn−5 τn πexp τn−2 τn−1 τn−3 πexp 18 / 42
SEARN + RandomMix : nouvelle méthode de modélisation Avantages d’utilisation de RandomMix ▶ pas de paramètre β, vitesse de remplacement de l’expert fixe ▶ un changement important n’est pas possible → l’effet d’avalanche est réduit Comparaison empirique Pour une séquence de longueur 10 : ▶ Daumé 2009 : 7 · 104 itérations, P(avalanche) < 0.05 (β = 10−4 ) ▶ Notre solution : 100 itérations, P(avalanche) < 0.0003 19 / 42
Exemple : un robot explore un environnement radioactif La durée d’expérience est limitée par : ▶ La batterie (10 expéditions au maximum) ▶ La santé du robot (le robot décide s’il doit passer à l’expédition suivante ou rentrer pour réparation) Les pertes possibles sont : ▶ Perte de temps (robot non-actif) : 1 ▶ Perte d’une couche de protection : 10 ▶ Pertes « fatales » : 103 , 106 , 109 ... 20 / 42
Exemple : un robot explore un environnement radioactif SEARN β = 0.3 SEARN β = 0.1 SEARN β = 0.01 SEARN + RandomMix 21 / 42
Introduction Apprendre à chercher Introduction Présentation de SEARN Réduction de l’effet d’avalanche Le TAL comme cadre d’application SEARN pour la prediction de structure linguistique Décodage en ordre libre et expert non-déterministe Analyse d’erreur : la traduction automatique SEARN pour la traduction automatique Analyse d’erreur Conclusion 22 / 42
Problèmes structurés dans TAL La langue est naturellement structurée ▶ Des séquences de lettres forment les mots ... ▶ ... que l’on enchaine pour former des phrases ... ▶ ... qui combinées forment des textes. Quelques applications ▶ Reconnaissance de l’écriture ▶ Prédiction de la prononciation ▶ Analyse morpho-syntaxique ▶ Reconnaissance du locuteur 23 / 42
Problèmes structurés dans TAL La langue est naturellement structurée ▶ Des séquences de lettres forment les mots ... ▶ ... que l’on enchaine pour former des phrases ... ▶ ... qui combinées forment des textes. Quelques applications ▶ Reconnaissance de l’écriture a e r o d r o m e ▶ Prédiction de la E - r x d r o m - 1 - < 0 > > 2 < - prononciation a e r o n a u t ▶ Analyse morpho-syntaxique E - r x n c - t ▶ Reconnaissance du locuteur 1 - < 0 > 2 - < 23 / 42
Problèmes structurés dans TAL La langue est naturellement structurée ▶ Des séquences de lettres forment les mots ... ▶ ... que l’on enchaine pour former des phrases ... ▶ ... qui combinées forment des textes. Quelques applications ▶ Reconnaissance de l’écriture ▶ Prédiction de la prononciation ▶ Analyse morpho-syntaxique ▶ Reconnaissance du locuteur 23 / 42
Problèmes structurés dans TAL La langue est naturellement structurée ▶ Des séquences de lettres forment les mots ... ▶ ... que l’on enchaine pour former des phrases ... ▶ ... qui combinées forment des textes. Quelques applications ▶ Reconnaissance de l’écriture Howard ▶ Prédiction de la Leonard Penny prononciation Raj Sheldon ▶ Analyse morpho-syntaxique Other ▶ 00'00" 05'00" 10'00" 15'00" time Reconnaissance du locuteur 23 / 42
Application de SEARN au TAL Cadre d’application intéressant pour SEARN ▶ SEARN apprend des séquences d’actions ▶ Une séquence d’actions permet de construire une structure linguistique Exemples ▶ Séquence de POS-tags = suite de choix d’étiquettes ▶ Arbre syntaxique = suite d’opérations Shift et Reduce ▶ Traduction = suite de traductions de segments sources Comment définir une procédure pour construire la structure ? 24 / 42
Exemple : construction d’une séquence de POS-tags Cet été je verrai enfin son pays . 1 2 3 4 5 6 7 8 ADJ NC PRN VRB ADV ADJ NC PCT 8 7 6 5 4 3 2 1 ADJ NC PRN VRB ADV ADJ NC PCT 2 7 3 4 5 8 6 1 ADJ NC PRN VRB ADV ADJ NC PCT Quel ordre d’étiquetage choisir ? 25 / 42
Procédure de construction de la structure Deux possibilités ▶ Ordre fixe : figé au moment de l’apprentissage ▶ de droite à gauche pour une séquence ▶ de haut en bas pour un arbre ▶ Ordre libre : choisi lors de décodage selon un critère libre ▶ les voyelles en premier, puis les consonnes voisines ▶ d’abord les lettres clairement distinguables Pourquoi l’ordre libre ? ▶ Avantage : On peut choisir l’ordre adapté au problème ▶ Inconvénient : L’espace de recherche explose Attention : Plusieurs chemins donnent la bonne réponse 26 / 42
Expert non-déterministe En apprentissage, SEARN nécessite un expert bien défini. Comment utiliser l’expert non-déterministe A∗ (s) ? Compléter l’expert avec une règle choisie au préalable rand(A∗ (s)) ▶ πexp (s) = left(A∗ (s)) ... ▶ Permet de conserver les garanties théoriques de SEARN (quelle que soit la règle tant qu’elle ne change pas) Adapter l’expert pendant l’apprentissage [Goldberg 2012] ▶ πexp (s) = argmax(current_score(a)) a∈A∗ (s) ▶ Heuristique. Les garanties théorique sont perdues 27 / 42
Résultats Tâche Métrique CRF SEARN SEARN GD OL Écriture 9,72% 8,07% 2,72% Phonèmes ER↓ 6,98% 7,49% 6,68% Accents 8,29% 9,22% 7,72% Mor. synt. 3,00% 3,52% 3,09% Locuteurs IER↓ 29,3 30,0 29,1 Remarques ▶ SEARN-GD < Méthodes classiques ▶ SEARN-OL > Méthodes classiques ▶ OL-aléatoire = OL-adapté (mais adapté converge plus vite) 28 / 42
Introduction Apprendre à chercher Introduction Présentation de SEARN Réduction de l’effet d’avalanche Le TAL comme cadre d’application SEARN pour la prediction de structure linguistique Décodage en ordre libre et expert non-déterministe Analyse d’erreur : la traduction automatique SEARN pour la traduction automatique Analyse d’erreur Conclusion 29 / 42
Traduction automatique This beautiful plante is unique 13 nte pla usine 12 est 5 16 est se ul Table de traduction usine e au 10 un be this ↔ ce iqu 4 plan le te ↔ bel cette e le 17 seu beautiful ↔ belle est ↔ beau 2 6 14 uni que ce plant ↔ plante est plan te m 18 ↔ usine agnifi ↔ e 1 que is est t ule an ce unique ↔ seule ue pl tt 7 se ue est e agnifiq iq plante m un ↔ unique 3 belle 15 beautiful plant ↕ be usine au 8 11 plante magnifique 9 30 / 42
Traduction automatique avec SEARN Principe ▶ L’espace de recherche est obtenu via NCode ▶ Chaque arc représente une action de traduction ▶ Chaque chemin complet représente une hypothèse de traduction Comment donner des scores aux actions isolées ? ▶ BLEU ? NP-difficile car non-décomposable [Leusch 2008] ▶ LinBLEU, une approximation décomposable [Tromble 2008] 31 / 42
Premiers résultats Langue Système BLEU↑ Russe Ncode 25.11 SEARN 14.86 Tchèque Ncode 18.74 SEARN 13.03 Roumain Ncode 28.12 SEARN 18.54 Français Ncode 30.47 SEARN 17.01 ▶ Résultats très décevants ▶ Analysons chaque étape pour comprendre 32 / 42
Le classifieur choisit-il les bonnes actions ? Langue Système Clf. score↓ BLEU↑ Russe Ncode 0.85 (71%) 25.11 SEARN 1.19 (66%) 14.86 Tchèque Ncode 0.83 (68%) 18.74 SEARN 1.11 (65%) 13.03 Roumain Ncode 0.89 (70%) 28.12 SEARN 1.24 (65%) 18.54 Français Ncode 0.89 (70%) 30.47 SEARN 1.45 (60%) 17.01 Performances en dessous du système de référence ▶ Manque d’information par rapport à la baseline ▶ Le classifieur ne peut pas anticiper les chemins qui seront élagués 33 / 42
Correction du problème de classifieur Solutions ▶ Ne plus élaguer l’espace de recherche ▶ Ajouter de l’information sur le futur de chaque action Langue Système Clf. score↓ BLEU↑ Russe Ncode 0.85 (71%) 25.11 SEARN 0.80 (71%) 24.30 Tchèque Ncode 0.83 (68%) 18.74 SEARN 0.80 (69%) 18.55 Roumain Ncode 0.89 (70%) 28.12 SEARN 0.84 (71%) 27.91 Français Ncode 0.89 (70%) 30.47 SEARN 0.85 (70%) 29.88 34 / 42
Y a-t-il un effet d’avalanche ? Langue Système Clf. score↓ Clf. score↓ BLEU↑ (appr.) (inf.) Russe Ncode 0.85 (71%) 0.85 (71%) 25.11 SEARN 0.80 (71%) 0.80 (71%) 24.30 Tchèque Ncode 0.83 (68%) 0.83 (68%) 18.74 SEARN 0.80 (69%) 0.80 (69%) 18.55 Roumain Ncode 0.89 (70%) 0.89 (70%) 28.12 SEARN 0.84 (71%) 0.84 (71%) 27.91 Français Ncode 0.89 (70%) 0.90 (69%) 30.47 SEARN 0.85 (70%) 0.85 (70%) 29.88 Absence d’effet d’avalanche ▶ Performances égales sur les chemins d’apprentissage et d’inférence 35 / 42
Les scores LinBLEU et BLEU sont-ils suffisament corrélés ? Langue Système Clf. score↓ Clf. score↓ LinBLEU↓ BLEU↑ (appr.) (inf.) Russe Ncode 0.85 (71%) 0.85 (71%) 17.72 25.11 SEARN 0.80 (71%) 0.80 (71%) 16.72 24.30 Tchèque Ncode 0.83 (68%) 0.83 (68%) 16.62 18.74 SEARN 0.80 (69%) 0.80 (69%) 16.13 18.55 Roumain Ncode 0.89 (70%) 0.89 (70%) 18.54 28.12 SEARN 0.84 (71%) 0.84 (71%) 17.39 27.91 Français Ncode 0.89 (70%) 0.90 (69%) 18.03 30.47 SEARN 0.85 (70%) 0.85 (70%) 16.86 29.88 L’approximation n’est pas de qualité suffisante ▶ SEARN à un meilleur score LinBLEU que la baseline 36 / 42
Correction de mal-corrélation entre LinBLEU et BLEU Solution ▶ Optimiser finement les paramètres du LinBLEU Langue Système Clf. score↓ Clf. score↓ LinBLEU↓ BLEU↑ (appr.) (inf.) Russe Ncode 1.74 (67%) 1.74 (67%) -22.15 25.11 SEARN 1.75 (67%) 1.75 (67%) -22.08 24.97 Tchèque Ncode 1.72 (66%) 1.72 (65%) -10.80 18.74 SEARN 1.72 (66%) 1.72 (66%) -10.83 18.78 Roumain Ncode 1.84 (63%) 1.84 (63%) 5.00 28.12 SEARN 1.81 (63%) 1.82 (63%) 4.32 28.41 Français Ncode 1.05 (73%) 1.05 (73%) -0.23 30.47 SEARN 1.04 (74%) 1.04 (74%) -0.43 30.35 37 / 42
Bilan : chaine d’évaluation Performance en classification sensible aux coûts ▶ Et en régression, classification sans coûts, ... Effets liés aux différences entre apprentissage et inférence ▶ Effet d’avalanche, gaspillage de ressource, ... Utilisation de métrique décomposable différente ▶ BLEU et LinBLEU, F1 et ER, IER et ER... Étapes générales pour les applications d’apprendre à chercher 38 / 42
Introduction Apprendre à chercher Introduction Présentation de SEARN Réduction de l’effet d’avalanche Le TAL comme cadre d’application SEARN pour la prediction de structure linguistique Décodage en ordre libre et expert non-déterministe Analyse d’erreur : la traduction automatique SEARN pour la traduction automatique Analyse d’erreur Conclusion 39 / 42
Contributions ▶ Cadre unifié d’analyse des méthodes apprendre à chercher ▶ Amélioration de SEARN réduisant l’effet d’avalanche ▶ Expérimentation en ordre libre avec SEARN ▶ Application de SEARN à la traduction automatique ▶ Méthodologie d’analyse d’erreurs 40 / 42
Perspectives ▶ Utilisation de références non-déterministes ▶ Extensions aux données latentes ▶ Exploitation de SEARN dans les structures neuronales 1 0.9 Inve 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 200 40 Figure 2: Ex Figure 1: Illustration of the Scheduled Sampling approach, schedules. where one flips a coin at every time step to decide to use the true previous token or one sampled from the model itself. 41 / 42
Merci pour votre attention 42 / 42
Vous pouvez aussi lire