Intelligence Ambiante Pro-Active De la Spécification à l Implémentation Patrick Reignier, équipe PRIMA / LIG Université de Grenoble Jeudi 16 Septembre 2010
Activité de recherche 1989-1994 : Doctorat Navigation réactive pour un robot mobile 1995-2000 : Poste de MdC à l ENI Brest Environnement multi-agents pour la réalité virtuelle A partir de 2000 : Poste de MdC à l Université Joseph Fourier Intelligence Ambiante
l intelligence Ambiante Pro-Active Spe cification du contexte Point de vue De veloppeur Origines The Computer for the 21st Century [Weiser, 1991] Patrick Reignier, e quipe PRIMA / LIG Universite de Grenoble Intelligence Ambiante Pro-Active De la Spe cification a l Imple me
1991 : la vision de Weiser
1991 : la vision de Weiser
1991 : la vision de Weiser 1995 : l informatique calme
1991 : la vision de Weiser 1995 : l informatique calme
Intelligence ambiante
Intelligence Ambiante (suite) Bureau Active Badge [Want et al., 1992] Domestique Adaptive House [Mozer, 1998] Education eclass (Classroom 2000) [Abowd et al., 1996] Applications Pro-Actives Interaction Homme-Machine Implicite [Schmidt, 2005] Entrées implicites (actions utilisateur correspondant à sa tâche) Sorties implicites
Bilan l intelligence Ambiante Pro-Active Informatique Ubiquitaire: Depuis 2000 : explosion du nombre de terminaux OK Informatique Ambiante Pro-Active: De nombreux verrous scientifiques Difficulté à sortir des laboratoires
Bilan l intelligence Ambiante Pro-Active Informatique Ubiquitaire: Depuis 2000 : explosion du nombre de terminaux OK Informatique Ambiante Pro-Active: De nombreux verrous scientifiques Difficulté à sortir des laboratoires
Bilan l intelligence Ambiante Pro-Active Informatique Ubiquitaire: Depuis 2000 : explosion du nombre de terminaux OK Informatique Ambiante Pro-Active: De nombreux verrous scientifiques Difficulté à sortir des laboratoires
Axe de recherche Développement des Applications Ambiantes Pro-Actives Faciliter leur déploiement Approche transversale Deux catégories d acteurs: Développeur Utilisateur final Propriétés importantes : confiance, compétence [Maes, 1994]
Confiance l intelligence Ambiante Pro-Active La confiance d un usager est basée sur la perception de la compétence du système [Muir & Moray, 1996] Cadre plus large des systèmes automatisés Utilisation optimale d un système: Confiance de l usager compatible avec la compétence du système Calibration of trust Relation de confiance Homme-Machine: relation de confiance Homme-Homme
Confiance l intelligence Ambiante Pro-Active La confiance d un usager est basée sur la perception de la compétence du système [Muir & Moray, 1996] Cadre plus large des systèmes automatisés Utilisation optimale d un système: Confiance de l usager compatible avec la compétence du système Calibration of trust Relation de confiance Homme-Machine: relation de confiance Homme-Homme
Quelques pistes pour l établissement de la confiance Fournir un retour à l utilisateur sur son fonctionnement: Intelligibilité [Bellotti & Edwards, 2001] Ce qu il sait, comment il le sait, ce qu il en fait Compréhensibilité [Cheverst et al., 2005] Percevoir son fonctionnement interne (Glass Box) Scrutabilité [Kay et al., 2003] Capacité à interroger le modèle ( à l ordinateur invisible) Le fil conducteur de toutes nos approches
Quelques pistes pour l établissement de la confiance Fournir un retour à l utilisateur sur son fonctionnement: Intelligibilité [Bellotti & Edwards, 2001] Ce qu il sait, comment il le sait, ce qu il en fait Compréhensibilité [Cheverst et al., 2005] Percevoir son fonctionnement interne (Glass Box) Scrutabilité [Kay et al., 2003] Capacité à interroger le modèle ( à l ordinateur invisible) Le fil conducteur de toutes nos approches
Sommaire l intelligence Ambiante Pro-Active 1 2 Apprentissage de rôles Reconnaissance de situations Modèle attentionnel 3 Adaptation supervisée de situations Apprentissage renforcé de situations 4
Architecture générale
Architecture générale
3 Etapes l intelligence Ambiante Pro-Active
3 Etapes l intelligence Ambiante Pro-Active
3 Etapes l intelligence Ambiante Pro-Active
3 Etapes l intelligence Ambiante Pro-Active
Spécification
Quel modèle de contexte? Premières définitions: orientées Localisation Ex: ActiveMaps [Schilit & Theimer, 1994] Concept beaucoup plus riche: Ex: [Schmidt et al., 1998]: Facteurs humains: environnement social,... Facteurs physiques: lumière, son,... Quels facteurs doit-on modéliser? Tout ce qui concerne l interaction entre les usagers et le système [Dey, 2001] Comment doit-on le modéliser? Notre approche pour la spécification [Crowley et al., 2002]
Quel modèle de contexte? Premières définitions: orientées Localisation Ex: ActiveMaps [Schilit & Theimer, 1994] Concept beaucoup plus riche: Ex: [Schmidt et al., 1998]: Facteurs humains: environnement social,... Facteurs physiques: lumière, son,... Quels facteurs doit-on modéliser? Tout ce qui concerne l interaction entre les usagers et le système [Dey, 2001] Comment doit-on le modéliser? Notre approche pour la spécification [Crowley et al., 2002]
Quel modèle de contexte? Premières définitions: orientées Localisation Ex: ActiveMaps [Schilit & Theimer, 1994] Concept beaucoup plus riche: Ex: [Schmidt et al., 1998]: Facteurs humains: environnement social,... Facteurs physiques: lumière, son,... Quels facteurs doit-on modéliser? Tout ce qui concerne l interaction entre les usagers et le système [Dey, 2001] Comment doit-on le modéliser? Notre approche pour la spécification [Crowley et al., 2002]
Quel modèle de contexte? Premières définitions: orientées Localisation Ex: ActiveMaps [Schilit & Theimer, 1994] Concept beaucoup plus riche: Ex: [Schmidt et al., 1998]: Facteurs humains: environnement social,... Facteurs physiques: lumière, son,... Quels facteurs doit-on modéliser? Tout ce qui concerne l interaction entre les usagers et le système [Dey, 2001] Comment doit-on le modéliser? Notre approche pour la spécification [Crowley et al., 2002]
Notre approche Modélisation du monde Dialogue Développeur Utilisateur Langage graphique Représentation prédicative Vision Buts Tâches Etats [Nilsson, 1982]
Points de vue Point de vue utilisateur: Monde: graphe d états Arcs: actions Activité: choix opportuniste des actions ( états buts) Plans Point de vue système: Monde: graphe d états Arcs: séquencement temporel des états Reconnaître un scénario. Activité: choix opportuniste des actions
Points de vue Point de vue utilisateur: Monde: graphe d états Arcs: actions Activité: choix opportuniste des actions ( états buts) Plans Point de vue système: Monde: graphe d états Arcs: séquencement temporel des états Reconnaître un scénario. Activité: choix opportuniste des actions
Modèle de contexte : PRIMA Entité Un ensemble de propriétés Rôle Prédicat Unaire Filtre d entités Exemple : Orateur(O)
Modèle de contexte : PRIMA Entité Un ensemble de propriétés Rôle Prédicat Unaire Filtre d entités Exemple : Orateur(O)
Modèle de contexte : PRIMA Entité Un ensemble de propriétés Rôle Prédicat Unaire Filtre d entités Exemple : Orateur(O)
Modèle de contexte : Prima (suite) Relation Prédicat n-aire Contraintes inter-entités Exemple : Proche(E 1,E 2 ) Situation Conjonction de Rôles et de Relations Les rôles sélectionnent les entités Les relations ajoutent des contraintes à cette sélection Exemple: Orateur(O) Ecran(E) Proche(O, E)
Modèle de contexte : Prima (suite) Relation Prédicat n-aire Contraintes inter-entités Exemple : Proche(E 1,E 2 ) Situation Conjonction de Rôles et de Relations Les rôles sélectionnent les entités Les relations ajoutent des contraintes à cette sélection Exemple: Orateur(O) Ecran(E) Proche(O, E)
Modèle de contexte : Prima (suite) Contexte (Scénario) Graphe de situations Liens = contraintes temporelles de Allen Comment sélectionner les situations clés? Impossibilité de tout décrire Contrainte de perception Etre guidé par les actions Quelles actions souhaite t on que le système déclenche? Dans quelles situations doit il les déclencher?
Modèle de contexte : Prima (suite) Contexte (Scénario) Graphe de situations Liens = contraintes temporelles de Allen Comment sélectionner les situations clés? Impossibilité de tout décrire Contrainte de perception Etre guidé par les actions Quelles actions souhaite t on que le système déclenche? Dans quelles situations doit il les déclencher?
Exemple : le scénariste
Approche l intelligence Ambiante Pro-Active
Représentationnel vs Interactionniste Peux t on spécifier le contexte en amont? Remise en cause de la vision plan de la cognition [Greenberg, 2001]: Action située, Théorie de l activité Action = résultat de l interaction de l individu et de son environnement Plan = ressource Remise en cause de la spécification en amont (vision statique) [Dourish, 2004]. Deux catégories de modèles: Représentationnel : quel aspect du monde représenter? Interactionniste : relation entre objets et activités
Représentationnel vs Interactionniste
Représentationnel vs Interactionniste
Représentationnel vs Interactionniste
Apprentissage de rôles Reconnaissance de situations Modèle attentionnel
Apprentissage automatique de rôles Apprentissage de rôles Reconnaissance de situations Modèle attentionnel
Rôles l intelligence Ambiante Pro-Active Apprentissage de rôles Reconnaissance de situations Modèle attentionnel Filtre basé sur les propriétés des entités Problème de catégorisation: Apprentissage non supervisé: (+) Facile à mettre en oeuvre (-) Plus difficile à interpréter Apprentissage supervisé: (+) Retour plus facile vers l utilisateur (-) Annotation de données
Rôles l intelligence Ambiante Pro-Active Apprentissage de rôles Reconnaissance de situations Modèle attentionnel Filtre basé sur les propriétés des entités Problème de catégorisation: Apprentissage non supervisé: (+) Facile à mettre en oeuvre (-) Plus difficile à interpréter Apprentissage supervisé: (+) Retour plus facile vers l utilisateur (-) Annotation de données
Rôles l intelligence Ambiante Pro-Active Apprentissage de rôles Reconnaissance de situations Modèle attentionnel Filtre basé sur les propriétés des entités Problème de catégorisation: Apprentissage non supervisé: (+) Facile à mettre en oeuvre (-) Plus difficile à interpréter Apprentissage supervisé: (+) Retour plus facile vers l utilisateur (-) Annotation de données
Apprentissage supervisé de rôles Apprentissage de rôles Reconnaissance de situations Modèle attentionnel Approche générative Classification Bayesienne Mixture de gaussienne pour modéliser chaque classe (EM) Approche discriminative Support Vector Machine Noyau RBF
Expérimentation l intelligence Ambiante Pro-Active Apprentissage de rôles Reconnaissance de situations Modèle attentionnel
Bilan l intelligence Ambiante Pro-Active Apprentissage de rôles Reconnaissance de situations Modèle attentionnel Résultats légèrement supérieurs pour SVM Mais: Discriminatif: (+) Forte généralisation (-) Détection de nouvelles classes Génératif: (+) Détection de nouvelles classes Approche hybride:
Bilan l intelligence Ambiante Pro-Active Apprentissage de rôles Reconnaissance de situations Modèle attentionnel Résultats légèrement supérieurs pour SVM Mais: Discriminatif: (+) Forte généralisation (-) Détection de nouvelles classes Génératif: (+) Détection de nouvelles classes Approche hybride:
Reconnaissance de situations Apprentissage de rôles Reconnaissance de situations Modèle attentionnel
Reconnaissance de scénarios Apprentissage de rôles Reconnaissance de situations Modèle attentionnel Construire un détecteur: Vérifier que les événements perceptifs sont compatibles avec la spécification Pas de modèle de reconnaissance universel Passer facilement d un modèle à l autre (MDE): Tansformation Model 2 Model Transformation Model 2 Code
Apprentissage de rôles Reconnaissance de situations Modèle attentionnel Modèle de contexte réseau de Petri Transformation Model 2 Model
Apprentissage de rôles Reconnaissance de situations Modèle attentionnel Premier méta-modèle : réseau de Petri synchronisé Evénements pour contrôler les transitions Transition S1 S2: Règles de Petri Détection par la perception que: S1 n est plus valide S2 est valide Transformation Model 2 Code Génération de règles Jess
Apprentissage de rôles Reconnaissance de situations Modèle attentionnel Second méta-modèle: réseau de Petri flous
Réseau de Petri synchronisé Apprentissage de rôles Reconnaissance de situations Modèle attentionnel Bien adapté pour une application mono-scénario Application multi-scénarios? Bibliothèque partielle Lequel ressemble le plus aux observations? Réseaux de Petri flous
Reconnaissance floue de scénarios Apprentissage de rôles Reconnaissance de situations Modèle attentionnel Fuzzification des concepts du réseau de Petri Synchronisé Situation floue Transition floue Chaque situation détectée est une nouvelle preuve pour le scénario correspondant Fusion de preuves Mesure floue [Sugeno, 1977]: importance de la situation Intégrale floue [Grabish, 2006]: fusion des preuves partielles
Exemple l intelligence Ambiante Pro-Active Apprentissage de rôles Reconnaissance de situations Modèle attentionnel
Apprentissage de situations Apprentissage de rôles Reconnaissance de situations Modèle attentionnel
Apprentissage de situations Apprentissage de rôles Reconnaissance de situations Modèle attentionnel Données initiales : une séquence enregistrée de perception Processus en 3 étapes: 1 Découpage automatique de la séquence en segments 2 Nommage des segments par un expert 3 Apprentissage supervisé d un modèle de chaque situation identifiée
Apprentissage de rôles Reconnaissance de situations Modèle attentionnel Découpage automatique des séquences temporelles Histogramme = caractéristique de l activité sur un segment Objectif : trouver un découpage Séparant clairement les activités Maximisant la différence d histogrammes
Divergence de Jeffrey Apprentissage de rôles Reconnaissance de situations Modèle attentionnel
Fusion l intelligence Ambiante Pro-Active Apprentissage de rôles Reconnaissance de situations Modèle attentionnel
Nommage l intelligence Ambiante Pro-Active Apprentissage de rôles Reconnaissance de situations Modèle attentionnel
Apprentissage l intelligence Ambiante Pro-Active Apprentissage de rôles Reconnaissance de situations Modèle attentionnel
Exemple l intelligence Ambiante Pro-Active Apprentissage de rôles Reconnaissance de situations Modèle attentionnel
Modèle attentionnel Apprentissage de rôles Reconnaissance de situations Modèle attentionnel
Objectif l intelligence Ambiante Pro-Active Apprentissage de rôles Reconnaissance de situations Modèle attentionnel Agent pro-actif action implicite Quand? Comment? Avec quelle conscéquence sur l attention? Objectif Rendre l attention explicite
Objectif l intelligence Ambiante Pro-Active Apprentissage de rôles Reconnaissance de situations Modèle attentionnel Agent pro-actif action implicite Quand? Comment? Avec quelle conscéquence sur l attention? Objectif Rendre l attention explicite
Qu est ce que l attention? Apprentissage de rôles Reconnaissance de situations Modèle attentionnel Un filtre: Evite d être submergé d événements perceptifs Permet de se concentrer sur une tâche particulière Filtrage partiel Attention = résistance à la distraction
Qu est ce que l attention? Apprentissage de rôles Reconnaissance de situations Modèle attentionnel Un filtre: Evite d être submergé d événements perceptifs Permet de se concentrer sur une tâche particulière Filtrage partiel Attention = résistance à la distraction
Modèle attentionnel Apprentissage de rôles Reconnaissance de situations Modèle attentionnel Deux composantes: Endogène: volontaire, intention Exogène: réflexe, perception Attention: Pinceau (direction + ouverture) Ressources limitées Représentation vectorielle Direction Norme = quantité de ressources
Métaphore gravitationnelle Apprentissage de rôles Reconnaissance de situations Modèle attentionnel Intention = Vitesse initiale (endogène) Perturbation = forces gravitationnelles (exogène) Masse = saillance (niveau d une sonnerie de téléphone... )
Matrice attentionnelle Apprentissage de rôles Reconnaissance de situations Modèle attentionnel
Point de vue utilisateur Adaptation supervisée de situations Apprentissage renforcé de situations
Adaptation supervisée de situations Adaptation supervisée de situations Apprentissage renforcé de situations
Adptation supervisée de situations Adaptation supervisée de situations Apprentissage renforcé de situations Utilisation de l application Enregistrement des événements Debreifing en fin de la journée:
Apprentissage renforcé Adaptation supervisée de situations Apprentissage renforcé de situations Apprentissage supervisé: Lourd à mettre en oeuvre Non interactif (corrections hors contexte) Apprentissage renforcé: Correction en ligne
Apprentissage renforcé Adaptation supervisée de situations Apprentissage renforcé de situations Exploration de grands espaces d états. Convergence lente Sollicitation importante et inopportune de l utilisateur final Apprentissage renforcé indirect Expériences simulées
Apprentissage renforcé indirect Adaptation supervisée de situations Apprentissage renforcé de situations Life Long Learning Enregistrement de l ensemble des événements perceptifs Apprentissage d un modèle du monde Apprentissage d un modèle de renforcement Exploitation des modèles pour la mise à jour de la politique Ré-injection de la nouvelle politique au sein de l agent
Exemple l intelligence Ambiante Pro-Active Adaptation supervisée de situations Apprentissage renforcé de situations
Sommaire l intelligence Ambiante Pro-Active 1 2 Apprentissage de rôles Reconnaissance de situations Modèle attentionnel 3 Adaptation supervisée de situations Apprentissage renforcé de situations 4
Informatique ambiante? Yesterday s tomorrow [Bell & Dourish, 2007] Depuis 15 ans: toujours repoussé à demain Vision initiale: infrastructure continue et sans heurt Réalité: fouillis Ne souhaitent pas une informatique transparente Ne cherchent pas à re-programmer [Mackay, 2007] Veulent garder le contrôle (pro-active?) [Rogers, 2006] Doit engager la créativité et l imagination des utilisateurs From Pro-Active computers to Pro-Active people
Direction l intelligence Ambiante Pro-Active Quel type d assistant? Concierge : localisé, partagé Ange gardien : personnel, privatif Ange gardien End user programming: Co-construction Intimate computing [Lamming & Flynn, 1994]
Abowd, Gregory D., Atkeson, Christopher G., Feinstein, Ami, Hmelo, Cindy, Kooper, Rob, Long, Sue, Sawhney, Nitin, & Tani, Mikiya. 1996. Teaching and learning as multimedia authoring: the classroom 2000 project. Pages 187 198 of: Proceedings of the fourth ACM international conference on Multimedia. Boston, Massachusetts, United States: ACM. Bell, Genevieve, & Dourish, Paul. 2007. Yesterday s tomorrows: notes on ubiquitous computing s dominant vision. Personal Ubiquitous Comput., 11(2), 133 143. Bellotti, Victoria, & Edwards, Keith. 2001. Intelligibility and accountability: human considerations in context-aware systems. Hum.-Comput. Interact., 16(2), 193 212. Cheverst, Keith, Byun, Hee, Fitton, Dan, Sas, Corina, Kray, Chris, & Villar, Nicolas. 2005. Exploring Issues of User Model Transparency and Proactive Behaviour in an Office Environment Control System. User Modeling and User-Adapted Interaction, 15(3), 235 273. Crowley, James, Coutaz, Joelle, Rey, Gaeten, & Reignier, Patrick. 2002. Perceptual Components for Context Aware Computing. Pages 117 134 of: UbiComp 2002: Ubiquitous Computing. Dey, Anind K. 2001. Understanding and Using Context. Personal and Ubiquitous Computing, 5(1), 4 7. Dourish, Paul. 2004. What we talk about when we talk about context. Personal Ubiquitous Comput., 8(1), 19 30.
Grabish, Michel. 2006. L utilisation de l intégrale de Choquet en aide multicritère à la décision. Newsletter of the European Working Group Multicriteria Aid for Decisions, 3(14). Greenberg, Saul. 2001. Context as a Dynamic Construct. Human-Computer Interaction, 16, 257 268. Kay, J., Kummerfeld, B., & Lauder, P. 2003. Managing private user models and shared personas. Page 1 11 of: UM03 Workshop on User Modeling for Ubiquitous Computing. Lamming, M., & Flynn, M. 1994. Forget-me-not: intimate computing in support of human memory. In: Proceedings FRIEND21 Symposium on Next Generation Human Interfaces. Mackay, Wendy. 2007. Applications Domestiques. Pages 87 106 of: Informatique Diffuse, Observatoire Français des Techniques Avancées. Série Arago 31. Maes, Pattie. 1994. Agents that reduce work and information overload. Commun. ACM, 37(7), 30 40. Mozer, Michael C. 1998. The Neural Network House : An Environment that Adapts to its Inhabitants. Pages 110 114 of: Proceedings of the American Association for Artificial Intelligence Spring Symposium on Intelligent Environments. Menlo Park, CA: AAAI Press.
Muir, Bonnie M., & Moray, Neville. 1996. Trust in automation. Part II. Experimental studies of trust and human intervention in a process control simulation. Ergonomics, 39(3), 429. Nilsson, Nils J. 1982. Principles of Artificial Intelligence. Springer. Rogers, Yvonne. 2006. Moving on from Weiser s Vision of Calm Computing: Engaging UbiComp Experiences. Pages 404 421 of: UbiComp 2006: Ubiquitous Computing. Schilit, B.N., & Theimer, M.M. 1994. Disseminating active map information to mobile hosts. Network, IEEE, 8(5), 22 32. Schmidt, Albrecht. 2005. Interactive Context-Aware Systems Interacting with Ambient Intelligence. Chap. 9, page 159 178 of: Riva, G., Vatalaro, F., Davide, F., & Alcaniz, M. (eds), Ambient Intelligence. IOS Press. Schmidt, Albrecht, Beigl, Michael, & w Gellersen, Hans. 1998. There is more to Context than Location. COMPUTERS AND GRAPHICS, 23, 893 901. Sugeno, M. 1977. Fuzzy Automata and Descision Process. Chap. Fuzzy Measures and Fuzzy Integrals, pages 89 102.
Want, Roy, Hopper, Andy, Falcão, Veronica, & Gibbons, Jonathan. 1992. The active badge location system. ACM Trans. Inf. Syst., 10(1), 91 102. Weiser, Mark. 1991. The Computer for the 21st Century. Scientific American, février.