ift 616 intelligence artificielle jean-françois landry département dinformatique université de...
TRANSCRIPT
IFT 616IFT 616Intelligence ArtificielleIntelligence Artificielle
Jean-François Landry
Département d’informatique
Université de Sherbrooke
Réseaux bayésiens dynamiques
Sujets couvertsSujets couverts
C’est quoi un réseau bayésien dynamique (RBD)?
Exemple d’inférence simple dans un RBD.
Cas particuliers des chaînes cachées de Markov.
IFT615 2
Réseaux bayésiens dynamiques (RBD) Comment modéliser des situations dynamiques?
Les changements dynamiques peuvent être vues comme une séquence d’états, chaque état représentant la situation à un instant donné.
Xt : Ensemble des variables non observables décrivant l’état au temps t.
Et : Ensembles de variables observées (évidence) 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.
IFT615 3
Problème: Il faudrait spécifier un nombre infini de tables de probabilité
conditionnelle: une pour chaque variable, dans chaque état. Chaque table pourrait impliquer un nombre infini de parents.
Solution:
1. Supposer que les changements dynamiques sont causées 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.
2. Supposer que les changements dynamiques sont causées par un processus markovien – l’état courant dépend seulement d’un nombre fini d’états précédents. Processus markoviens du premier ordre:
• P(Xt | X0:t-1) = P(Xt | Xt-1) modèle pour les transitions
3. Supposer que l’évidence dépend uniquement de l’état courant.
• P(Et | X0:t ,E0:t-1) = P(Et | Xt) modèle pour les
• observations/capteurs
RBD - Représentation
IFT615 4
RBD - Illustrations
2tX 1tX 2tX1tXtX
2tX 1tX 2tX1tXtX
RBD du second ordre
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.
IFT615 5
RBD - Exemple Contexte: 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):
1tRaintRain1tRain
1tUmbrellatUmbrella1tUmbrella
Modèle des transitions: P(Rt | Rt-1). Modèle d’observation: P(Et | Rt).
IFT615 6
RBD Comment rendre un RBD plus précis?
1. 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.
2. 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 7
Types d’inférence dans un RBD
Filtrage (filtering) ou monitorage/surveillance (monitoring) Prédiction, lissage Explication la plus plausible (séquence d’états)
Des algorithmes pour des RBD générales existent pour chaque type
d’inférence.
Des algorithmes plus efficaces existent pour des cas particuliers de RBD:
Chaînes cachées de Markov Filtres de Kalman Filtres de particules
IFT615 8
RBD – Filtrage ou monitorage
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à.
)|( :1 tt eXP
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 9
RBD – Filtrage ou monitorage
Étant donnés les résultats du monitorage jusqu’au temps t, on peut facilement calculer les résultats au temps t+1 à partir des nouvelles observations et+1.
),|()|( 1:111:11 ttttt eeXPeXP
)|()|(
)|()|(
:1111
:11:1,11
tttt
ttttt
eXPXeP
eXPeXeP
(séparer l’évidence en 2)
(Règle de Bayes)
(Hypothèse markovienne)
α : constante de normalisation.
)|()|()|( :1111 ttx
tttt exPxXPXePt
tx
ttttttt exPexXPXeP )|(),|()|( :1:1111
(Hypothèse Markovienne)
IFT615 10
RBD – Filtrage Exemple de l’agent de sécurité
)()|()|( 11111 RPRuPuRP
Données: une distribution de probabilité à priori P(R0), par exemple <0.5, 0.5>. Un modèle des transition P(Rt|Rt-1) et Un modèle d’observation P(Ut|Rt).
IFT615 11
Voyons maintenant les deux premières étapes de la détermination de l’état Rt:
Jour 1, le parapluie apparait, (U1=true ou u1). La prédiction de t=0 à t=1 est:
1tRaintRain1tRain
1tUmbrellatUmbrella1tUmbrella
DBN – Filtrage Exemple de l’agent de sécurité
)|()|(),|( 1222212 uRPRuPuuRP
Jour 2, le parapluie apparait de nouveau, c.-à-d., U1=true. La prédiction de t=1 à t=2 donne:
IFT615 12
1tRaintRain1tRain
1tUmbrellatUmbrella1tUmbrella
)|()|()|( 111212
1
urPrRPuRPravec
Exemple d’application:Projet “assisted cognition”
Henry Kautz, University of Rochester
BA
Goalswork, home, friends, restaurant, doctor’s, ...
Trip segmentsHome to Bus stop A on FootBus stop A to Bus stop B on BusBus stop B to workplace on Foot
Work
http://www.cs.rochester.edu/u/kautz/talks/converging-technology-kautz-v3.ppt
13
Modèle hiérarchique du RBD
Transportation mode
x=<Location, Velocity>
GPS reading
Goal
Trip segment
xk-1
zk-1 zk
xk
mk-1 mk
tk-1 tk
gk-1 gk
Kautz et al.
http://www.cs.rochester.edu/u/kautz/talks/converging-technology-kautz-v3.ppt
14
Reconnaître les buts d’un usager
Kautz et al.
http://www.cs.rochester.edu/u/kautz/talks/converging-technology-kautz-v3.ppt15
RBD – Cas spécial:RBD – Cas spécial:Chaînes cachées de MarkovChaînes cachées de Markov
Une chaîne de Markov (de premier ordre) est définie par
Cas particulier avec une seule variable aléatoire, appelée variable
d’état.
Une distribution initiale de probabilités sur des symboles (états).
Une matrice de transitions contenant des probabilités
conditionnelles.
IFT615 16
Exemple de chaîne de MarkovExemple de chaîne de Markov
Symbole actuel
A B C
Prochain symbole
A .7 .3 0
.2 .7 .5
.1 0 .5
Exemple de chaîne : CCBBAAAAABAABACBABAAA
A B
C
.7.3 .7
.2
0
.5
.5
.1
0
Représentation matricielle Représentation graphique
IFT615 17
C
B
Probabilité de générer une chaîneProbabilité de générer une chaîne
)|()()}({ 111
2
t
T
ttt sspspsp T
Une séquence de symboles, allant du temps 1 au temps T
Distribution initiale de probabilités.
Probabilité de transition
Produit des probabilités, une pour chaque terme de la séquence
IFT615 18
ExempleExemple
Chaque nœud caché a un vecteur de probabilités de transitions et un vecteur de probabilités de sorties (observations).
i
A B C k
j
A B C
A B C
.5
.5.1 .3 .6 .4 .6 0
0 .2 .8
.7.3 .7
.2
0.1
0
IFT615 21
Probabilité de générer une séquence Probabilité de générer une séquence cachée et une séquence visiblecachée et une séquence visible
)|()|()|()()},({ 11111
2ttt
T
tttt hsphhphsphpshp T
Séquence de nœuds cachés et de symboles de sortie.
Probabilité de sortir le symbole st au nœud ht.
IFT615 24
Programmation dynamique pour CCMProgrammation dynamique pour CCM
Une façon plus efficace de générer une séquence de sortie.
La probabilité jointe pour produire une séquence jusqu’au temps , en utilisant le nœud i au temps est notée:
),}({)( 1 ihsp ti
• Cela peut être calculé récursivement :
)|()()|()( 11 jhihpihspj
ji
IFT615 26
Application : reconnaissance vocaleApplication : reconnaissance vocale
La reconnaissance vocale est difficile :
Bruit ambiant ou introduit par la digitalisation
Variations dans la prononciation
Différents mots ayant 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 qui maximise la probabilité
P(mots | signal)
IFT615 28
Modèle acoustique et modèle du Modèle acoustique et modèle du langagelangage
Choisir la séquence de mots qui maximise la probabilité
P(mots | signal).
Utiliser la règle de Bayes : P(mots | signal) = α P(signal | mots) P(mots)
C’est-à-dire, décomposer le problème en modèle acoustique et modèle du
langage :
P(signal | mots) : modèle acoustique.
P(mots) : modèle du langage.
Chaîne cachée : les mots.
Chaîne observée : le signal.
IFT615 29
PhonesPhones Des travaux dans le domaine de phonologie ont montré que tous les langages
naturels utilisent seulement 40 à 50 sons de base, appelés phones.
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 font un seul phone.
Un phonème est la plus petite unité de son distinctive que l’on puisse isoler par
segmentation dans un mot.
IFT615 30
Phones : exemplePhones : exemple
• Phones pour l’anglais américain :
IFT615 31
Modèle acoustiqueModèle acoustique Rappel :
P(mots | signal) = α P(signal | mots) P(mots)
» P(signal | mots) : modèle acoustique.
» P(mots) : modèle du langage.
L’existence des phones permet de diviser le modèle acoustique en deux
parties :
Modèle de prononciation : spécifie, pour chaque mot, une distribution de
probabilité 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 la 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 et au temps t si le phone est xt.
IFT615 32
Exemple de modèle de prononciationExemple 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 33
ApplicationsApplications
Reconnaissance vocale
CMU Sphinx (publique) :
http://cmusphinx.sourceforge.net/html/download.php
Dragon Naturally Speaking (commercial)
IBM ViaVoice (commercial)
Reconnaissance de caractères
Observé : image.
Caché : mots.
IFT615 35