La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

IFT 615 – Intelligence artificielle Raisonnement probabiliste temporel Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Présentations similaires


Présentation au sujet: "IFT 615 – Intelligence artificielle Raisonnement probabiliste temporel Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615."— Transcription de la présentation:

1 IFT 615 – Intelligence artificielle Raisonnement probabiliste temporel Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

2 Sujets couverts Quest-ce quun réseau bayésien dynamique (RBD)? Inférences dans un RBD Cas particulier des modèles de Markov cachés Cas particulier de filtre de particules IFT615Froduald Kabanza2

3 Réseaux bayésiens dynamiques (RBD) Comment modéliser des situations dynamiques? les changements dynamiques peuvent être vus comme une séquence détats, chaque état représentant la situation à un instant t donné X t : ensemble des variables non observables (cachées) décrivant létat au temps t E t : ensembles de variables observées (evidence) au temps t Le terme dynamique réfère au dynamisme du système quon veut modéliser et la structure du réseau IFT615Froduald Kabanza3

4 Applications Reconnaissance de la parole E t sont les éléments du signal sonore X t sont les mots prononcés IFT 615Froduald Kabanza4

5 Applications Traduction automatique E t sont les mots en français X t sont les mots de la traduction en anglais IFT 615Froduald Kabanza5

6 Applications Suivi dobjets (tracking) E t sont les frames de la vidéoe X t sont linformation sur la position dun/des objet(s) IFT 615Froduald Kabanza6

7 Applications Localisation de robots E t sont linformation fournie par les capteurs du robot X t sont linformation sur la position du robot IFT 615Froduald Kabanza7

8 Représentation dans un RBD Problème: il faudrait spécifier un grand nombre (même infini) de tables de probabilités conditionnelles, c.-à-d. une pour chaque temps t chaque table pourrait impliquer un nombre infini de parents Solution: 1. supposer que les changements dynamiques sont causés par un processus stationnaire - les probabilités ne changent pas dans le temps: P(X t | Parent(X t )) est la même pour tous les t 2. supposer que les changements dynamiques sont causés par un processus markovien – létat courant dépend seulement dun nombre fini détats précédents »ex.: processus markoviens du premier ordre: – P(X t | X 0:t-1 ) = P(X t | X t-1 ) modèle pour les transitions 3. supposer que lobservation dépend uniquement de létat courant – P(E t | X 0:t,E 0:t-1 ) = P(E t | X t ) modèle pour les observations/capteurs IFT615Froduald Kabanza8

9 Réseau bayesien dynamique (RBD) du premier ordre avec une seule variable X, répliquées dans les différents états pour modéliser la dynamique du système: RBD du second ordre: Illustration dun RDB IFT615Froduald Kabanza9

10 Exemple « Un gardien de sécurité passe un mois dans un édifice sous-terrain, sans sortir. Chaque jour, son directeur arrive avec ou sans parapluie. Le gardien veut inférer la possibilité quil ait plu ou non en fonction des séquences dobservation du parapluie. » Modélisation: Variables: X t = {R t } (pour « Rain ») et E t = {U t } (pour « Umbrella »). Dépendances entre les variables (c-.à-d., le RBD): Modèle des transitions: P(R t | R t-1 ). Modèle dobservation: P(U t | R t ) IFT615Froduald Kabanza10

11 Goals work, home, friends, restaurant, doctors,... Trip segments Home to Bus stop A on Foot Bus stop A to Bus stop B on Bus Bus stop B to workplace on Foot Application: projet assisted cognition (Henry Kautz, University of Rochester) IFT615Froduald Kabanza11 BAWork

12 Exemple 2 : Reconnaître les buts dun usager IFT615Froduald Kabanza12 Kautz et al.

13 Exemple 2 : Reconnaître les buts dun usager Transportation mode x= GPS reading Goal Trip segment x k-1 z k-1 zkzk xkxk m k-1 mkmk t k-1 tktk g k-1 gkgk Kautz et al.

14 Types dinférence dans un RBD Filtrage (filtering): calcul de létat de croyance (belief state), c.-à-d. la distribution a posteriori de la variable cachée la plus récente P(X t |e 1:t ) ex. : quelle est la probabilité quil pleuve aujourdhui ? ex. : quelle est la croyance du robot par rapport à sa position actuelle ? Prédiction: calculer la distribution a posteriori sur un état futur P(X t+k |e 1:t ) où k > 0 ex. : quelle est la probabilité quil pleuve dans k jours ? IFT615Froduald Kabanza14

15 Types dinférence dans un RBD Lissage (smoothing): calculer la distribution a posteriori sur un état passé P(X k |e 1:t ) où 0 k < t ex. : quelle est la probabilité quil y ait eu de la pluie hier (k=t-1) ? Explication la plus plausible: trouver la séquence détats cachés qui explique le mieux les observations argmax P(x 1:t |e 1:t ) = argmax P(x 1:t,e 1:t ) / P(e 1:t ) = argmax P(x 1:t, e 1:t ) ex. : quelle a été la météo la plus probable pour toutes les t dernières journées ? ex. : quelle est la traduction en anglais dune phrase donnée en français ? ex. : quelle est la phrase qui a été prononcée ? IFT615Froduald Kabanza15 x 1:t

