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

Présentations similaires


Présentation au sujet: "IFT 615 – Intelligence artificielle Raisonnement probabiliste temporel"— Transcription de la présentation:

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

2 Sujets couverts Qu’est-ce qu’un 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 IFT615 Froduald Kabanza

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é Xt: ensemble des variables non observables (cachées) décrivant l’état au temps t Et: ensembles de variables observées (evidence) au temps t Le terme dynamique réfère au dynamisme du système qu’on veut modéliser et la structure du réseau Statique vs dynamique: Réparation voiture vs traitement d’un patient diabétique. Patient diabétique: observations: doses d’insuline récemment administrées, ingestion de nourriture, glycémies et autres mesures. La tâche est d’évaluer l’état actuel du patient, notamment le taux de glycémie et le taux d’insuline réel. Avec ces infos, on peut prendre une décision sur le régime du patient. Il existe plusieurs exemples de systèmes dynamiques dont on ne peut voir ou déterminer la séquence d’états internes avec certitude. Mais on peut observer les signaux émis par les états, toutefois avec du bruit. À partir de ces observations bruitées, on aimerait pouvoir: Prédire la dynamique (séquence d’états) du système émettant les signaux. Déterminer l’historique du système. Déterminer la probabilité de la prochaine observation. Ce sont des problèmes typiques des réseaux bayesiens dynamiques, en particulier des chaînes cachées de Markov et des filtres de Kalman que nous verrons plus loin. IFT615 Froduald Kabanza

4 Applications Reconnaissance de la parole
Et sont les éléments du signal sonore Xt sont les mots prononcés IFT 615 Froduald Kabanza

5 Applications Traduction automatique Et sont les mots en français
Xt sont les mots de la traduction en anglais IFT 615 Froduald Kabanza

6 Applications Suivi d’objets (tracking) Et sont les frames de la vidéoe
Xt sont l’information sur la position d’un/des objet(s) IFT 615 Froduald Kabanza

7 Applications Localisation de robots
Et sont l’information fournie par les capteurs du robot Xt sont l’information sur la position du robot IFT 615 Froduald Kabanza

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: supposer que les changements dynamiques sont causés par un processus stationnaire - les probabilités ne changent pas dans le temps: P(Xt | Parent(Xt)) est la même pour tous les t supposer que les changements dynamiques sont causés par un processus markovien – l’état courant dépend seulement d’un nombre fini d’états précédents ex.: processus markoviens du premier ordre: P(Xt | X0:t-1) = P(Xt | Xt-1) modèle pour les transitions supposer que l’observation dépend uniquement de l’état courant P(Et | X0:t ,E0:t-1) = P(Et | Xt) modèle pour les observations/capteurs Problème de modélisation: Le nombre d’états (et de changements d’états) étant potentiellement infini, En plus de restreindre les parents de la variable d’état Xt, on doit restreindre les parent de la variable d’observation/évidence Et IFT615 Froduald Kabanza

9 Illustration d’un RDB 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: ... ... ... ... ... Le premier exemple de RBD est aussi une chaîne de Markov. Nous les étudierons plus spécifiquement plus loin. ... ... ... ... ... IFT615 Froduald Kabanza

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é qu’il ait plu ou non en fonction des séquences d’observation du parapluie. » Modélisation: Variables: Xt = {Rt} (pour « Rain ») et Et = {Ut} (pour « Umbrella »). Dépendances entre les variables (c-.à-d., le RBD): Modèle des transitions: P(Rt | Rt-1). Modèle d’observation: P(Ut | Rt) Comment rendre un RBD plus précis? Augmenter l’ordre du modèle markovien. Par exemple, Raint aurait comme parents, non seulement Raint-1 mais aussi Raint-2 pour un processus markovien du second ordre. Ceci donnerait des prédictions plus précises. Augmenter le nombre de variables d’états. Par exemple, on pourrait ajouter: Une variable Seasont pour tenir compte des statistiques historiques sur les temps de pluie selon les saisons. Des variables Temperaturet , Humidityt and Pressuret pour tenir compte de la physique des conditions de pluie. IFT615 Froduald Kabanza

11 Application: projet “assisted cognition” (Henry Kautz, University of Rochester)
Goals work, home, friends, restaurant, doctor’s, ... 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 A B Work IFT615 Froduald Kabanza

