IFT 616 Intelligence Artificielle

Slides:



Advertisements
Présentations similaires
Modèles de Markov Cachés (HidenMarkovModel)
Advertisements

Fabrice Lauri, François Charpillet, Daniel Szer
L-System et modélisation de plantes…
« Systèmes électroniques »
Application au suivi des paramètres de problèmes de vision
Champs de Markov en Vision par Ordinateur
RECONNAISSANCE DE FORMES
compensation de défaut : flou, bougé, écho
Reconnaissance de la parole
Reconnaissance Automatique de la Parole
Reconnaissance Automatique de la Parole
Inférence statistique
Méthodes de simulation
Chap 1 Grammaires et dérivations.
INTRODUCTION.
Modélisation des systèmes non linéaires par des SIFs
Reconnaissance de la parole
IFT 615 – Intelligence artificielle Raisonnement probabiliste
Cours d’Automatique MASTER OIV
Le filtrage au cours des âges Du filtre de Kalman au filtrage particulaire André Monin.
Froduald Kabanza Département d’informatique Université de Sherbrooke
Application des algorithmes génétiques
Suites de matrices Quelques usages récurrents
Décodage des informations
IFT 615 – Intelligence artificielle Raisonnement probabiliste temporel
Modèles de Markov Cachés
Froduald Kabanza Département d’informatique Université de Sherbrooke
Maîtrise des risques et sûreté de fonctionnement – Avignon – 6-10 Octobre 2008 Modélisation des dysfonctionnements dun système dans le cadre dactivités.
Méthodes de prévision (STT-3220) Section 4 Concepts fondamentaux de séries chronologiques Version: 8 novembre 2004.
Reconnaissance Vocale
IFT 615 Intelligence Artificielle
IFT313 Introduction aux langages formels Froduald Kabanza Département dinformatique Université de Sherbrooke Automates à pile LR Notion de poignée.
IFT 616 Intelligence Artificielle
Revisé 2006 Modèle de performance dun serveur simple Nous supposons que le serveur traite une requête après lautre (sans parallisme) Modèle de files dattente.
Prédiction multi-step de la volatilité : le modèle ARIMA-GARCH appliqué aux séries temporelles d’affaiblissement par la pluie sur les liaisons Terre-Satellite.
Révisions - IA Généralité: problèmes de lIA Recherche Logique Traitement de lincertitude Apprentissage Langue naturelle.
Les Arbres de décision ou régression
1 Décisions dans lincertain Eric Sanlaville ISIMA 3 F3, master SIAD novembre 2008.
Mise en oeuvre des MMCs L'utilisation des MMCs en reconnaissance des formes s'effectue en trois étapes : définition de la topologie de la chaîne de Markov,
1 La détection de gènes impliqués dans les maladies multifactorielles Marie-Pierre Etienne ENGREF Laboratoire GRESE Statistique et Génome.
IFT 615 Intelligence Artificielle
Réseaux bayésiens Chap. 14 Sections 1 – 3.
Rappel Modèle analyse-synthèse de la compilation
Filtrage de Kalman et aperçu probabiliste
CHAPITRE 2 LES SITUATIONS FONCTIONNELLES
STT-3220 Méthodes de prévision
Réseaux bayésiens: Inférence
GOL503 Spécificités sectorielles
Présentation de la méthode des Eléments Finis
Physique 3 Vibrations et ondes mécaniques
Paradigmes des Langages de Programmation
Avignon, 14 novembre 2006http://biobimo.eurecom.fr Sous-Projet 4 : Segmentation et Authentification conjointes de la voix et du visage Etat de l’art -
Les principes de la modélisation de systèmes
Traitement de la parole : Synthèse et reconnaissance
Ministère de l’Enseignement Supérieur et de la Recherche Scientifique
IFT 615 – Intelligence artificielle Réseaux bayésiens
D.E ZEGOUR Ecole Supérieure d’Informatique. Problèmes de décision Concepts de base Expressions régulières Notation particulière pour exprimer certaines.
Sureté de fonctionnement dans les WNCS
TNS et Analyse Spectrale
Structures de données avancées : LH (Hachage linéaire) D. E ZEGOUR Institut National d ’Informatique.
TNS et Analyse Spectrale
Hiver 2004SEG2501 Chapître 41 Chapître 4 SDL – structure d’un système et son comportement.
1/16 Chapitre 3: Représentation des systèmes par la notion de variables d’état Contenu du chapitre 3.1. Introduction 3.2. Les variables d’état d’un système.
GPA-779 Application des systèmes experts et des réseaux de neurones.
Mais quel est donc le taux d’inflation actuel ? J.C. Lambelet et D. Nilles Catherine Roux Alvaro Aparicio Gregor Banzer Daniel Cavallaro.
Journée Des Doctorants 2004
Concepts avancés en mathématiques et informatique appliquées
CHAPITRE 2 LES SITUATIONS FONCTIONNELLES
Processus ponctuels Caractéristiques et Modèles de répartitions spatiales.
Transcription de la présentation:

IFT 616 Intelligence Artificielle Jean-François Landry Département d’informatique Université de Sherbrooke Réseaux bayésiens dynamiques

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

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

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

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

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

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

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

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

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

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

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

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 http://www.cs.rochester.edu/u/kautz/talks/converging-technology-kautz-v3.ppt

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 http://www.cs.rochester.edu/u/kautz/talks/converging-technology-kautz-v3.ppt

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. http://www.cs.rochester.edu/u/kautz/talks/converging-technology-kautz-v3.ppt

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

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 .7 .3 0 .2 .7 .5 .1 0 .5 Prochain symbole B C Exemple de chaîne : CCBBAAAAABAABACBABAAA IFT615

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

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

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

Exemple i A B C k j .5 .1 .3 .6 .4 .6 0 0 .2 .8 .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

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

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

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

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

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

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

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

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

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

Phones : exemple Phones pour l’anglais américain : IFT615

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

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

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

Applications 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. 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