16 Filtrage Étant donné les résultats du monitorage jusquau temps t, on peut calculer les résultats au temps t+1 à partir des nouvelles observations e t+1. (séparer lévidence en 2) (Règle de Bayes) (Hypothèse markovienne) α : constante de normalisation. (Hypothèse Markovienne) IFT615© Froduald Kabanza 16

17 Filtrage IFT615© Froduald Kabanza 17 Peut se réécrire f 1:t+1 = FORWAD(f 1:t+1, s t+1 ) Tel que FORWAD est un algorithme implémentant la récursion de léquation précédente. Des développements analogues existent pour le lissage, la prédiction et lexplication: Voir Section 15.2 du livre.

18 Chaînes de Markov Une chaîne de Markov (de premier ordre) est un cas particulier de RBD avec une seule variable aléatoire discrète X t dans létat au temps t Le domaine de X t est souvent un symbole (ex.: un caractère, un mot, etc.) Une distribution a priori (initiale) de probabilités sur les symboles (états) est spécifiée P(X 1 ) Une matrice de transition contenant les probabilités conditionnelles P(X t+1 | X t ) IFT615Froduald Kabanza18

19 Illustration IFT615Froduald Kabanza19 Illustration dans le cas dune chaîne finie... X1X1 XtXt X t+1 XTXT P(X t | X t-1 ) P(X1)P(X1)

20 Probabilité de générer une chaîne P(X 1:T ) = P(X 1 ) t=2 P(X t | X t-1 ) IFT615Froduald Kabanza20 une séquence de symboles, allant du temps 1 au temps T distribution initiale de probabilités modèle de transition produit des probabilités, une pour chaque terme de la séquence T

21 Visualisation dune chaîne de Markov IFT615Froduald Kabanza21 Symbole actuel a b c Prochain symbole a Illustration dans le cas dune chaîne infinie (flux de symboles) Exemple de chaîne: ccbbbbaaaaabaabacbabaaa Représentation matricielle Représentation graphique c b a b c

22 Modèle de Markov caché Dans une modèle de Markov caché (hidden Markov model ou HMM): il y a des variables cachées H t et des variables dobservation S t, toutes les deux discrètes la chaîne de Markov est sur les variables cachées H t le symbole observé (émis) S t =s t dépend uniquement de la variable cachée actuelle H t IFT615Froduald Kabanza22

23 Illustration IFT615Froduald Kabanza23 Illustration dans le cas dune chaîne finie... H1H1 S1S1 HtHt StSt H t+1 S t+1 STST HTHT P(H t+1 | H t ) P(H1)P(H1) P(S t | H t )

24 Probabilité de générer une séquence cachée et une séquence visible P(S 1:T, H 1:T ) = P(H 1 ) P(S 1 |H 1 ) t=2 P(H t | H t-1 ) P(S t | H t ) IFT615Froduald Kabanza24 séquence de nœuds cachés et de symboles de sortie probabilité dobserver le symbole S t à partir de H t T distribution initiale de probabilités modèle de transition

25 Simuler un HMM Il est facile de générer des observations dun HMM échantillonner une valeur initiale H 1 = h 1 de P(H 1 ) pour t = 2 jusquà T, répéter les deux échantillonnage suivants: »utiliser les probabilités de transition de létat caché courant pour obtenir un échantillon h t, sachant létat caché précédent: P(H t | H t-1 = h t-1 ) »utiliser les probabilités de sortie de la variable dobservation étant donné létat caché courant, pour obtenir le symbole dobservation (émission) s t : P(S t | H t =h t ) On peut aussi générer la séquence des états cachés dabord et ensuite générer les observations les variables cachées dépendent uniquement des variables cachées précédentes chaque observation (émission) ne dépendra pas des autres IFT615Froduald Kabanza25

26 Illustration IFT615Froduald Kabanza26 Illustration dans le cas dune chaîne infinie, avec visualisation des valeurs de la variable cachée et la variable dobservation Chaque nœud caché (valeur possible h de H) a un vecteur de probabilités de transitions et un vecteur de probabilités démission (observations) i a b c k j S P(O=a|S) P(O=b|S) P(O=c|S=i) i j k S t-1 P(S t =i|S t-1 ) P(S t =j|S t-1 ) P(S t =k|S t-1 ) i j k S t-1 O StSt

27 La même séquence de sortie peut être produite par plusieurs séquences cachées différentes En fait, il y a un nombre exponentiel de séquences cachées possibles Un calcul naïf est donc très inefficace P(S 1:T ) = P(H 1:T = h 1:T ) P(S 1:T | H 1:T = h 1:T ) Probabilité de générer une séquence visible IFT615Froduald Kabanza27 h 1:T

