Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
IFT 616 Intelligence Artificielle
Jean-François Landry Département d’informatique Université de Sherbrooke Réseaux bayésiens dynamiques
2
Sujets 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. Plus tard, dans un exposé d’un invité vous verrez le cas particulier de filtres de particules. IFT615
3
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. 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
4
RBD - Représentation 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: 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. 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 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 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
5
RBD - Illustrations 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. Le premier exemple de RBD est aussi une chaîne de Markov. Nous les étudierons plus spécifiquement plus loin. RBD du second ordre IFT615 5
6
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): Modèle des transitions: P(Rt | Rt-1). Modèle d’observation: P(Et | Rt). IFT615 6
7
RBD 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 7
8
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
9
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à. 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
10
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. (séparer l’évidence en 2) (Règle de Bayes) α : constante de normalisation. (Hypothèse markovienne) 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 (Hypothèse Markovienne) IFT615 10
11
RBD – Filtrage Exemple de l’agent de sécurité
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). 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: IFT615 11
12
DBN – Filtrage Exemple de l’agent de sécurité
Jour 2, le parapluie apparait de nouveau, c.-à-d., U1=true. La prédiction de t=1 à t=2 donne: avec IFT615 12
13
Exemple d’application: Projet “assisted cognition” Henry Kautz, University of Rochester
B Work 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
14
Modèle hiérarchique du RBD
Kautz et al. xk-1 zk-1 zk xk mk-1 mk tk-1 tk gk-1 gk Goal Trip segment Transportation mode For example, go from home to office x=<Location, Velocity> GPS reading
15
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.
16
RBD – Cas spécial: Chaî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. 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). Applications: Reconnaissance vocale. Reconnaissance de caractères. Génome. Reconnaissance de plans Beaucoup d’autres. IFT615
17
Exemple de 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 Exemple de chaîne : CCBBAAAAABAABACBABAAA IFT615
18
Probabilité de générer une chaîne
Produit des probabilités, une pour chaque terme de la séquence Distribution initiale de probabilités. Une séquence de symboles, allant du temps 1 au temps T Probabilité de transition IFT615
19
Apprendre la table des probabilités conditionnelles
Approche Naïve : Observer plusieurs chaînes et définir les probabilités conditionnelles en fonction des fréquences d’occurrence des symboles. Problèmes avec zéro occurrences. Mieux: P(B|A) = Σ #AB chaînes #A P(B|A) = Σ #AB chaînes #A 1 + Nb chaînes + IFT615
20
Chaînes cachées de Markov
Comment modéliser les états et les observations ? Les états sont considérés cachés. L’état caché suivant dépend uniquement de l’état caché courant, mais peut contenir des informations sur un ou plusieurs états antérieurs. Le symbole (signal) émis dans l’état est observable et dépend uniquement de l’état actuel. Une chaîne de Markov avec des états cachées est dite une chaîne cachée de Markov (CCM) ou un modèle caché de Markov (MCM): Hidden Markov Model (HMM) en anglais. IFT615
21
Exemple i A B C k j .5 .7 .3 .2 .1 Chaque nœud caché a un vecteur de probabilités de transitions et un vecteur de probabilités de sorties (observations). IFT615
22
Simuler une CCM Il est facile de générer des mots. À chaque étape, faire deux choix aléatoires : Utiliser les probabilités de transitions du nœud caché courant, pour obtenir le nœud suivant. Utiliser les probabilités de sortie du nœud caché courant pour obtenir le symbole de sortie. On peut aussi générer la séquence des nœuds d’abord et ensuite générer les sorties correspondantes. Les nœuds cachés dépendent uniquement des nœuds précédents Les sorties ne dépendront pas sur la séquence (visible) des sorties. IFT615
23
Probabilité de générer une séquence cachée
Produit des probabilités, une pour chaque terme de la séquence Distribution initiale Probabilité de transitions entre les nœuds. Une séquence de nœuds cachés, allant du temps 1 au temps T Pij = p(ht = j | ht-1 = i) IFT615
24
Probabilité de générer une séquence cachée et une séquence visible
Séquence de nœuds cachés et de symboles de sortie. Probabilité de sortir le symbole st au nœud ht. IFT615
25
Probabilité de générer une séquence visible
séquences cachés La même séquence de sortie peut être produite par plusieurs séquences cachées différentes. Mais il y a un nombre exponentiel de séquences cachées possibles. Le calcul est donc très inefficace. IFT615
26
Programmation 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 t, en utilisant le nœud i au temps t est notée: Cela peut être calculé récursivement : IFT615
27
Apprentissage des paramètres d’une CCM
Il est facile d’apprendre les paramètres d’une CCM pourvu que : Pour chaque séquence observée, on puisse inférer les probabilités postérieures des états cachées. On peut utiliser la programmation dynamique pour inférer quelle séquence cachée a donnée lieu à une séquence d’observations. IFT615
28
Application : 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
29
Modèle acoustique et modèle du langage
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
30
Phones 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
31
Phones : exemple Phones pour l’anglais américain : IFT615
32
Modè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. En général, p(e_t,x_t) est appelé le modèle sensoriel ou le model d’observation. IFT615
33
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
34
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
35
Applications Reconnaissance vocale
CMU Sphinx (publique) : Dragon Naturally Speaking (commercial) IBM ViaVoice (commercial) Reconnaissance de caractères Observé : image. Caché : mots. Exemple de projet: - Utiliser une chaine cache de Markov pour faire de la reconnaissance de plans dans un domaine au choix. Par exemple dans un jeu qui serait une extension du monde des wumpus avec cette fois-ci des wumpus qui peuvent se déplacer et développer des stratégies pour attaquer le chercheur d’or, sous certaines contraintes. IFT615
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.