Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parRaoul Duchemin Modifié depuis plus de 10 années
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
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.