12 Exemple 2 : Reconnaître les buts d’un usager
Kautz et al. This is one result of our experiment. In this experiment, a graduate student carries this GPS for thirty days. We get the GPS log. We put it into our system without any labeling. After a few hours, the system output such a picture, this picture tells us where the common goals are for the person and where are the routine parking spot and bus stops. In fact, that is just correct. We then label them to make it clear. IFT615 Froduald Kabanza

13 Exemple 2 : Reconnaître les buts d’un usager
xk-1 zk-1 zk xk mk-1 mk tk-1 tk gk-1 gk Goal Trip segment Transportation mode Ce modèle pourrait être vu aussi comme une chaîne cachée de Markov hiéarchique. x=<Location, Velocity> GPS reading Kautz et al.

14 Types d’infé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(Xt|e1:t) ex. : quelle est la probabilité qu’il pleuve aujourd’hui ? ex. : quelle est la croyance du robot par rapport à sa position actuelle ? Prédiction: calculer la distribution a posteriori sur un état futur P(Xt+k|e1:t) où k > 0 ex. : quelle est la probabilité qu’il pleuve dans k jours ? Il existe différentes types d’inférence dans un réseau bayésien dynamique. Des algorithmes pour des RBD générales existent pour chaque type d’inférence. Filtrage: Calculer l’état de croyance (belief state) – c-.à-d., la distribution de probabilité à priori de l’état courant, étant donné l’évidence (observation) jusque là. Un agent intelligent a besoin du filtrage pour maintenir à jour son état courant – ceci est nécessaire pour prendre des décisions rationnelles (déterminer l’action appropriée dans l’état courant). IFT615 Froduald Kabanza

