Pierre Dumouchel 20 juillet 2009 Modèle de Markov cachée Hidden Markov Model (HMM) ou Comment modéliser Pr(A|W) Pierre Dumouchel 20 juillet 2009 1
Reconnaissance automatique de la parole : modélisation probabiliste 2
RAP: problème probabiliste 3
A: Données acoustiques A: x1,x2,x3, …., xT où T est le nombre total d’observations (de trames) dans le signal à analyser xi: vecteur de paramètres de la iième trame Question: Signal de durée de 10 secondes, on extrait 13 mfcc avec les 1ère et 2ième dérivés. La longueur de la fenêtre d’analyse est de 25 ms et le pas d’avancement est de 10 ms. Combien de trames devons-nous traiter? Combien de paramètres devons-nous traiter? 1 trame = 10 msec = 1/100 de secondes donc 10 sec forment 10 s*100 trames/sec= 1000 trames 1000 trames * 39 paramètres par trames = 39000 paramètres xt 4
W: séquence de mots Le petit canard boit de l’eau Dictionnaire: boit: [ bwɔ ] de: [ də ] canard: [ kanar ] l’: [ l ] le : [ lə ] petit: [ pəti ], [ ptsi ], [ pətsi ], [ psi ] [lə pəti kanar bwɔ də l o] [lə ptsi kanar bwɔ də l o] [lə pətsi kanar bwɔ də l o] [lə psi kanar bwɔ də l o] 5
Rappel: Principal problème est la compression/dilation du temps 6
7
Modélisons chaque phonème par une machine à état fini Modèle discret Modèle continu Annotation: *-b: phoneme-beginning *-m: phoneme-middle *-e: phoneme-end 8
Comment coupler l’information du mot (W) avec l’audio (A) Ça revient à dire comment aligner un état (s, pour state) d’un phonème avec un xt (paramètres d’une trame) Modèle HMM continu Pr(xt | s) xt 9
Différentes topologies des machines à états finis pour un phonème 10
Topologies typiques pour un phonème 11
Comment estimer les probabilités associés à la machine à états finis? 12
Balles dans des urnes N urnes et balles de différentes couleurs Un génie joue une partie: Il choisit une urne au hasard. Il choisit une balle au hasard d’une urne. Il prend en note la couleur de la balle comme étant une observation. Il retourne la balle dans l’urne. Il répète l’opération et génère une séquence d’observations de couleurs. 13
Balles dans des urnes Correspond à un simple HMM Chaque état correspond à une urne. Une probabilité de couleur de balle (observations/paramètres d’une trame) est assignée à chaque état. Le choix de l’urne est dicté par une matrice de transition des états. 14
Simple HMM à états discrets Correspond à un simple HMM Probabilité de l’état initial: probabilité de la sélection étant à l’urne i Probabilité d’observation: probabilité de choisir une couleur n sachant qu’elle provienne de l’urne i Probabilité de transition: probabilité de choisir une couleur de l’urne i étant donné que le choix précédent provenait de l’urne j 15
Définition d’un HMM N: nombre d’états dans le modèle État au temps t: T: nombre d’observations/trames Symboles d’observations: Observation au temps t: Distribution de prob. de transition d’états: Transition entre l’état si au temps t et l’état sj au temps t+1: Ensemble de toutes les transitions d’états: 16
Définition d’un HMM Distribution de prob. d’observation ok à l’état j: Ensemble de toutes les observations: Distribution des états initiaux: Ensemble de tous les états initiaux: Un HMM est décrit par: 17
Génération des observations Choisir un état initial à partir de la distribution des états initiaux Pour t =1 à T Choisir ot en fonction de la probabilité d’observation d’un symbole à l’état i : Faire une transition à un nouvel état en fonction de la probabilité de transition d’états 18
Représentation sous forme de treillis des HMM Chaque noeud du treillis est l’événement où une observation ot est générée alors que le modèle occupait l’état si 19
3 Problèmes de base des HMM Évaluation: Problème: calculer la probabilité d’observation de la séquence d’observations étant donnée un HMM: Solution: Forward Algorithm Décodage: Problème: trouver la séquence d’états qui maximise la séquence d’observations Solution: Viterbi Algorithm Entraînement: Problème: ajuster les paramètres du modèle HMM afin de maximiser la probabilité de générer une séquence d’observations à partir de données d’entraînement Solution: Forward-Backward Algorithm 20
Évaluation doit être évaluée pour toutes les séquences d’états Q possibles: Pour une séquence d’états donnée: Alors Avec T observations et N états dans le modèle: NT séquences d’états possibles (pour une topologie ergodique) Approximativement 2TNT opérations requises Pour 1 sec. et un HMM à 5 états, ça requiert 1072 opérations!!! 21
Forward Algorithm Une approche plus efficace pour évaluer Définissons …. … comme étant la probabilité d’observations o1 à ot avec la séquence d’états qui se termine à l’état qt=si pour l’HMM 22
Initialisation: Induction: Terminaison: Avec T observations et N états, ceci requiert environ N2T opérations 23
Forward Algorithm ot ot+1 α1j sj α Nj 24
Probabilités des états initiaux Prob des observations (A ou B) étant donné que l’on soit dans l’état S0 Probabilités des états initiaux 0.48*0.48=.23 0.48*0.12=0.0576 0.0576+0.036=0.09 0.23*0.12=0.0276 0.23*0.12+0.09*0.7=0.13 Observations: A A B B Prob des observations (A ou B) étant donné que l’on soit dans l’état S0 25
A A B B 0.6*0.2 S0 1.0*0.8 0.6*0.8 0.384 0.6*0.2 0.046 0.0033 0.4*0.3 0.4*0.7 0.4*0.7 S1 0.0*0.3 0.096 0.175 0.135 1.0*0.3 1.0*0.7 1.0*0.7 26
Backward Algorithm Une approche efficace pour évaluer dans la direction inverse Définissons comme étant la probabilité d’observations ot+1 à oT avec la séquence d’états qui se termine à l’état qt=si pour l’HMM 27
Avec T observations et N états, ceci requiert environ N2T opérations ot+1,ot+2,…,oM Initialisation: Induction: Terminaison: Avec T observations et N états, ceci requiert environ N2T opérations 28
29
A A B B 0.6*0.8 0.6*0.8 0.6*0.2 0.6*0.2 S0 0.144 0.264 0.244 0.4 1.0 0.4*0.3 0.4*0.3 0.4*0.7 0.4*0.7 S1 0.044 0.147 0.49 0.7 1.0 1.0*0.3 1.0*0.3 1.0*0.7 1.0*0.7 30
3 Problèmes de base des HMM Évaluation: Problème: calculer la probabilité d’observation de la séquence d’observation étant donnée un HMM: Solution: Forward Algorithm Décodage: Problème: trouver la séquence d’état qui maximise la séquence d’observations Solution: Viterbi Algorithm Entraînement: Problème: ajuster les paramètres du modèle HMM afin de maximiser la probabilité de générer une séquence d’observation à partir de données d’entraînement Solution: Forward-Backward Algorithm 31
Problème de décodage: chercher la séquence optimale d’états Critère d’optimalité: choisir la séquence d’états qui maximize la probabilité en utilisant l’algorithme de Viterbi 32
Problème de décodage: chercher les séquences optimales d’états Définissons … comme étant la probabilité conjointe des observations o1 à ot et la séquence d’états q1q2q3…qt se terminant à l’état qt=si étant donné l’HMM Nous pouvons montrer par induction que: 33
34
Algorithme de Viterbi Cumuler les probabilités de chemins maxima: Garder la trace des meilleures séquences : 35
3 Problèmes de base des HMM Évaluation: Problème: calculer la probabilité d’observation de la séquence d’observation étant donnée un HMM: Solution: Forward Algorithm Décodage: Problème: trouver la séquence d’état qui maximise la séquence d’observations Solution: Viterbi Algorithm Entraînement: Problème: ajuster les paramètres du modèle HMM afin de maximiser la probabilité de générer une séquence d’observation à partir de données d’entraînement Solution: Forward-Backward Algorithm 36
Entraînement des HMM Consiste à entraîner les paramètres du modèle HMM afin de maximiser la probabilité L’entraînement se fait avec l’algorithme Forward-Backward qui est aussi appelé l’algorithme Baum-Welch 37
Algorithme Forward-Backward Soit un modèle HMM initial, , estimons un nouvel ensemble de paramètres du modèle de telle sorte que Utilisons les probabilités forward et backward pour ce faire; Et l’algorithme d’expectation-maximization: EM Algorithm 38
Réestimation des paramètres Définissons comme la probabilité d’être à l’état si au temps t et à l’état sj au temps t+1 étant donné le modèle et la séquence d’observations O 39
40
Réestimation des paramètres Définissons de nouvelles probabilités a posteriori à partir de Nombre de transitions à partir de si: Exprimée en fréquence relative Nombre de transitions de si à sj: Nous allons utiliser ces probabilités pour ré-estimer les paramètres HMM 41
Réestimation des paramètres Probabilité des états initiaux: Probabilités de transition: Probabilités d’observations 42
Réestimation des paramètres 43