28 Programmation dynamique pour HMM Une façon plus efficace de calculer la probabilité dune séquence observée s 1:T Idée: utiliser la programmation dynamique Notons α(i,t) = P(S 1:t =s 1:t, H t = i) Récursivement, on a: α(i,t+1) = P(S 1:t+1 =s 1:t+1, H t+1 = i) = j P(S 1:t+1 =s 1:t+1, H t = j, H t+1 = i) = P(S t+1 = s t+1 |H t+1 = i) j P(H t+1 = i|H t = j) P(S 1:t =s 1:t, H t = j) = P(S t+1 = s t+1 |H t+1 = i) j P(H t+1 = i|H t = j) α(j,t) On a les valeurs initiales α(i,1) = P(S 1 =s 1, H 1 = i) = P(S 1 =s 1 | H 1 = i) P(H 1 = i) i Une fois le tableau α calculé, on obtient facilement: P(S 1:T =s 1:T ) = j P(S 1:T =s 1:T, H T = j) = j α(j,T) IFT615Froduald Kabanza28

29 Programmation dynamique pour HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 initialisation: α(i,1) = P(S 1 =s 1, H 1 = i) = P(S 1 =s 1 | H 1 = i) P(H 1 = i) IFT615Froduald Kabanza29 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale α(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

30 Programmation dynamique pour HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 initialisation: α(0,1) = P(S 1 =0| H 1 = 0) P(H 1 = 0) = 0.9 x 0.5 = 0.45 IFT615Froduald Kabanza30 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale α(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

31 Programmation dynamique pour HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 initialisation: α(1,1) = P(S 1 =0| H 1 = 1) P(H 1 = 1) = 0.2 x 0.5 = 0.1 IFT615Froduald Kabanza31 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale α(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

32 Programmation dynamique pour HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 récursion (t=1): α(i,t+1) = P(S t+1 = s t+1 |H t+1 = i) j P(H t+1 = i|H t = j) α(j,t) IFT615Froduald Kabanza32 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale α(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

33 Programmation dynamique pour HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 récursion: α(0,2) = P(S 2 = 1|H 2 = 0) ( P(H 2 = 0|H 1 = 0) α(0,1) + P(H 2 = 0|H 1 = 1) α(1,1) ) IFT615Froduald Kabanza33 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale α(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

34 Programmation dynamique pour HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 récursion: α(0,2) = 0.1 ( 0.3 x x 0.1 ) = IFT615Froduald Kabanza34 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale α(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

35 Programmation dynamique pour HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 récursion: α(1,2) = P(S 2 = 1|H 2 = 1) ( P(H 2 = 1|H 1 = 0) α(0,1) + P(H 2 = 1|H 1 = 1) α(1,1) ) IFT615Froduald Kabanza35 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale α(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

36 Programmation dynamique pour HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 récursion: α(1,2) = 0.8 ( 0.7 x x 0.1 ) = 0.3 IFT615Froduald Kabanza36 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale α(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

37 Programmation dynamique pour HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 récursion (t=2): α(i,t+1) = P(S t+1 = s t+1 |H t+1 = i) j P(H t+1 = i|H t = j) α(j,t) IFT615Froduald Kabanza37 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale α(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

38 Programmation dynamique pour HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 récursion: α(0,3) = 0.9 ( 0.3 x x 0.3 ) = IFT615Froduald Kabanza38 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale α(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

39 Programmation dynamique pour HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 on continue dappliquer la récursion jusquà la fin (t=4)... IFT615Froduald Kabanza39 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale α(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

40 Filtrage dans un HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 on peut calculer les probabilités de filtrage P(H 4 = 0 | S 1 =0, S 2 =1, S 3 =0, S 4 =0) = P(H 4 = 0, S 1 =0, S 2 =1, S 3 =0, S 4 =0) i P(H 4 = i, S 1 =0, S 2 =1, S 3 =0, S 4 =0) = α(0,4) / ( α(0,4) + α(1,4) ) = / ( ) P(H 4 = 1 | S 1 =0, S 2 =1, S 3 =0, S 4 =0) = / ( ) IFT615Froduald Kabanza40 i α(i,t) t

41 Programmation dynamique pour HMM Le calcul des α(i,t) donne un balayage de gauche à droite On peut faire la même chose, mais de droite à gauche Notons β(i,t) = P(S t+1:T =s t+1:T | H t = i) Récursivement on a: β(i,t-1) = P(S t:T =s t:T | H t-1 = i) = j P(S t:T =s t:T, H t = j | H t-1 = i) = j P(S t = s t |H t = j) P(H t = j|H t-1 = i) P(S t+1:T =s t+1:T | H t = j) = j P(S t = s t |H t = j) P(H t = j|H t-1 = i) β(j,t) On a les valeurs initiales β(i,T) = 1 i Une fois le tableau β calculé, on obtient facilement: P(S 1:T =s 1:T ) = j P(S 1:T =s 1:T, H 1 = j) = j P(S 2:T =s 2:T | H 1 = j) P(S 1 =s 1 |H 1 = j) P(H 1 = j) = j β(j,1) P(S 1 =s 1 |H 1 = j) P(H 1 = j) IFT615Froduald Kabanza41

42 Programmation dynamique pour HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 initialisation: β(i,4) = 1 IFT615Froduald Kabanza42 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale β(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

43 Programmation dynamique pour HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 initialisation: β(i,4) = 1 IFT615Froduald Kabanza43 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale β(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

44 Programmation dynamique pour HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 initialisation: β(i,4) = 1 IFT615Froduald Kabanza44 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale β(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

45 Programmation dynamique pour HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 récursion (t=4): β(i,t-1) = j P(S t = s t |H t = j) P(H t = j|H t-1 = i) β(j,t) IFT615Froduald Kabanza45 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale β(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

46 Programmation dynamique pour HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 récursion β(0,3) = P(S 4 =0|H 4 =0) P(H 4 =0|H 3 =0) β(0,4) + P(S 4 =0|H 4 =1) P(H 4 =1|H 3 =0) β(1,4) IFT615Froduald Kabanza46 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale β(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

47 Programmation dynamique pour HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 récursion β(0,3) = 0.9 x 0.3 x x 0.7 x 1 = 0.41 IFT615Froduald Kabanza47 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale β(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

48 Programmation dynamique pour HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 récursion β(1,3) = P(S 4 =0|H 4 =0) P(H 4 =0|H 3 =1) β(0,4) + P(S 4 =0|H 4 =1) P(H 4 =1|H 3 =1) β(1,4) IFT615Froduald Kabanza48 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale β(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

49 Programmation dynamique pour HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 récursion β(1,3) = 0.9 x 0.4 x x 0.6 x 1 = 0.48 IFT615Froduald Kabanza49 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale β(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

50 Programmation dynamique pour HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 récursion (t=3): β(i,t-1) = j P(S t = s t |H t = j) P(H t = j|H t-1 = i) β(j,t) IFT615Froduald Kabanza50 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale β(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

51 Programmation dynamique pour HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 récursion β(0,2) = P(S 3 =0|H 3 =0) P(H 3 =0|H 2 =0) β(0,3) + P(S 3 =0|H 3 =1) P(H 3 =1|H 2 =0) β(1,3) IFT615Froduald Kabanza51 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale β(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

52 Programmation dynamique pour HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 récursion β(0,2) = 0.9 x 0.3 x x 0.7 x 0.48 = IFT615Froduald Kabanza52 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale β(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

53 Programmation dynamique pour HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 on continue dappliquer la récursion jusquau début (t=1)... IFT615Froduald Kabanza53 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale β(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

54 Lissage avec un HMM Les tables α(i,t) et β(i,t) peuvent également être utilisées pour faire du lissage P(H k = i | S 1:T =s 1:T ) = ϒ P(H k = i, S 1:k =s 1:k, S k+1:T =s k+1:T ) (ϒ est la normalisation) = ϒ P(H k = i, S 1:k =s 1:k ) P(S k+1:T =s k+1:T | H k = i) = ϒ α(i,k) β(i,k) On peut également faire du lissage sur deux variables cachées adjacentes P(H k = i, H k+1 = j | S 1:T =s 1:T ) = ϒ P(H k = i, H k+1 = j, S 1:k =s 1:k, S k+1:T =s k+1:T ) = ϒ P(H k = i, S 1:k =s 1:k ) P(H k+1 = j|H k = i) P(S k+1 =s k+1 | H k+1 = j) P(S k+2:T =s k+2:T | H k+1 = j) = ϒ α(i,k) β(j,k+1) P(H k+1 = j|H k = i) P(S k+1 =s k+1 | H k+1 = j) À noter que ϒ correspond à une somme sur i seulement, tandis que ϒ est une somme sur i et j IFT615Froduald Kabanza54

55 Lissage avec un HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 on peut calculer les probabilités de lissage au temps t=2 P(H 2 = 0 | S 1 =0, S 2 =1, S 3 =0, S 4 =0) = α(0,2) β(0,2) i α(i,2) β(i,2) = α(0,2) β(0,2)/ (α(0,2) β(0,2) + α(1,2) β(1,2) ) = x / ( x x ) P(H 2 = 1 | S 1 =0, S 2 =1, S 3 =0, S 4 =0) = 0.3 x / ( x x ) IFT615Froduald Kabanza55 i α(i,t) t i β (i,t) t

56 Prédiction dans un HMM α(i,t) peut être utilisé pour inférer la distribution de prédiction P(H t+k |s 1:t ) On utilise également un programme dynamique Notons π(i,k) = P(H t+k = i|S 1:t =s 1:t ) Récursivement: π(i,k+1) = P(H t+k+1 = i|S 1:t =s 1:t ) = s j P(H t+k+1 = i, H t+k = j, S t+k =s|S 1:t =s 1:t ) = s j P(S t+k = s|H t+k = j) P(H t+k+1 = i|H t+k = j) P(H t+k = j|S 1:t =s 1:t ) = j P(H t+k+1 = i|H t+k = j) P(H t+k = j|S 1:t =s 1:t ) s P(S t+k = s|H t+k = j) = j P(H t+k+1 = i|H t+k = j) π(j,k) On a les valeurs initiales π(i,0) = P(H t = i|s 1:t ) = α(i,t) / j α(j,t) i On pourrait également faire une prédiction de S t+k P(S t+k = s|S 1:t =s 1:t ) = j P(S t+k = s|H t+k = j) P(H t+k = j|S 1:t =s 1:t ) = j P(S t+k = s|H t+k = j) π(j,k) IFT615Froduald Kabanza56

57 Prédiction dans un HMM Exemple: décoder un message binaire avec canal bruité (T=4) on souhaite calculer la distribution de prédiction P(H 6 =0 | S 1 =0,S 2 =1,S 3 =0,S 4 =0) Voir la suite dans les diapos en ligne (cachés) IFT615Froduald Kabanza57 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale π(i,k) k H 1 =0H 1 =1 P(H1)P(H1)0.5 i α(i,t) t

58 Prédiction dans un HMM Exemple: décoder un message binaire avec canal bruité (T=4) on souhaite calculer la distribution de prédiction P(H 6 =0 | S 1 =0,S 2 =1,S 3 =0,S 4 =0) initialisation: π(i,0) = α(i,t) / j α(j,t) IFT615Froduald Kabanza58 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale π(i,k) k H 1 =0H 1 =1 P(H1)P(H1)0.5 i α(i,t) t

59 Prédiction dans un HMM Exemple: décoder un message binaire avec canal bruité (T=4) on souhaite calculer la distribution de prédiction P(H 6 =0 | S 1 =0,S 2 =1,S 3 =0,S 4 =0) initialisation: π(0,0) = α(0,4) / ( α(0,4) + α(1,4) ) IFT615Froduald Kabanza59 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale π(i,k) k H 1 =0H 1 =1 P(H1)P(H1)0.5 i α(i,t) t

60 Prédiction dans un HMM Exemple: décoder un message binaire avec canal bruité (T=4) on souhaite calculer la distribution de prédiction P(H 6 =0 | S 1 =0,S 2 =1,S 3 =0,S 4 =0) initialisation: π(0,0) = / ( ) = IFT615Froduald Kabanza60 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale π(i,k) k H 1 =0H 1 =1 P(H1)P(H1)0.5 i α(i,t) t

61 Prédiction dans un HMM Exemple: décoder un message binaire avec canal bruité (T=4) on souhaite calculer la distribution de prédiction P(H 6 =0 | S 1 =0,S 2 =1,S 3 =0,S 4 =0) initialisation: π(1,0) = / ( ) = IFT615Froduald Kabanza61 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale π(i,k) k H 1 =0H 1 =1 P(H1)P(H1)0.5 i α(i,t) t

62 Prédiction dans un HMM Exemple: décoder un message binaire avec canal bruité (T=4) on souhaite calculer la distribution de prédiction P(H 6 =0 | S 1 =0,S 2 =1,S 3 =0,S 4 =0) récursion (k=0): π(i,k+1) = j P(H t+k+1 = i|H t+k = j) π(j,k) IFT615Froduald Kabanza62 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale π(i,k) k H 1 =0H 1 =1 P(H1)P(H1)0.5 i α(i,t) t

63 Prédiction dans un HMM Exemple: décoder un message binaire avec canal bruité (T=4) on souhaite calculer la distribution de prédiction P(H 6 =0 | S 1 =0,S 2 =1,S 3 =0,S 4 =0) récursion (k=0): π(0, 1) = P(H 5 = 0|H 4 = 0) π(0,0) + P(H 5 = 0|H 4 = 1) π(1,0) IFT615Froduald Kabanza63 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale π(i,k) k H 1 =0H 1 =1 P(H1)P(H1)0.5 i α(i,t) t

64 Prédiction dans un HMM Exemple: décoder un message binaire avec canal bruité (T=4) on souhaite calculer la distribution de prédiction P(H 6 =0 | S 1 =0,S 2 =1,S 3 =0,S 4 =0) récursion (k=0): π(0, 1) = 0.3 x x = IFT615Froduald Kabanza64 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale π(i,k) k H 1 =0H 1 =1 P(H1)P(H1)0.5 i α(i,t) t

65 Prédiction dans un HMM Exemple: décoder un message binaire avec canal bruité (T=4) on souhaite calculer la distribution de prédiction P(H 6 =0 | S 1 =0,S 2 =1,S 3 =0,S 4 =0) récursion (k=0): π(1, 1) = P(H 5 = 1|H 4 = 0) π(0,0) + P(H 5 = 1|H 4 = 1) π(1,0) IFT615Froduald Kabanza65 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale π(i,k) k H 1 =0H 1 =1 P(H1)P(H1)0.5 i α(i,t) t

66 Prédiction dans un HMM Exemple: décoder un message binaire avec canal bruité (T=4) on souhaite calculer la distribution de prédiction P(H 6 =0 | S 1 =0,S 2 =1,S 3 =0,S 4 =0) récursion (k=0): π(0, 1) = 0.7 x x = IFT615Froduald Kabanza66 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale π(i,k) k H 1 =0H 1 =1 P(H1)P(H1)0.5 i α(i,t) t

67 Prédiction dans un HMM Exemple: décoder un message binaire avec canal bruité (T=4) on souhaite calculer la distribution de prédiction P(H 6 =0 | S 1 =0,S 2 =1,S 3 =0,S 4 =0) on continue dappliquer la récursion jusquà la fin (k=2)... IFT615Froduald Kabanza67 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale π(i,k) k H 1 =0H 1 =1 P(H1)P(H1)0.5 i α(i,t) t

68 Prédiction dans un HMM Exemple: décoder un message binaire avec canal bruité (T=4) on souhaite calculer la distribution de prédiction P(H 6 =0 | S 1 =0,S 2 =1,S 3 =0,S 4 =0) P(H 6 =0 | S 1 =0,S 2 =1,S 3 =0,S 4 =0) = π(0,2) = IFT615Froduald Kabanza68 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale π(i,k) k H 1 =0H 1 =1 P(H1)P(H1)0.5 i α(i,t) t

69 Explication la plus plausible avec un HMM On peut également éviter une énumération exponentielle exemple avec T=3 max P(h* 1 ) P(s 1 |h* 1 ) P(h* 2 |h* 1 ) P(s 2 |h* 2 ) P(h* 3 |h* 2 ) P(s 3 |h* 3 ) = max P(s 3 |h* 3 ) max P(s 2 |h* 2 ) P(h* 3 |h* 2 ) max P(h* 2 |h* 1 ) P(h* 1 ) P(s 1 |h* 1 ) Solution: programmation dynamique, avec un max au lieu de la somme Notons α*(i,t) = P(S 1:t =s 1:t, H 1:t-1 = h* 1:t-1, H t = i) Recursivement, on a: α*(i,t+1) = max j P(S 1:t+1 =s 1:t+1, H 1:t-1 = h* 1:t-1, H t = j, H t+1 = i) = max j P(S t+1 =s t+1 | H t+1 = i) P(H t+1 = i | H t = j) P(S 1:t =s 1:t, H 1:t-1 = h* 1:t-1, H t = j) = P(S t+1 =s t+1 | H t+1 = i) max j P(H t+1 = i | H t = j) α*(j,t) On a les valeurs initiales: α*(i,1) = P(S 1 =s 1 | H 1 = i) P(H 1 = i) i On a alors que P(S 1:T =s 1:T, H 1:T = h* 1:T ) = max j α*(j,T) On retrouve h* 1:T à partir de tous les argmax j IFT615Froduald Kabanza69 h* 1:3 h*3h*3 h*2h*2 h*1h*1

70 Explication la plus plausible avec un HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 initialisation: α*(i,1) = P(S 1 =s 1, H 1 = i) = P(S 1 =s 1 | H 1 = i) P(H 1 = i) IFT615Froduald Kabanza70 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale α*(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

71 Explication la plus plausible avec un HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 initialisation: α*(0,1) = P(S 1 =0| H 1 = 0) P(H 1 = 0) = 0.9 x 0.5 = 0.45 IFT615Froduald Kabanza71 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale α*(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

72 Explication la plus plausible avec un HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 initialisation: α*(1,1) = P(S 1 =0| H 1 = 1) P(H 1 = 1) = 0.2 x 0.5 = 0.1 IFT615Froduald Kabanza72 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale α*(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

73 Explication la plus plausible avec un HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 récursion (t=1): α*(i,t+1) = P(S t+1 =s t+1 | H t+1 = i) max j P(H t+1 = i | H t = j) α*(j,t) IFT615Froduald Kabanza73 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale α*(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

74 Explication la plus plausible avec un HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 récursion: α*(0,2) = P(S 2 =1|H 2 =0) max{P(H 2 = 0|H 1 = 0) α*(0,1), P(H 2 = 0|H 1 = 1) α*(1,1)} IFT615Froduald Kabanza74 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale α*(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

75 Explication la plus plausible avec un HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 récursion: α*(0,2) = 0.1 max{ 0.3 x 0.45,0.4 x 0.1} = IFT615Froduald Kabanza75 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale α*(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

76 Explication la plus plausible avec un HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 récursion: α*(1,2) = P(S 2 =1|H 2 =1) max{P(H 2 = 1|H 1 = 0) α*(0,1), P(H 2 = 1|H 1 = 1) α*(1,1)} IFT615Froduald Kabanza76 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale α*(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

77 Explication la plus plausible avec un HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 récursion: α*(1,2) = 0.8 max{ 0.7 x 0.45, 0.6 x 0.1} = IFT615Froduald Kabanza77 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale α*(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

78 Explication la plus plausible avec un HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 récursion (t=2): α*(i,t+1) = P(S t+1 =s t+1 | H t+1 = i) max j P(H t+1 = i | H t = j) α*(j,t) IFT615Froduald Kabanza78 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale α*(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

79 Explication la plus plausible avec un HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 récursion: α*(0,3) = 0.9 max{ 0.3 x , 0.4 x 0.252} = IFT615Froduald Kabanza79 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale α*(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

80 Explication la plus plausible avec un HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 on continue dappliquer la récursion jusquà la fin (t=4)... IFT615Froduald Kabanza80 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle dobservation Modèle de transition Distribution initiale α*(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

81 Explication la plus plausible avec un HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 on trouve le maximum à la dernière colonne... IFT615Froduald Kabanza81 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale α*(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

82 Explication la plus plausible avec un HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0... puis on retrouve le chemin qui a mené là IFT615Froduald Kabanza82 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale α*(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5

83 Explication la plus plausible avec un HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S 1 =0, S 2 =1, S 3 =0, S 4 =0 ce chemin nous donne la séquence des H t la plus probable IFT615Froduald Kabanza83 H t =0H t =1 P(S t =0 | H t ) P(S t =1 | H t ) H t-1 =0H t-1 =1 P(H t =0 | H t-1 ) P(H t =1 | H t-1 ) i Modèle d'observation Modèle de transition Distribution initiale α*(i,t) t H 1 =0H 1 =1 P(H1)P(H1)0.5 H 1 =0 H 2 =1 H 3 =0 H 4 =0

84 Apprendre les tables des probabilités conditionnelles Observer plusieurs chaînes et définir les probabilités conditionnelles en fonction des fréquences doccurrence des symboles Pour éviter les problèmes avec zéro occurrences, on utilise plutôt: IFT615Froduald Kabanza84 P(B=b|a) = Σ freq(a,b) chaînes Σ freq(a) chaînes P(B=b|A=a) = Σ freq(a,b) chaînes Σ freq(a) chaînes 1 + Nb. symboles +

85 Filtrage en ligne avec RBD IFT615Froduald Kabanza85 Étant donné mon état de croyance actuel P(X t | e 1:t ) comment le mettre à jour après une nouvelle observation e t+1 en temps réel En appliquant la règle de Bayes et lhypothèse markovienne, nous arrivons à: P(X t+1 | e 1:t+1 ) = P(X t+1 | e 1:t, e t+1 ) = P(e t+1 | X t+1 ) P(X t+1 | x t ) P(x t | e 1:t ) / α (détails page 572 du manuel de référence) α: constante de normalisation probabilité de la nouvelle observation (disponible dans la table des probabilités) prédiction du prochain état en se basant sur notre état de croyance au temps t xtxt

86 RBD: une distribution de probabilité a priori P(R 0 ), par exemple [0.5, 0.5] un modèle des transition P(R t |R t-1 ) un modèle dobservation P(U t |R t ) Jour 1: le parapluie apparait, (U 1 =true ou u 1 ) le filtrage de t=0 à t=1 est: P(R 1 | u 1 ) = P(u 1 | R 1 ) P(R 1 ) / α Exemple de lagent de sécurité IFT615Froduald Kabanza86 R t-1 P(r t |R t-1 ) V0.7 F0.3 RtRt P(u t |R t ) V0.9 F0.2

87 Jour 2: le parapluie apparait de nouveau, c.-à-d., U 2 =true le filtrage de t=1 à t=2 est: P(R 2 | u 1, u 2 ) = P(u 2 | R 2 ) P(R 2 |u 1 ) / α = ( P(u 2 | R 2 ) P(R 2 |r 1 ) P(r 1 |u 1 ) ) / α Exemple de lagent de sécurité IFT615Froduald Kabanza87 r1r1

88 Améliorations sur le HMM Comment rendre un HMM (ou un RBD en général) plus précis? augmenter lordre du modèle markovien »ex.: Rain t aurait comme parents, non seulement Rain t-1 mais aussi Rain t-2 pour un processus markovien du second ordre »ceci donnerait des prédictions plus précises permettre des interactions directes entre la variables dobservation »on pourrait avoir plutôt P(E t | X 0:t,E 0:t-1 ) = P(E t | X t, E t-1 ) »ça peut rendre linférence encore plus complexe IFT615Froduald Kabanza88

89 Au delà du HMM Filtre de Kalman: cas où les variables dobservation et cachées ne sont pas discrètes mais sont plutôt réelles voir livre de référence, section 15.4 État caché avec structure complexe: cas où il nest pas possible de faire une sommation exacte sur toutes les configurations de létat caché on doit alors approximer linférence filtre particulaire (particle filter): inférence approximative basée sur léchantillonnage, où on maintien une population stochastique de configurations (particules) de létat caché à chaque temps t, on met à jour notre population de particules en tenant compte des nouvelles observations voir livre de référence, chapitre 5. IFT615Froduald Kabanza89

90 Application: reconnaissance vocale La reconnaissance vocale est difficile: bruit ambiant ou introduit par la digitalisation variations dans la prononciation différents mots ont la même prononciation Problème: Quelle est la séquence de mots la plus vraisemblable étant donné un signal sonore ? Réponse: Choisir la séquence de mots la plus probable a posteriori argmax P(mots | signal) = argmax α P(mots, signal) IFT615Froduald Kabanza90 mots

91 Modèle acoustique et modèle du langage En utilisant la règle de Bayes P(mots | signal) = α P(signal | mots) P(mots) On peut donc décomposer le problème en deux: P(Signal | Mots): modèle acoustique P(Mots): modèle de langage (plus de détails à venir dans le cours...) Chaîne cachée: les mots Chaîne observée: le signal IFT615Froduald Kabanza91

92 Phones et phonèmes Des travaux dans le domaine de phonologie ont montré que toutes les langues humaines sont basées sur un sous-ensemble denviron 100 sons, appelés phones, communs à toutes les langues Les phones découlent de larticulation des lèvres, des dents, de la langue, des cordes vocales et du flux de lair Intuitivement, un phone est un son qui correspond à une seule consonne ou une seule voyelle Mais cest plus subtil ! Des combinaisons de consonnes comme « th » ou « ng » en anglais ont chacun leur phone Un phonème est la plus petite unité de son distinctive que lon puisse isoler par segmentation dans un mot Un phonème sera associé à un ou plusieurs phones qui peuvent être inter- changés sans changer la compréhension dun mot phonème /k/: phones [k] (« cat », « kit ») et [k h ] (« school », « skill ») IFT615Froduald Kabanza92

93 Phones: exemple Phones pour langlais américain: IFT615Froduald Kabanza93

94 Modèle acoustique Rappel: P(Mots | Signal) = α P(Signal | Mots) P(Mots) »P(Signal | Mots): modèle acoustique »P(Mots): modèle de langage Lexistence des phones permet de diviser le modèle acoustique en deux autres parties: modèle de prononciation: spécifie, pour chaque mot, une distribution de probabilités sur une séquence de phones »par exemple, « ceiling » est parfois prononcé [s iy l ih ng], ou [s iy l ix ng], ou encore [s iy l en] »le phone est une variable cachée, le signal est la variable observée modèle phonique: le modèle phonique P(e t |x t ) donne la probabilité que le signal échantillonné soit observé au temps t si le phone est x t IFT615Froduald Kabanza94

95 Exemple de modèle de prononciation Modèle de prononciation P([towmeytow]| « tomato») = P([towmaatow]| « tomato») = 0.1 P([tahmeytow]| « tomato») = P([tahmaatow]| « tomato») = 0.4 Les transitions sont spécifiées manuellement Les probabilités sont apprises IFT615Froduald Kabanza95

96 Conversation continue Dans une conversation continue on doit tenir compte de la corrélation des mots adjacents et non juste la reconnaissance dun mot isolé. Actuellement les meilleurs systèmes peuvent reconnaître de 60 % à 80 %, selon les applications et le contexte. IFT615Froduald Kabanza96

97 Résumé Un réseau bayésien dynamique (RBD) permet de tenir compte de la nature séquentielle dun environnement Un modèle de Markov caché (HMM) est un cas particulier de RBD avec une seule variable cachée X t = {H t } et une seule variable observée E t = {S t } les variables H t et S t sont discrètes Il existe des procédures de programmation dynamique efficaces dans un HMM pour faire de linférence (filtrage, prédiction, lissage, explication la plus plausible) IFT615Froduald Kabanza97

98 Raisonnement probabiliste : pour quel type dagent? IFT615Froduald Kabanza98 Simple reflex Model-based reflex Goal-based Utiliy-based

99 Raisonnement probabiliste : pour quel type dagent? IFT615Froduald Kabanza99 Simple reflex Model-based reflex Goal-based Utiliy-based

100 Objectifs du cours IFT615Froduald Kabanza100 agents intelligents agents intelligents recherche heuristique recherche heuristique recherche locale recherche avec des adversaires recherche avec des adversaires satisfaction de contraintes satisfaction de contraintes Algorithmes et concepts logique raisonnement probabiliste raisonnement probabiliste

101 Vous devriez être capable de... Distinguer les différents types dinférence distribution de filtrage distribution de prédiction distribution de lissage explication la plus plausible Décrire ce quest un modèle de Markov caché connaître les définitions des tableaux α, β, π et α*. »Que calcule ces tableaux? savoir utiliser des tableaux α, β, π et α* pré-calculés Optionnel: Implémenter de linférence dans un modèle de Markov caché IFT615Froduald Kabanza101


Télécharger ppt "IFT 615 – Intelligence artificielle Raisonnement probabiliste temporel Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615."

Présentations similaires


Annonces Google