15 Types d’inférence dans un RBD
Lissage (smoothing): calculer la distribution a posteriori sur un état passé P(Xk|e1:t) où 0 ≤ k < t ex. : quelle est la probabilité qu’il 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(x1:t|e1:t) = argmax P(x1:t,e1:t) / P(e1:t) = argmax P(x1:t, e1: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 d’une phrase donnée en français ? ex. : quelle est la phrase qui a été prononcée ? x1:t IFT615 Froduald Kabanza

16 Filtrage Étant donné les résultats du monitorage jusqu’au temps t, on peut calculer les résultats au temps t+1 à partir des nouvelles observations et+1. (séparer l’évidence en 2) (Règle de Bayes) α : constante de normalisation. (Hypothèse markovienne) Dans la somme, le premier terme provient du modèle de prédiction et le second provient du modèle de transition. On obtient en conséquence, la formulation récursive (programmation dynamique) désirée. (Hypothèse Markovienne) IFT615 © Froduald Kabanza 16

17 Filtrage Peut se réécrire f1:t+1=FORWAD(f1:t+1, st+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 l’explication: Voir Section 15.2 du livre. IFT615 © Froduald Kabanza 17

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 Xt dans l’état au temps t Le domaine de Xt 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(X1) Une matrice de transition contenant les probabilités conditionnelles P(Xt+1 | Xt) Markov du premier ordre parce que les probabilités de transitions et les transitions dans un état dépendent seulement de l’état (et non des deux, trois, ou quatre … derniers états). IFT615 Froduald Kabanza

19 Illustration ... ... X1 Xt Xt+1 XT
P(Xt | Xt-1) P(X1) ... ... X1 Xt Xt+1 XT Illustration dans le cas d’une chaîne finie IFT615 Froduald Kabanza

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

21 Visualisation d’une chaîne de Markov
Représentation matricielle Représentation graphique Symbole actuel a b c a b c .7 .3 .2 .5 .1 a Prochain symbole b c Illustration dans le cas d’une chaîne infinie (flux de symboles) Exemple de chaîne: ccbbbbaaaaabaabacbabaaa IFT615 Froduald Kabanza

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 Ht et des variables d’observation St , toutes les deux discrètes la chaîne de Markov est sur les variables cachées Ht le symbole observé (émis) St=st dépend uniquement de la variable cachée actuelle Ht IFT615 Froduald Kabanza

23 Illustration ... ... H1 Ht Ht+1 HT S1 St St+1 ST
P(Ht+1 | Ht) P(H1) ... ... H1 Ht Ht+1 HT P(St | Ht) S1 St St+1 ST L’exemple du parapluie est en fait un modèle de Markov caché. L’état caché est le temps (à savoir s’il pleut ou s’il ne pleut pas). Applications: Reconnaissance vocale. Reconnaissance de caractères. Génome. Reconnaissance de plans Beaucoup d’autres. Illustration dans le cas d’une chaîne finie IFT615 Froduald Kabanza

24 Probabilité de générer une séquence cachée et une séquence visible
P(S1:T, H1:T) = P(H1) P(S1|H1) t=2 P(Ht | Ht-1) P(St | Ht) modèle de transition distribution initiale de probabilités T probabilité d’observer le symbole St à partir de Ht séquence de nœuds cachés et de symboles de sortie IFT615 Froduald Kabanza

25 Simuler un HMM Il est facile de générer des observations d’un HMM
échantillonner une valeur initiale H1 = h1 de P(H1) 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 ht, sachant l’état caché précédent: P(Ht | Ht-1 = ht-1) utiliser les probabilités de sortie de la variable d’observation étant donné l’état caché courant, pour obtenir le symbole d’observation (émission) st: P(St | Ht=ht) On peut aussi générer la séquence des états cachés d’abord 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 IFT615 Froduald Kabanza

26 Illustration i j k a b c a b c a b c .1 .3 .6 .4 .6 0 0 .2 .8
.7 .7 .3 S P(O=a|S) P(O=b|S) P(O=c|S=i) i j k St-1 P(St=i|St-1) P(St=j|St-1) P(St=k|St-1) i j k St-1 O St .2 i j .1 .5 a b c k a b c .5 a b c Illustration dans le cas d’une chaîne infinie, avec visualisation des valeurs de la variable cachée et la variable d’observation 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) IFT615 Froduald Kabanza

27 Probabilité de générer une séquence visible
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(S1:T) =  P(H1:T = h1:T) P(S1:T | H1:T = h1:T) h1:T IFT615 Froduald Kabanza

28 Programmation dynamique pour HMM
Une façon plus efficace de calculer la probabilité d’une séquence observée s1:T Idée: utiliser la programmation dynamique Notons α(i,t) = P(S1:t=s1:t, Ht = i) Récursivement, on a: α(i,t+1) = P(S1:t+1=s1:t+1, Ht+1 = i) = j P(S1:t+1=s1:t+1, Ht = j, Ht+1 = i) = P(St+1= st+1|Ht+1 = i) j P(Ht+1 = i|Ht = j) P(S1:t=s1:t, Ht = j) = P(St+1= st+1|Ht+1 = i) j P(Ht+1 = i|Ht = j) α(j,t) On a les valeurs initiales α(i,1) = P(S1=s1, H1 = i) = P(S1=s1| H1 = i) P(H1 = i) i Une fois le tableau α calculé, on obtient facilement: P(S1:T=s1:T) = j P(S1:T=s1:T, HT = j) = j α(j,T) αlpha(i,t) est la probabilité d’avoir l’état caché au temps t égale i et une une séquence (de sorties) jusque là égale à s1:t. IFT615 Froduald Kabanza

29 Programmation dynamique pour HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 initialisation: α(i,1) = P(S1=s1, H1 = i) = P(S1=s1| H1 = i) P(H1 = i) Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 t α(i,t) IFT615 Froduald Kabanza

30 Programmation dynamique pour HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 initialisation: α(0,1) = P(S1=0| H1 = 0) P(H1 = 0) = 0.9 x 0.5 = 0.45 Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 0.45 t α(i,t) IFT615 Froduald Kabanza

31 Programmation dynamique pour HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 initialisation: α(1,1) = P(S1=0| H1 = 1) P(H1 = 1) = 0.2 x 0.5 = 0.1 Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 0.45 0.1 t α(i,t) IFT615 Froduald Kabanza

32 Programmation dynamique pour HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 récursion (t=1): α(i,t+1) = P(St+1= st+1|Ht+1 = i) j P(Ht+1 = i|Ht = j) α(j,t) Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 0.45 0.1 t α(i,t) IFT615 Froduald Kabanza

33 Programmation dynamique pour HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 récursion: α(0,2) = P(S2= 1|H2 = 0) ( P(H2 = 0|H1 = 0) α(0,1) + P(H2 = 0|H1 = 1) α(1,1)) Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 0.45 0.1 t α(i,t) IFT615 Froduald Kabanza

34 Programmation dynamique pour HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 récursion: α(0,2) = 0.1 ( 0.3 x x 0.1) = Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 0.45 0.0175 0.1 t α(i,t) IFT615 Froduald Kabanza

35 Programmation dynamique pour HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 récursion: α(1,2) = P(S2= 1|H2 = 1) ( P(H2 = 1|H1 = 0) α(0,1) + P(H2 = 1|H1 = 1) α(1,1)) Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 0.45 0.0175 0.1 t α(i,t) IFT615 Froduald Kabanza

36 Programmation dynamique pour HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 récursion: α(1,2) = 0.8 ( 0.7 x x 0.1) = 0.3 Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 0.45 0.0175 0.1 0.3 t α(i,t) IFT615 Froduald Kabanza

37 Programmation dynamique pour HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 récursion (t=2): α(i,t+1) = P(St+1= st+1|Ht+1 = i) j P(Ht+1 = i|Ht = j) α(j,t) Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 0.45 0.0175 0.1 0.3 t α(i,t) IFT615 Froduald Kabanza

38 Programmation dynamique pour HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 récursion: α(0,3) = 0.9 ( 0.3 x x 0.3) = Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 0.45 0.0175 0.1 0.3 t α(i,t) IFT615 Froduald Kabanza

39 Programmation dynamique pour HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 on continue d’appliquer la récursion jusqu’à la fin (t=4)... Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 0.45 0.0175 0.1 0.3 t α(i,t) IFT615 Froduald Kabanza

40 Filtrage dans un HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 on peut calculer les probabilités de filtrage P(H4 = 0 | S1=0, S2=1, S3=0, S4=0) = P(H4 = 0, S1=0, S2=1, S3=0, S4=0) i P(H4 = i, S1=0, S2=1, S3=0, S4=0) = α(0,4) / ( α(0,4) + α(1,4) ) = / ( ) ≈ P(H4 = 1 | S1=0, S2=1, S3=0, S4=0) = / ( ) ≈ i 1 2 3 4 0.45 0.0175 0.1 0.3 t α(i,t) IFT615 Froduald Kabanza

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(St+1:T=st+1:T | Ht = i) Récursivement on a: β(i,t-1) = P(St:T=st:T | Ht-1 = i) = j P(St:T=st:T, Ht = j | Ht-1 = i) = j P(St= st|Ht = j) P(Ht = j|Ht-1 = i) P(St+1:T=st+1:T| Ht = j) = j P(St= st|Ht = j) P(Ht = j|Ht-1 = i) β(j,t) On a les valeurs initiales β(i,T) = 1 i Une fois le tableau β calculé, on obtient facilement: P(S1:T=s1:T) = j P(S1:T=s1:T, H1 = j) = j P(S2:T=s2:T | H1 = j) P(S1=s1 |H1 = j) P(H1 = j) = j β(j,1) P(S1=s1 |H1 = j) P(H1 = j) IFT615 Froduald Kabanza

42 Programmation dynamique pour HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 initialisation: β(i,4) = 1 Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 t β(i,t) IFT615 Froduald Kabanza

43 Programmation dynamique pour HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 initialisation: β(i,4) = 1 Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 t β(i,t) IFT615 Froduald Kabanza

44 Programmation dynamique pour HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 initialisation: β(i,4) = 1 Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 t β(i,t) IFT615 Froduald Kabanza

45 Programmation dynamique pour HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 récursion (t=4): β(i,t-1) = j P(St= st|Ht = j) P(Ht = j|Ht-1 = i) β(j,t) Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 t β(i,t) IFT615 Froduald Kabanza

46 Programmation dynamique pour HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 récursion β(0,3) = P(S4=0|H4=0) P(H4=0|H3=0) β(0,4) P(S4=0|H4=1) P(H4=1|H3 =0) β(1,4) Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 t β(i,t) IFT615 Froduald Kabanza

47 Programmation dynamique pour HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 récursion β(0,3) = 0.9 x 0.3 x x 0.7 x 1 = 0.41 Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 0.41 t β(i,t) IFT615 Froduald Kabanza

48 Programmation dynamique pour HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 récursion β(1,3) = P(S4=0|H4=0) P(H4=0|H3=1) β(0,4) P(S4=0|H4=1) P(H4=1|H3 =1) β(1,4) Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 0.41 t β(i,t) IFT615 Froduald Kabanza

49 Programmation dynamique pour HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 récursion β(1,3) = 0.9 x 0.4 x x 0.6 x 1 = 0.48 Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 0.41 0.48 t β(i,t) IFT615 Froduald Kabanza

50 Programmation dynamique pour HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 récursion (t=3): β(i,t-1) = j P(St= st|Ht = j) P(Ht = j|Ht-1 = i) β(j,t) Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 0.41 0.48 t β(i,t) IFT615 Froduald Kabanza

51 Programmation dynamique pour HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 récursion β(0,2) = P(S3=0|H3=0) P(H3=0|H2=0) β(0,3) P(S3=0|H3=1) P(H3=1|H2 =0) β(1,3) Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 0.41 0.48 t β(i,t) IFT615 Froduald Kabanza

52 Programmation dynamique pour HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 récursion β(0,2) = 0.9 x 0.3 x x 0.7 x 0.48 = Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 0.1779 0.41 0.48 t β(i,t) IFT615 Froduald Kabanza

53 Programmation dynamique pour HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 on continue d’appliquer la récursion jusqu’au début (t=1)... Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 0.1779 0.41 0.2052 0.48 t β(i,t) IFT615 Froduald Kabanza

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

55 Lissage avec un HMM Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 on peut calculer les probabilités de lissage au temps t=2 P(H2 = 0 | S1=0, S2=1, S3=0, S4=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(H2 = 1 | S1=0, S2=1, S3=0, S4=0) = 0.3 x / ( x x ) ≈ i ... 2 0.0175 1 0.3 t i ... 2 0.1779 1 0.2052 t α(i,t) β(i,t) IFT615 Froduald Kabanza

56 Prédiction dans un HMM α(i,t) peut être utilisé pour inférer la distribution de prédiction P(Ht+k|s1:t) On utilise également un programme dynamique Notons π(i,k) = P(Ht+k = i|S1:t=s1:t) Récursivement: π(i,k+1) = P(Ht+k+1 = i|S1:t=s1:t) = s j P(Ht+k+1 = i, Ht+k = j, St+k=s|S1:t=s1:t) = s j P(St+k= s|Ht+k = j) P(Ht+k+1 = i|Ht+k = j) P(Ht+k = j|S1:t=s1:t) = j P(Ht+k+1 = i|Ht+k = j) P(Ht+k = j|S1:t=s1:t) s P(St+k= s|Ht+k = j) = j P(Ht+k+1 = i|Ht+k = j) π(j,k) On a les valeurs initiales π(i,0) = P(Ht = i|s1:t) = α(i,t) / j α(j,t) i On pourrait également faire une prédiction de St+k P(St+k = s|S1:t=s1:t) = j P(St+k= s|Ht+k = j) P(Ht+k = j|S1:t=s1:t) = j P(St+k= s|Ht+k = j) π(j,k) IFT615 Froduald Kabanza

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(H6=0 | S1=0,S2=1,S3=0,S4=0) Voir la suite dans les diapos en ligne (cachés) Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i ... 4 1 t i 1 2 k α(i,t) π(i,k) IFT615 Froduald Kabanza

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(H6=0 | S1=0,S2=1,S3=0,S4=0) initialisation: π(i,0) = α(i,t) / j α(j,t) Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i ... 4 1 t i 1 2 k α(i,t) π(i,k) IFT615 Froduald Kabanza

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(H6=0 | S1=0,S2=1,S3=0,S4=0) initialisation: π(0,0) = α(0,4) / ( α(0,4) + α(1,4) ) Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i ... 4 1 t i 1 2 k α(i,t) π(i,k) IFT615 Froduald Kabanza

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(H6=0 | S1=0,S2=1,S3=0,S4=0) initialisation: π(0,0) = / ( ) = Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i ... 4 1 t i 1 2 k α(i,t) π(i,k) IFT615 Froduald Kabanza

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(H6=0 | S1=0,S2=1,S3=0,S4=0) initialisation: π(1,0) = / ( ) = Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i ... 4 1 t i 1 2 k α(i,t) π(i,k) IFT615 Froduald Kabanza

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(H6=0 | S1=0,S2=1,S3=0,S4=0) récursion (k=0): π(i,k+1) = j P(Ht+k+1 = i|Ht+k = j) π(j,k) Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i ... 4 1 t i 1 2 k α(i,t) π(i,k) IFT615 Froduald Kabanza

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(H6=0 | S1=0,S2=1,S3=0,S4=0) récursion (k=0): π(0, 1) = P(H5 = 0|H4 = 0) π(0,0) + P(H5 = 0|H4 = 1) π(1,0) Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i ... 4 1 t i 1 2 k α(i,t) π(i,k) IFT615 Froduald Kabanza

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(H6=0 | S1=0,S2=1,S3=0,S4=0) récursion (k=0): π(0, 1) = 0.3 x x = Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i ... 4 1 t i 1 2 k α(i,t) π(i,k) IFT615 Froduald Kabanza

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(H6=0 | S1=0,S2=1,S3=0,S4=0) récursion (k=0): π(1, 1) = P(H5 = 1|H4 = 0) π(0,0) + P(H5 = 1|H4 = 1) π(1,0) Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i ... 4 1 t i 1 2 k α(i,t) π(i,k) IFT615 Froduald Kabanza

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(H6=0 | S1=0,S2=1,S3=0,S4=0) récursion (k=0): π(0, 1) = 0.7 x x = Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i ... 4 1 t i 1 2 k α(i,t) π(i,k) IFT615 Froduald Kabanza

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(H6=0 | S1=0,S2=1,S3=0,S4=0) on continue d’appliquer la récursion jusqu’à la fin (k=2)... Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i ... 4 1 t i 1 2 k α(i,t) π(i,k) IFT615 Froduald Kabanza

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(H6=0 | S1=0,S2=1,S3=0,S4=0) P(H6=0 | S1=0,S2=1,S3=0,S4=0) = π(0,2) = Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i ... 4 1 t i 1 2 k α(i,t) π(i,k) IFT615 Froduald Kabanza

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(s1|h*1) P(h*2|h*1) P(s2|h*2) P(h*3|h*2) P(s3|h*3) = max P(s3|h*3) max P(s2|h*2) P(h*3|h*2) max P(h*2|h*1) P(h*1) P(s1|h*1) Solution: programmation dynamique, avec un max au lieu de la somme Notons α*(i,t) = P(S1:t=s1:t, H1:t-1 = h*1:t-1, Ht = i) Recursivement, on a: α*(i,t+1) = maxj P(S1:t+1=s1:t+1, H1:t-1 = h*1:t-1, Ht = j, Ht+1 = i) = maxj P(St+1=st+1 | Ht+1 = i) P(Ht+1 = i | Ht = j) P(S1:t=s1:t, H1:t-1 = h*1:t-1, Ht = j) = P(St+1=st+1 | Ht+1 = i) maxj P(Ht+1 = i | Ht = j) α*(j,t) On a les valeurs initiales: α*(i,1) = P(S1=s1| H1 = i) P(H1 = i) i On a alors que P(S1:T=s1:T, H1:T = h*1:T) = maxj α*(j,T) On retrouve h*1:T à partir de tous les argmaxj h*1:3 h*3 h*2 h*1 IFT615 Froduald Kabanza

70 Explication la plus plausible avec un HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 initialisation: α*(i,1) = P(S1=s1, H1 = i) = P(S1=s1| H1 = i) P(H1 = i) Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 t α*(i,t) IFT615 Froduald Kabanza

71 Explication la plus plausible avec un HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 initialisation: α*(0,1) = P(S1=0| H1 = 0) P(H1 = 0) = 0.9 x 0.5 = 0.45 Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 0.45 t α*(i,t) IFT615 Froduald Kabanza

72 Explication la plus plausible avec un HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 initialisation: α*(1,1) = P(S1=0| H1 = 1) P(H1 = 1) = 0.2 x 0.5 = 0.1 Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 0.45 0.1 t α*(i,t) IFT615 Froduald Kabanza

73 Explication la plus plausible avec un HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 récursion (t=1): α*(i,t+1) = P(St+1=st+1 | Ht+1 = i) maxj P(Ht+1 = i | Ht = j) α*(j,t) Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 0.45 0.1 t α*(i,t) IFT615 Froduald Kabanza

74 Explication la plus plausible avec un HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 récursion: α*(0,2) = P(S2=1|H2=0) max{P(H2 = 0|H1 = 0) α*(0,1), P(H2 = 0|H1 = 1) α*(1,1)} Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 0.45 0.1 t α*(i,t) IFT615 Froduald Kabanza

75 Explication la plus plausible avec un HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 récursion: α*(0,2) = 0.1 max{ 0.3 x 0.45,0.4 x 0.1} = Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 0.45 0.0135 0.1 t α*(i,t) IFT615 Froduald Kabanza

76 Explication la plus plausible avec un HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 récursion: α*(1,2) = P(S2=1|H2 =1) max{P(H2 = 1|H1 = 0) α*(0,1), P(H2 = 1|H1 = 1) α*(1,1)} Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 0.45 0.0135 0.1 t α*(i,t) IFT615 Froduald Kabanza

77 Explication la plus plausible avec un HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 récursion: α*(1,2) = 0.8 max{ 0.7 x 0.45, 0.6 x 0.1} = 0.252 Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 0.45 0.0135 0.1 0.252 t α*(i,t) IFT615 Froduald Kabanza

78 Explication la plus plausible avec un HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 récursion (t=2): α*(i,t+1) = P(St+1=st+1 | Ht+1 = i) maxj P(Ht+1 = i | Ht = j) α*(j,t) Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 0.45 0.0135 0.1 0.252 t α*(i,t) IFT615 Froduald Kabanza

79 Explication la plus plausible avec un HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 récursion: α*(0,3) = 0.9 max{ 0.3 x , 0.4 x 0.252} = Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 0.45 0.0135 0.1 0.252 t α*(i,t) IFT615 Froduald Kabanza

80 Explication la plus plausible avec un HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 on continue d’appliquer la récursion jusqu’à la fin (t=4)... Modèle d’observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 0.45 0.0135 0.1 0.252 t α*(i,t) IFT615 Froduald Kabanza

81 Explication la plus plausible avec un HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 on trouve le maximum à la dernière colonne... Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 0.45 0.0135 0.1 0.252 t α*(i,t) IFT615 Froduald Kabanza

82 Explication la plus plausible avec un HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 ... puis on retrouve le chemin qui a mené là Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 0.45 0.0135 0.1 0.252 t α*(i,t) IFT615 Froduald Kabanza

83 Explication la plus plausible avec un HMM
Exemple: décoder un message binaire avec canal bruité (T=4) message observé: S1=0, S2=1, S3=0, S4=0 ce chemin nous donne la séquence des Ht la plus probable Modèle d'observation Modèle de transition Distribution initiale Ht=0 Ht=1 P(St=0 | Ht) 0.9 0.2 P(St=1 | Ht) 0.1 0.8 Ht-1=0 Ht-1=1 P(Ht=0 | Ht-1) 0.3 0.4 P(Ht=1 | Ht-1) 0.7 0.6 H1=0 H1=1 P(H1) 0.5 i 1 2 3 4 0.45 0.0135 0.1 0.252 t α*(i,t) H1=0 H2=1 H3=0 H4=0 IFT615 Froduald Kabanza

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

85 Filtrage en ligne avec RBD
Étant donné mon état de croyance actuel P(Xt | e1:t) comment le mettre à jour après une nouvelle observation et+1 en temps réel En appliquant la règle de Bayes et l’hypothèse markovienne, nous arrivons à: P(Xt+1 | e1:t+1) = P(Xt+1 | e1:t, et+1) = P(et+1 | Xt+1)  P(Xt+1 | xt) P(xt | e1:t) / α (détails page 572 du manuel de référence) α: constante de normalisation The term P(x_{t+1}|x_t) reprsents a one-step prediction of the next step, and the first term updates this with the new evidence. Now we obtain the one-step prediction for the next step by conditioning on the current state Xt: ant que les probabilités s’additionnent à 1 Within the summation, the first factor comes from the transition model, and the second one comes from the current state distribution xt 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 IFT615 Froduald Kabanza

86 Exemple de l’agent de sécurité
RBD: une distribution de probabilité a priori P(R0), par exemple [0.5, 0.5] un modèle des transition P(Rt|Rt-1) un modèle d’observation P(Ut|Rt) Jour 1: le parapluie apparait, (U1=true ou u1) le filtrage de t=0 à t=1 est: P(R1 | u1) = P(u1 | R1) P(R1) / α Rt-1 P(rt|Rt-1) V 0.7 F 0.3 Rt P(ut|Rt) V 0.9 F 0.2 IFT615 Froduald Kabanza

87 Exemple de l’agent de sécurité
Jour 2: le parapluie apparait de nouveau, c.-à-d., U2=true le filtrage de t=1 à t=2 est: P(R2 | u1, u2) = P(u2 | R2) P(R2|u1) / α = ( P(u2 | R2)  P(R2|r1) P(r1|u1) ) / α r1 IFT615 Froduald Kabanza

88 Améliorations sur le HMM
Comment rendre un HMM (ou un RBD en général) plus précis? augmenter l’ordre du modèle markovien ex.: Raint aurait comme parents, non seulement Raint-1 mais aussi Raint-2 pour un processus markovien du second ordre ceci donnerait des prédictions plus précises permettre des interactions directes entre la variables d’observation on pourrait avoir plutôt P(Et | X0:t ,E0:t-1) = P(Et | Xt, Et-1) ça peut rendre l’inférence encore plus complexe IFT615 Froduald Kabanza

89 Au delà du HMM Filtre de Kalman: cas où les variables d’observation 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 n’est pas possible de faire une sommation exacte sur toutes les configurations de l’état caché on doit alors approximer l’infé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. IFT615 Froduald Kabanza

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) mots mots IFT615 Froduald Kabanza

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 IFT615 Froduald Kabanza

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 d’environ 100 sons, appelés phones, communs à toutes les langues Les phones découlent de l’articulation des lèvres, des dents, de la langue, des cordes vocales et du flux de l’air Intuitivement, un phone est un son qui correspond à une seule consonne ou une seule voyelle Mais c’est 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 l’on 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 d’un mot phonème /k/: phones [k] (« cat », « kit ») et [kh] (« school », « skill ») IFT615 Froduald Kabanza

93 Phones: exemple Phones pour l’anglais américain: IFT615
Froduald Kabanza

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 L’existence 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(et|xt) donne la probabilité que le signal échantillonné soit observé au temps t si le phone est xt En général, p(e_t,x_t) est appelé le modèle sensoriel ou le model d’observation. IFT615 Froduald Kabanza

95 Exemple de 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 IFT615 Froduald Kabanza

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

97 Résumé Un réseau bayésien dynamique (RBD) permet de tenir compte de la nature séquentielle d’un environnement Un modèle de Markov caché (HMM) est un cas particulier de RBD avec une seule variable cachée Xt = {Ht} et une seule variable observée Et = {St} les variables Ht et St sont discrètes Il existe des procédures de programmation dynamique efficaces dans un HMM pour faire de l’inférence (filtrage, prédiction, lissage, explication la plus plausible) IFT615 Froduald Kabanza

98 Raisonnement probabiliste : pour quel type d’agent?
Simple reflex Model-based reflex Goal-based Utiliy-based IFT615 Froduald Kabanza

99 Raisonnement probabiliste : pour quel type d’agent?
Simple reflex Model-based reflex Goal-based Utiliy-based IFT615 Froduald Kabanza

100 Objectifs du cours Algorithmes et concepts recherche locale
satisfaction de contraintes agents intelligents logique raisonnement probabiliste recherche avec des adversaires - les slides devraient être mises en ligne le mercredi de chaque semaine recherche heuristique IFT615 Froduald Kabanza

101 Vous devriez être capable de...
Distinguer les différents types d’inférence distribution de filtrage distribution de prédiction distribution de lissage explication la plus plausible Décrire ce qu’est 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 l’inférence dans un modèle de Markov caché IFT615 Froduald Kabanza


Télécharger ppt "IFT 615 – Intelligence artificielle Raisonnement probabiliste temporel"

Présentations similaires


Annonces Google