Sofia Zaidenberg Laboratoire d’Informatique de Grenoble Équipe Prima

Slides:



Advertisements
Présentations similaires
22 mai 2007 Clauvice Kenfack – Équipe MODEME
Advertisements

Définition de la compétence et du rôle de la formation
Fabrice Lauri, François Charpillet, Daniel Szer
La Rochelle, 2 et 3 février I - ACCEDER A EDUBASE HG 1 – Les accès sur Educnet pour les enseignants 2 – Laccès pour linterlocuteur et le webmestre.
Karima Boudaoud, Charles McCathieNevile
La formation intellectuelle par l’apprentissage par problèmes
Apprendre, cest poursuivre un but 3 façons de donner du sens (Davelay, 1992; Viau, 1994) 1.Compétence 2.Contrôle 3.Utilité
Présentation des programmes de terminale STG Juin 2006.
Réunion du bureau de la CLE
M-Traces et Système à Base de M-Traces
Mise en œuvre d’une démarche et d’un outil de gestion de « connaissances métier » basés sur la collaboration. Cyril BEYLIER
1 DISIC Option Systèmes Intelligents / Données, Documents et Connaissances DISIC Option Systèmes Intelligents / Données, Documents et Connaissances.
La partie analyse en entrant par la résolution de problèmes
Dématérialisation des échanges entre les commanditaires et les laboratoires Etude de faisabilité Table ronde EDI laboratoires 17 septembre 2002.
Etude expérimentale de linfluence des formats de présentation sur le traitement cognitif des animations multimédia Résultats & prolongements Mémoire de.
Sofia Zaidenberg Laboratoire d’Informatique de Grenoble Équipe Prima
Interface Homme Machine IHM Pro
wireless sensor networks
                                        République Algérienne Démocratique et Populaire Ministère de l’Enseignement Supérieur et de la Recherche Scientifique.
L ’enseignement de la construction en BEP industriel
Jalel Saâdi La Faculté des Sciences de Bizerte * * * * *
Disponibilité d’une architecture virtualisée avec VMware ESX/ESXi
Portefeuille de compétences et suivi de stage
Agents apprenants pour l'intelligence ambiante
Si vous n’êtes pas sûr de l’endroit où vous voulez aller, vous risquez de vous retrouver ailleurs… et de ne pas le savoir ! (R.F. Mager) Master ISIF.
L’avancement du mémoire 19 avril 2005
Frédéric Amblard, Guillaume Deffuant – Cemagref LISC 22 Octobre 2002 – Table ronde Simulation AFH Nantes SimExplorer: un outil logiciel daide à lexploration.
Aide à la décision et à la négociation dans un problème de gestion de production distribuée Jean-Pierre Camalot et Patrick Esquirol LAAS-CNRS 7, avenue.
Composition dapplications interactives …et lutilisateur dans tout ça? Benjamin Caramel Laboratoire i3S - équipe Rainbow
Exploitation du modèle holonique dans un cadre combinant IAD et IHM
Environnements Informatiques
Objectifs: to describe your school
Diagnostic des Systèmes à Evénements Discrets
« Pédagogie universitaire numérique »
SCIENCES DE L ’INGENIEUR
Définir des caractéristiques chercher de linformation? sur un support électronique? Élaborer un cadre théorique pour comprendre les enjeux et proposer.
Découverte des possibilités d’un moteur 3D
Apprendre à distance : tuteur, un rôle indispensable ?
Cours Ergonomie des Interactions Personne-Machine 17 et 23 novembre 2011 Les différentes méthodologies dévaluation en IPM Mireille Bétrancourt - TECFA.
Tutoriels dintroduction et systèmes daides pour débutants Lapprentissage dun jeu ou par extension dune interface quelconque ainsi que sa maîtrise ne va.
La méthodologie expérimentale Fondements et bases d’application
Universté de la Manouba
Vincent Thomas Christine Bourjot Vincent Chevrier
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Notions de Base Hiver 2002 Petko Valtchev.
Stéphanie Bernonville 1, 2 Christophe Kolski 2
ADAMOS Une plate-forme pour concevoir et évaluer des services proactifs Système proactif ? qui évolue en fonction des paramètres de lenvironnement physique.
Projet ACE Robotique Soutenance Groupe 69 Meyer Jonas Lehée Guillaume
Le portfolio d’apprentissage à l’École d’architecture
Typologie des outils L ’exerciseur Le tutoriel :
METEO et PLUIES GUINES 20 novembre GUINES NOVEMBRE Origine météorologique des pluies du 20 novembre 2009  La vue satellite à gauche est prise.
Compétences relatives à l’employabilité
Ministère de l’Enseignement Supérieur et de la Recherche Scientifique
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Fast and Furious Decision Tree Induction
Comparaison de deux dispositifs d'apprentissage, coopératif et individuel, au regard des performances obtenues par les étudiants Comparaison de deux dispositifs.
10 juin 2008 Journée Technologies et Enjeux de l'Apprentissage Mobile Equipe SIMBAD.
Spécialités Gestion et Finance Ressources humaines et communication
Thibault ROY Université de Caen / Basse-Normandie Laboratoire GREYC – Equipe ISLanD Apport d’outils d’informatique documentaire à l’analyse de forums de.
Architecture pour la conception de SIP incluant plusieurs contextes d’utilisation Tarak Chaari INSA de Lyon – 08/06/2004 INSA de Lyon – 08/06/2004.
Application à la viabilité des systèmes irrigués à Podor de la modélisation à la restitution aux paysans Olivier Barreteau.
Thibault ROY & Olivier SAGIT Exposé du mercredi 17 décembre 2003 Apprentissage Interactif Apprentissage avec SpamAssassin UFR de Sciences Département d’Informatique.
Citrix ® Presentation Server 4.0 : Administration Module 9 : Déploiement d'applications.
Environnements informatisés d’apprentissage : Définition du projet
GDRI Nancy GT 4.3 Mobilité et Ubiquité 1 Le Contexteur : une Abstraction Logicielle pour la Réalisation de Systèmes Interactifs Sensibles au Contexte.
Bac STG:épreuve de spécialité
Sofia Zaidenberg Laboratoire d’Informatique de Grenoble Équipe Prima
Apprentissage par renforcement de modèles de contexte pour l’informatique ambiante Sofia Z AIDENBERG Laboratoire d’Informatique de Grenoble Équipe P RIMA.
1 Session de formation Windows 8.1 Bienvenue !. Module de formation 2 2 Sujets : Gérez les applications et le multitâche Trouvez et épinglez des applications.
1 I.U.T. DE NICE CÔTE D'AZUR DÉPARTEMENT INFORMATIQUE SESSION 2007 ‑ 2008 Sous la direction de : M. Gaëtan Rey, tuteur entreprise. M.Michel Syska, tuteur.
PROJET DE SESSION DANS LE CADRE DU COURS: SCG Réalisation d’applications en SIG PRÉSENTÉ PAR: Marie-Andrée Levesque 18 AVRIL 2006.
Transcription de la présentation:

Apprentissage par renforcement de modèles de contexte pour l’informatique ambiante Sofia Zaidenberg Laboratoire d’Informatique de Grenoble Équipe Prima Jury composé de Mme Brigitte Plateau M. Olivier Sigaud M. Olivier Boissier M. James L. Crowley M. Patrick Reignier Mme Marie-Pierre Gleizes Présidente du jury Rapporteur Directeur de thèse Co-directeur de thèse Examinatrice 16 octobre 2009

Informatique ambiante [Weiser, 1991] [Weiser, 1994] [Weiser et Brown, 1996] Informatique ubiquitaire Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

et il y a toute la connectique sans fil : RFID (par ex pour badge à l’entrée), Bluetooth et Wifi Les dispositifs ont des moyens de se connecter les uns aux autres Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Dans cet environnement, on a tous ces dispositifs isolés (photo disparait), ils ont été rapportés par différentes personnes, à différents moments… Ce qu’on voudrait, c’est qu’ils se rapprochent les uns des autres (animations trajectoires) Et aussi des autres dispositifs dans le bâtiment (apparition des autres devices) Pour former un ensemble cohérent (apparition de la toile), pour les faire coopérer, les synchroniser, leur faire former un ordinateur virtuel, une intelligence commune dispersée (distribuée) dans tous ces dispositifs atomiques. Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

L’informatique ambiante Dispositifs « autistes » Indépendants Hétérogènes Inconscients Système ubiquitaire Accompagner sans s’imposer En périphérie de l’attention Invisible Informatique calme Non-intrusif Volonté de les faire coopérer Pour créer un ensemble cohérent Pour rendre un service unifié à l’utilisateur Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Intelligence ambiante Context-aware computing Perception Décision Percevoir l’environnement et la situation Sélectionner et exécuter une action adéquate qui Modifie l’environnement ou bien Modifie le système lui-même Afin de se trouver dans un état désirable Intelligence dans un système ubiquitaire : Percevoir la situation de l’utilisateur (le contexte) Lui rendre un service adéquat Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

État de l’art [Nonogaki et Ueda, 1991] [Roman et al., 2002] friend21 Gaia FRIEND21 : recherche sur les principes à respecter pour réaliser les interfaces du 21ème siècle. Communication et accès à l’information facilités et prise en compte du contexte. Gaia : un système d’exploitation gérant un « espace actif », en prenant en compte le contexte. Gère les incertitudes de la perception par apprentissage mais pas d’apprentissage des préférences. Interaction transparente étendue sur tous les dispositifs de l’environnement. Blossom : permet de garder le contact avec ses proches de manière non-intrusive, en se focalisant sur la présence en périphérie de l’attention plutôt que sur une communication directe. Blossom Sajid Sadi et Pattie Maes http://consciousanima.net/projects/blossom/ Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Problématique Personnalisation Situation + utilisateur  action Alice But : obtenir un système ubiquitaire aussi personnalisé qu’un ordinateur (couleurs, fontes, icônes, etc.) Exemple : Ne pas activer surface partagée pour Alice Toujours mettre le téléphone de Bob en vibreur lorsque d’autres personnes sont présentes, toujours en sonnerie lorsqu’il est seul Bob Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Personnalisation Personnalisation d’un agent informatique complexe qui assiste l’utilisateur. Deux solutions [Maes, 1994] L’utilisateur spécifie lui-même le comportement Système trop complexe  Tâche laborieuse Peu-évolutif Choix prédéfini par un expert Non-personnalisé Non-évolutif Utilisateur ne maîtrise pas tout le système Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Apprentissage Solution proposée Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Plan Présentation du problème Apprentissage dans les systèmes ubiquitaires Enquête grand public Réalisation d’un système ubiquitaire Apprentissage par renforcement du modèle de contexte Expérimentations et résultats Conclusion Revoir les titres Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Système proposé Un assistant virtuel qui personnifie le système ubiquitaire L’assistant Perçoit le contexte grâce aux capteurs Exécute des actions grâce aux actionneurs Reçoit les retours de l’utilisateur pour l’entraînement Adapte son comportement à ces retours (apprentissage) Apprendre les préférences individuelles au fur et à mesure Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Contraintes Entraînement simple Apprentissage rapide Cohérence au départ Life long learning Confiance de l’utilisateur Transparence [Bellotti et Edwards, 2001] Système intelligible Avoir un fonctionnement compris par l’utilisateur Système « responsable » Peut s’expliquer système s’adapte aux changements de l’environnement et des préférences Entrainement non-intrusif, peu contraignant Confiance : comment faire en sorte que l’utilisateur se sente à l’aise avec un système qui fait des choses pour lui ? Permet une personnalisation avec un moindre effort de la part de l’utilisateur Risque : rejet du système Transparence : Système qui agit en fct du contexte ne peut pas prétendre percevoir le contexte de manière parfaite, donc il doit prendre ses responsabilités par rapport à ça : être intelligible + responsable... Quelle est sa connaissance Comment l’a-t-il obtenue Quelles sont ses actions, et pourquoi les a-t-il choisies Système évolue pas à pas  l’utilisateur a le temps de s’habituer Le système ne doit pas être une boîte noire Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Exemple J109 J120 Rappel ! hyperion À voir : en fonction de l’exemple du tout début, soit ne pas faire d’exemple ici, soit reprendre l’exemple du début en parlant ici de l’assistant etc [Pareil que dans manuscrit, exemple à plusieurs niveaux Faire un schéma] Exemple plus simple hyperion J109 J120 Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Plan Présentation du problème Apprentissage dans les systèmes ubiquitaires Enquête grand public Réalisation d’un système ubiquitaire Apprentissage par renforcement du modèle de contexte Expérimentations et résultats Conclusion Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Enquête grand public Objectif : mesurer les attentes et besoins vis-à-vis de l’« informatique ambiante » et de ses usages Enquête dirigée par Nadine Mandran (LIG) Évaluation simultanée de deux systèmes Notre assistant Système COMPOSE de Yoann Gabillon (MAGMA et IIHM) Composition (semi-)automatique, dynamique et contextuelle de services pour répondre aux requêtes utilisateur Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Modalités de l’enquête 26 sujets interrogés Non-experts Répartis de manière suivante : Laisser Pas informaticiens (vrais gens) Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Résultats 44 % des sujets intéressés, 13 % conquis Profils des sujets intéressés : Personnes très occupées Surchargées cognitivement Apprentissage comme un plus Système plus fiable Entraînement progressif vs configuration lourde Entraînement simple et agréable (« juste un clic ») Personnes ayant un emploi du temps très chargé et dynamique, mêlant vie personnelle et professionnelle Personnes souhaitant une aide à l’organisation et à la gestion du temps Et erreurs acceptées si système apporte un plus Cette enquête permet de justifier notre recherche, donc on a cherché à savoir si nos contraintes étaient bonnes et s’il y a autre chose Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Résultats Phase d’apprentissage doit être courte Explications indispensables Interactions Variable selon les sujets Phase optionnelle de débriefing Erreurs acceptées si conséquences pas graves Contrôle à l’utilisateur Révèle habitudes inconscientes Crainte de devenir « assisté » La phase d’apprentissage (initiale) doit être courte (une à trois semaines) Utilisateur a tjs le dernier mot Lui permet de découvrir ses propres modes de fonctionnement automatique dont il n’a pas tjs conscience dépendant du système Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Plan Présentation du problème Apprentissage dans les systèmes ubiquitaires Enquête grand public Réalisation d’un système ubiquitaire Contraintes Technologies adoptées Apprentissage par renforcement du modèle de contexte Expérimentations et résultats Conclusion Faire un peu de biblio sur assistants + AR (1 slide) Bas  haut (interconnexion puis AR) Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Système ubiquitaire Utilise les dispositifs existants J109 J120 Besoins du système Système multiplateforme Système distribué OMiSCID [Emonet et al., 2006] Protocole de communication Découverte dynamique de services Déploiement facile OSGi Hétérogènes Système qui marche ne permanence, on veut jamais l'arrêter Le déploiement à chaud L’administration à distance La gestion des modules à partir d’un dépôt central  pratique pour mettre à jour et pour ajouter dynamiquement des nouvelles fonctionnalités sans intervention manuelle Ajouter des fonctionnalités (nouvelle voix synthèse), dans le dépôt et les autres utilisent automatiquement Rappel ! hyperion J109 Éparpillés J120 Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Interconnexion des modules Capteurs Actionneurs applications applications Activité clavier Emails Emails Actionneur applications : piloter des programmes en utilisant des systèmes std d'exportation de fonctionnalités offerts par les systèmes (ex kde) Un module du système ambiant : Un bundle OSGi Un service OMiSCID Chaque dispositif appartenant au système a une plateforme OSGi (Oscar) dans laquelle au moins 2 modules sont installés et démarrés : remoteShell et OMiSCID, et (stratégie opportuniste), on peut dynamiquement et automatiquement installer d’autres selon les besoins  environnement souple, fluide Modules instanciés sur dispositifs pertinents Module remoteShell sur chaque plateforme Permet de contrôler le cycle de vie des autres bundles de la plateforme Installation Démarrage Mise-à-jour localisation Synthèse vocale présence Contrôle distant Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Exemple d’échanges de messages Text2Speech sur protee ? OMiSCID Oui ! Non… Dépôt de bundles Installe et démarre Text2Speech Déploiement à chaud Système vivant en permanence Stratégie opportuniste Mise-à-jour à chaud hyperion protee J109 J120 Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Base de données Regroupe Centralisée Connaissances statiques Historique des événements et actions Permet de fournir des explications Centralisée Interrogée Alimentée Simplifie les requêtes par tous les modules sur tous les dispositifs sur l’infrastructure et les utilisateurs (bureaux, adresses mail, dispositifs Bluetooth, etc.) du système et du cycle de vie des modules Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Plan Présentation du problème Apprentissage dans les systèmes ubiquitaires Enquête grand public Réalisation d’un système ubiquitaire Apprentissage par renforcement du modèle de contexte Apprentissage par renforcement Application de l’apprentissage par renforcement Expérimentations et résultats Conclusion Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Rappel : nos contraintes Entraînement simple Apprentissage rapide Cohérence au départ Apprentissage à vie Explications Supervisé [Brdiczka et al., 2007] on fait de l’apprentissage, on veut un entrainement simple  supervisé ne répond pas vraiment à cette contrainte, par contre AR oui Supervisé oblige l’utilisateur à étiqueter les séquences passées après coup. On préfère apprendre au fur et à mesure. Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Apprentissage par renforcement (AR) Propriété de Markov L’état à l’instant t ne dépend que de l’état à l’instant t-1 L’environnement est le labyrinthe, le robot connait son état dans l’environnement : (x, y), et peut faire des actions (se déplacer d’une case), reçoit des renforcements (but = très bien, dans le mur = très mauvais), doit maximiser la somme des renforcements reçus dans le temps. On veut être modélisable sous la forme d’un MDP Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Apprentissage par renforcement Algorithme Algorithme standard : le q-Learning [Watkins, 1989] Mise-à-jour des q-valeurs lors d’une nouvelle expérience {état, action, état suivant, récompense} Lent car ne progresse que lorsque quelque chose se passe A besoin de beaucoup d’exemples pour apprendre un comportement Long car beaucoup d'états, il faut expérimenter dans chaque état Utilisateur dans la boucle Exploration pas acceptable Rapidité et acceptabilité Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Exemple Rapide Ouvrir la porte Loin de la porte + Rapide = On voudrait revivre les expériences virtuellement, au lieu de les vivre dans le monde réel Pour ça, on a besoin d’un modèle du monde réel intrinsèquement exploratoire Système connait pas le monde et il va tâtonner. On raisonne pas. Modèle permet de faire phase de raisonnement hors ligne Explorer dans modèle. Faire la mm chose pr comprendre que c pas bien et puis aller plus loin (explorer) Couloir : bouton pr ouvrir porte 1ère fois qu'il rejoue il comprend que 15 cm avant il fo pas aller vite, 2ème --> 30 cm Puis déduit aller lentement puis déduit bouton Ouvrir la porte Loin de la porte + Rapide = Modèle du monde Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Architecture dyna Modèle du monde Monde Agent dyna Switch État [Sutton, 1991] dyna Switch Modèle du monde Monde État Récompense Action Agent Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Architecture dyna Modèle du monde Interactions réelles Mise-à-jour Environnement Modèle du monde Interactions réelles Mise-à-jour Mise-à-jour Utilisation Mise-à-jour L’utilisateur qui interagit avec un système informatique construit un modèle mental de ce système. Si le comportement du système change tout le temps, l’utilisateur n’arrivera pas à construire son modèle. Un système dont on n’arrive pas à prédire les actions, qui surprend l’utilisateur, nuit à la confiance. Donc on peut en faire une 2ème, interne, qui sera substituée à celle utilisée à certains moments Politique Politique Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Fonctionnement global Modèle du monde Interactions réelles Mise-à-jour Politique Utilisation Fonctionnement global Politique État Perception Action Action Récompense ? Exemple Exemple Récompense Environnement Base de données Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Modélisation du problème Composants : États Actions Composants : Modèle de transition Modèle de récompense Modèle du monde Interactions réelles Utilisation Mise-à-jour Politique Modélisation sous la forme d’un pdm Modèles attachés sur modèle monde Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Prédicats environnement Modèle du monde Interactions réelles Utilisation Mise-à-jour Politique L’espace d’états Un état est défini par des prédicats Humainement compréhensibles (explications) Exemples : arrivéeEmail ( de = Marc, à = Bob ) dansSonBureau ( John ) État-action : entrée( ) Musique en pause Prédicats Prédicats système Karl <+> Prédicats du 1er ordre On doit expliquer les actions du système à l’utilisateur pour qu’il l’accepte. L’utilisateur ne fera confiance à un système qu’il n’a pas paramétré lui-même que s’il comprend son comportement. C’est pas important de savoir qui est entré Factoriser plus tôt permet d'avoir rapidement un comportement Prédicats environnement Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

L’espace d’états Division d’états arrivéeEmail( de= directeur, à= <+> ) Notifier arrivéeEmail(de = newsletter, à= <+> ) Ne pas notifier Notifier l’utilisateur Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Modélisation du problème Utilisateur état ? Oui  état non-observable Problème non-markovien & Environnement stationnaire Non  état observable Problème markovien & Environnement non-stationnaire Apprentissage à vie Évolutions peu fréquentes de l’environnement Dyna adapté aux modèles imparfaits Pdmpo ou dec-pdmpo Résolution exacte très complexe Méthodes approximatives Passage à l’échelle de problèmes réels difficile [Buffet, 2003] Normalement état modifié seulement par actions du système Nous c aussi événements extérieurs ou utilisateur Non stationnarité provient des changements des préférences utilisateur Non stationnarité = conséquences des actions changent  conséquence : je peux plus me comporter de la même façon, donc une bonne action avant ne l'est plus, donc renforcements changement Ex : l’utilisateur aime bien lire son mail le matin, donc ouvrir son client mail était une bonne action, puis il a changé ses habitudes et lit son mail l’après-midi Évolution monde provoquée par changement habitudes utilisateur Environnement non-stationnaire : Les distributions de probabilités changent (changements préférences, pas matériels) La façon dont l'environnement se comporte évolue au cours de tps Si c l'utilisateur qui provoque changements (préférences), utilisateur provoque bruit non modélisé, modifications de l’environnement non contrôlées. On suppose que utilisateur évolue lentement etc, par conséquent on peut se ramener à un PDM Identifier les entités pertinentes pour définir l’état Alarmes de l’agenda, nouveaux emails, etc. Entités modifiées extérieurement à l’assistant Modifications imprévisibles Provoquées « par l’utilisateur » Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

L’espace d’actions Les actions possibles combinent Transmettre un rappel à l’utilisateur Informer d’un nouvel email Verrouiller l’écran d’un ordinateur Déverrouiller l’écran d’un ordinateur Pauser la musique jouant sur un ordinateur Relancer la musique jouant sur un ordinateur Ne rien faire Modèle du monde Interactions réelles Utilisation Mise-à-jour Politique Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Récompenses Récompenses explicites Récompenses implicites Par une interface non intrusive Récompenses implicites Collectées à partir d’indices (valeur numérique moindre) Données par l’utilisateur Éligibilités pour aller plus vite (accélérer la propagation) On donne récompense si on a un gain en le faisant ex lastfm Modèle du monde Interactions réelles Utilisation Mise-à-jour Politique Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Modèle de l’environnement Construits par apprentissage supervisé À partir d’exemples réels Initialisés par le sens commun Système fonctionnel immédiatement Modèle initial vs. Q-valeurs initiales [Kaelbling, 2004] Extensibilité Modèle de transition Modèle de récompense Modèle de récompense On continue toujours à collecter les données réelles pour améliorer et affiner le modèle Au premier lancement : on exécute AR en tâche de fond pour initialiser un comportement par défaut à partir des modèles par défaut plus facile de spécifier un renforcement qu'un comportement Modèle initial pourrait être utilisé pour initialiser un autre système d’apprentissage au l’AR, alors que la Q-table est propre à l’AR Modèle du monde Interactions réelles Utilisation Mise-à-jour Politique Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Modèle de transition s1 s2 Modèle de transition Modèle de récompense Action ou événement On veut apprendre ça mais pas trop précisément, en généralisant On veut comprendre comment ça se fait, le modéliser, on va calculer transformation Observation du monde n'est pas parfaite dc mm action peut donner s2 différents --> probas Ensemble de transformations d’un état vers le suivant étant donnée une action Une transformation est composée de Un état précédent Des modifications L’action Une probabilité s1 s2 États de départ Modifications + Probabilité Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Apprentissage supervisé du modèle de transition Modèle du monde Interactions réelles Utilisation Mise-à-jour Politique Apprentissage supervisé du modèle de transition La base de données contient des exemples {état précédent, action, état suivant} s a s’ t1 a s a a t2 s t3 Apprentissage « stable » : pour qu’un changement ait lieu dans le modèle, il faut voir l’exemple plusieurs fois (évider d’apprendre les erreurs de capteurs). Si c’est un vrai changement, on aura forcément plusieurs exemples Nouvel exemple  nouvelle transformation générique GENERALISATION Q-table convient des états génériques, le modèle aussi On généralise pour pouvoir explorer On cherche pas à stabiliser probas en diminuant poids des nouveaux exemples … s s a s’ tn+1 Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Fonctionnement global Modèle du monde Interactions réelles Mise-à-jour Politique Utilisation Fonctionnement global Politique État Perception Action Action Récompense ? Exemple Exemple Récompense Environnement Base de données Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Épisode Q-Learning : Expérience mise à jour de Politique Modèle du monde Interactions réelles Mise-à-jour Politique Utilisation Épisode Q-Learning : mise à jour de Expérience Politique Environnement Modèle du monde Agent d’AR Politique ou Appris à partir d’interactions réelles Base de données Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Plan Présentation du problème Apprentissage dans les systèmes ubiquitaires Enquête grand public Réalisation d’un système ubiquitaire Apprentissage par renforcement du modèle de contexte Expérimentations et résultats Conclusion Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Expérimentations Enquête grand public  évaluation qualitative Évaluations quantitatives en 2 étapes : Évaluation de la phase initiale Évaluation du système en fonctionnement normal Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Évaluation n°1 « autour de l’apprentissage initial » Supervisé : généralisation pas mémorisation d'exemples  permet exploration Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Évaluation n°1 « autour de l’apprentissage initial » Nombre d’itérations par épisode : TEMPS D’EXECUTION But : choisir la manière optimale d’exécuter la phase d’apprentissage initial Part des modèles par défaut Exécute des épisodes de Q-Learning pour les « convertir » en comportement Paramètres à fixer Combien d’épisodes ? Combien d’itérations dans chaque épisode ? Quel est l’état initial de chaque épisode ? Par défaut, Toutes valeurs tirées au hasard, Un état tiré au hasard parmi les états déjà rencontrés ? Quel événement à chaque pas d’un épisode ? Généré aléatoirement, Tiré au hasard parmi tous les événements déjà observés ? Apprentissage réussi si Comportement correspond aux souhaits de l’utilisateur Et c’est mieux si on a beaucoup exploré et si on a une estimation du comportement dans beaucoup d’états Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Évaluation n°2 « interactions et apprentissages » Point de départ = comportement initial appris lors de l’expérience précédente L’expérimentateur utilise le tableau de bord pour reproduire l’utilisateur L’apprentissage supervisé s’effectue tous les 6 pas 1 minute sépare deux épisodes Au début : bcp de nouveautés, puis on a rien fait (la nuit par exemple), puis on a recommencé à envoyer nouveaux événements Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Évaluation n°2 « interactions et apprentissages » Là on a changé d’avis (vers x=100)  la note a baissé avant de remonter EXEMPLE Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Plan Présentation du problème Apprentissage dans les systèmes ubiquitaires Enquête grand public Réalisation d’un système ubiquitaire Apprentissage par renforcement du modèle de contexte Expérimentations et résultats Conclusion Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Contributions Adaptation de l’apprentissage par renforcement indirect à un problème réel Construction d’un modèle du monde Injection de connaissances initiales Acquisition automatique des associations optimales état – action pour un utilisateur Sans spécification explicite Mise en place d’un prototype Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Conclusion L’assistant est un moyen de faire une application d’intelligence ambiante C’est l’utilisateur qui le rend intelligent co-construction + fiable car appr On a répondu aux attentes de l'enquete etc Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Merci de votre attention Questions ? Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Bibliographie [Bellotti et Edwards, 2001] Victoria Bellotti et Keith Edwards. « Intelligibility and accountability: human considerations in context-aware systems ». Dans Human-Computer Interaction, 2001. [Brdiczka et al., 2007] Oliver Brdiczka, James L. Crowley et Patrick Reignier. « Learning Situation Models for Providing Context-Aware Services ». Dans Proceedings of HCI International, 2007. [Buffet, 2003] Olivier Buffet. « Une double approche modulaire de l'apprentissage par renforcement pour des agents intelligents adaptatifs ». Thèse de doctorat, Université Henri Poincaré, 2003. [Emonet et al., 2006] Rémi Emonet, Dominique Vaufreydaz, Patrick Reignier et Julien Letessier. « O3MiSCID: an Object Oriented Opensource Middleware for Service Connection, Introspection and Discovery ». Dans1st IEEE International Workshop on Services Integration in Pervasive Environments, 2006. [Kaelbling, 2004] Leslie Pack Kaelbling. « Life-Sized Learning ». Lecture at CSE Colloquia, 2004. [Maes, 1994] Pattie Maes. « Agents that reduce work and information overload ». Dans Commun. ACM, 1994. [Maisonnasse 2007] Jerome Maisonnasse, Nicolas Gourier, Patrick Reignier et James L. Crowley. « Machine awareness of attention for non-disruptive services ». Dans HCI International, 2007. [Moore, 1975] Gordon E. Moore. « Progress in digital integrated electronics ». Dans Proc. IEEE International Electron Devices Meeting,1975. Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Bibliographie [Nonogaki et Ueda, 1991] Hajime Nonogaki et Hirotada Ueda. « FRIEND21 project: a construction of 21st century human interface ». Dans CHI '91: Proceedings of the SIGCHI conference on Human factors in computing systems, 1991. [Roman et al., 2002] Manuel Roman, Christopher K. Hess, Renato Cerqueira, Anand Ranganathan, Roy H. Campbell et Klara Nahrstedt. « Gaia: A Middleware Infrastructure to Enable Active Spaces ». Dans IEEE Pervasive Computing, 2002. [Sutton, 1991] Richard S. Sutton. « Dyna, an integrated architecture for learning, planning, and reacting ». Dans SIGART Bull, 1991. [Weiser, 1991] Mark Weiser. « The computer for the 21st century ». Dans Scientic American, 1991. [Weiser, 1994] Mark Weiser. « Some computer science issues in ubiquitous computing ». Dans Commun. ACM, 1993. [Weiser et Brown, 1996] Mark Weiser et John Seely Brown. « The coming age of calm technology ». http://www.ubiq.com/hypertext/weiser/acmfuture2endnote.htm, 1996. [Watkins, 1989] CJCH Watkins. « Learning from Delayed Rewards ». Thèse de doctorat, University of Cambridge, 1989. Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Informatique ambiante Évolution électronique Tous les 18 mois : nombre de transistors sur les circuits intégrés × 2 Dispositifs « autistes » Indépendants Inconscients Hétérogènes Tous les 3 ans : nombre de dispositifs autour d’une personne × 2 [Moore, 1975] [Crowley] L’informatique ambiante s’intéresse à créer des applications qui s’intègrent dans l’environnement on va détailler 2 étapes : informatique ambiante puis intelligence ambiante Systèmes autistes Détailler axes Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Exemples Dire qu'on va détailler 2 étapes info amb puis intell amb Pouvoir automatiquement accéder à l’ordinateur fixe avec les ordinateurs portables Fournir une surface d’affichage partagée sur la table basse Lire un email reçu à voix haute Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Contexte Context-aware computing Exemples : Calcul de l’attention de l’utilisateur [Maisonnasse 2007] Faire vibrer et pas sonner le téléphone si l’autre personne parle Activer automatiquement la surface d’affichage partagée lorsque plusieurs personnes autour de la table basse Machine awareness of attention for non-disruptive services Jerome Maisonnasse, Nicolas Gourier, Patrick Reignier, James L. Crowley HCI International - 2007 Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Entretien Entretien d’une heure, comportant Des questions ouvertes sur l’informatique ambiante La présentation d’une maquette de chaque système Des questions sur les maquettes (avis, avantages, inconvénients) Des questions sur l’acceptabilité de l’assistant Incitation du sujet à s’exprimer librement Trop long But de l’enquête + conclusions Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Système ubiquitaire réalisé Utilise les dispositifs existants Dispositifs hétérogènes  système multiplateforme Dispositifs éparpillés  système distribué Système composé de modules répartis sur les dispositifs Besoins du système Protocole de communication entre modules Découverte de services dynamique Déploiement facile OMiSCID Il faut les équiper pour les intégrer au système Multiplateforme car les dispositifs sont existants donc forcément hétérogènes Distribué car une partie du système sur chaque dispositif Disséminés ou Éparpillés Dynamique car les dispositifs peuvent être mobiles et peuvent disparaître et apparaître librement OSGi Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Choix techniques Communication entre modules  Intergiciel OMiSCID Spécialement adapté aux applications ubiquitaires Multiplateforme Multi-langage Minimise le surcoût réseau Approche décentralisée Plus de robustesse Couplage faible grâce à la découverte dynamique de services (dns-sd) S’intègre dans des logiciels écrits dans différents langages Système ubiquitaire est un ensemble de modules Chaque module est un logiciel indépendant Les modules s’exécutent sur les différents dispositifs (ordinateurs, PDAs, téléphones portables, Aibo, etc.) Omiscid + osgi, justification (coût réseau, déploiement, contrôle cycle de vie, etc) Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Service omiscid Les modules du système sont implémentés en tant que « services omiscid » Ils exposent des connecteurs et des variables Entrée / sortie / entrée-sortie pour les connecteurs Lecture / lecture-écriture pour les variables Deux services communiquent en « branchant » deux de leurs connecteurs Que schéma et expliquer oral (celui là + précédent) Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Déploiement de modules : osgi Système distribué, réseau complexe et dynamique de modules  besoin de faciliter et automatiser le déploiement OSGi permet : Le déploiement à chaud L’administration à distance La gestion des modules à partir d’un dépôt central Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Modules Capteurs Actionneurs L’assistant personnel Détecteur de présence Bluetooth Localisation des personnes dans l’environnement Détecteur de nouveaux messages électroniques Détecteur de rappels de l’agenda Détecteur de l’état de l’ordinateur Musique, économiseur d’écran Activité clavier/souris Actionneurs Synthèse vocale Affichage de messages écrits Envoi de mails Contrôle des applications (musique, économiseur d’écran) L’assistant personnel Prononciation de texte Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Dispositifs équipés OMiSCID BD Chaque dispositif du système est équipé d’une plateforme OSGi dans laquelle sont installés les modules. Schéma Machines, osgi dans chaque, bundle remoreShell + oral + rajouter caméras etc À modifier ou enlever… Montrer que l’ordi peut communiquer avec l’imprimante branchée sur le portable, mais il faut montrer que ça passe par le portable quand-même (et non pas communication directe avec l’imprimante) Peut-être aussi séparer le schéma en bureaux et dire que le PC de J104 veut imprimer dans bureau J101 etc. OMiSCID Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Exemple d’échanges de messages OMiSCID Plateforme Oscar sur protee Text2Speech sur protee ? Oui ! Non… Text2Speech text PersonalAgent Dépôt de bundles sendMessage Éventuellement, modifier exemple en cohérence avec les exemples précédents 2 machines remoteShell command Fait shellCommand Installe et démarre Text2Speech

Interconnexion des modules Capteurs Actionneurs applications Activité clavier applications Emails Emails localisation Actionneur applications utilisé pour piloter des programmes en utilisant des systèmes std d'exportation de fonctionalités offertes par les systèmes (ex kde) Un module du système ambiant : Un bundle OSGi Un service OMiSCID Chaque dispositif appartenant au système a une plateforme OSGi (Oscar) dans laquelle au moins 2 modules sont installés et démarrés : remoteShell et OMiSCID, et (stratégie opportuniste), on peut dynamiquement et automatiquement installer d’autres selon les besoins  environnement souple, fluide Modules instanciés sur dispositifs pertinents Module remoteShell sur chaque plateforme Permet de contrôler le cycle de vie des autres bundles de la plateforme Installation Démarrage Mise-à-jour Synthèse vocale présence Contrôle distant Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Notion de contexte Identifier les entités et leurs rôles pertinents pour l’application Chacune de leurs configurations est une situation Dans chaque situation il faut sélectionner une action Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Apprentissage par renforcement (AR) Entrainement = récompenses Apprend un comportement (une politique d’action) Basé sur des valeurs de qualité Q(état, action) Basé sur un Processus décisionnel de Markov (PDM) Ensemble d’états Ensemble d’actions Fonction de transition Fonction de récompense Propriété de Markov L’état à l’instant t ne dépend que de l’état à l’instant t-1 Chaque action a un coût lorsqu’elle est exécutée dans un état particulier  AR apprend et optimise ce coût en apprenant les Q-valeurs, regroupées dans une Q-table, et qui déterminent le comportement. Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Apprentissage par renforcement indirect Rejouer mentalement expériences vécues pour les exploiter davantage Permet d’explorer espace états actions pour avoir estimation comportement Se fait en construisant un modèle du monde À partir d’observations réelles Architecture dyna (voir parties non visitées en réalité) Modèle construit à partir d’observations réelles Citer Sutton Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Définition d’un état Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Réduction de l’espace d’états Accélération de l’apprentissage Factorisation d’états Division d’états Jokers <*> et <+> État Action q-valeur …entrance(isAlone=true, friendlyName=<+>, btAddress=<+>)… pauseMusic 125.3 Notifier l’utilisateur État Action q-valeur …hasUnreadMail(from=boss, to=<+>, subject=<+>, body=<+>)… inform 144.02 …hasUnreadMail(from=newsletter, to=<+>, subject=<+>, body=<+>)… notInform 105 Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Récompenses Récompenses explicites Récompenses implicites Par une interface non intrusive Récompenses implicites Collectées à partir d’indices (valeur numérique moindre) Problèmes récompenses utilisateur Pas toujours données Rétro propagation dans le Q-Learning Traces d’éligibilité Pas toujours fiables Utilisation du modèle de récompense Données par l’utilisateur Éligibilités pour aller plus vite (accélérer la propagation) On donne récompense si on a un gain en le faisant ex lastfm Modèle du monde Interactions réelles Utilisation Mise-à-jour Politique Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Modèle de l’environnement Action Événement ou Modèle État E[état suivant] Normalement il n’y a que les actions qui modifient l’état. L’utilisateur ne fait pas partie du monde, donc n’est pas modélisé dans le modèle du monde, donc les événements qui sont provoqués par ses actions sont des entrées du modèle. E[renforcement] Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Modèle de transition Ensemble de transformations d’un état vers le suivant étant donnée une action Une transformation est composée de Un état précédent Des modifications L’action Une probabilité Un état précédent (des contraintes sur certains arguments) Des modifications permettant d’obtenir l’état suivant à partir de l’état précédent Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Modèle de transition exemple alarm title=<null>, hour=<null>, minute=<null> … absent user=zaidenbe user login=zaidenbe userMachine login=zaidenbe, machine=hyperion computerState machine=<null>, isScreenL=<null>,isMusicP=<null> <*> alarm title=<null>, hour=<null>, minute=<null> … absent user=zaidenbe user login=zaidenbe userMachine login=zaidenbe, machine=hyperion computerState machine= isScreenL= isMusicP=<null> <*> <*> lockScreen <*> <+> <+> Montrer monde, s1, utili fait qqch  s2 On veut apprendre ça mais pas trop précisément, en généralisant On veut comprendre comme ça se fait, le modéliser, on va calculer transformation <+> hyperion <*> <null>, <*> true, <null>, <*> Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Modèle de transition s1 s2 Modèle de transition Modèle de récompense Action ou événement On veut apprendre ça mais pas trop précisément, en généralisant On veut comprendre comment ça se fait, le modéliser, on va calculer transformation Observation du monde n'est pas parfaite dc mm action peut donner s2 différents --> probas Ensemble de transformations d’un état vers le suivant étant donnée une action Une transformation est composée de Un état précédent Des modifications L’action Une probabilité s1 s2 États de départ Modifications + Probabilité Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Apprentissage supervisé du modèle de transition Modèle du monde Interactions réelles Utilisation Mise-à-jour Politique Apprentissage supervisé du modèle de transition La base de données contient des exemples {état précédent, action, état suivant} s a s’ t1 a t1 a s s’ s s’ … t2 a tn s s’ s a s’ … Modifier esthétiquement Apprentissage « stable » : pour qu’un changement ait lieu dans le modèle, il faut voir l’exemple plusieurs fois (évider d’apprendre les erreurs de capteurs). Si c’est un vrai changement, on aura forcément plusieurs exemples tn+1 a tn s a s s’ s’ Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Apprentissage supervisé du modèle de transition Modèle du monde Interactions réelles Utilisation Mise-à-jour Politique Apprentissage supervisé du modèle de transition La base de données contient des exemples {état précédent, action, état suivant} s a s’ t1 s’ a s a a t2 s’ s t3 Apprentissage « stable » : pour qu’un changement ait lieu dans le modèle, il faut voir l’exemple plusieurs fois (évider d’apprendre les erreurs de capteurs). Si c’est un vrai changement, on aura forcément plusieurs exemples Nouvel exemple  nouvelle transformation générique GENERALISATION Q-table convient des états génériques, le modèle aussi On généralise pour pouvoir explorer On cherche pas à stabiliser probas en diminuant poids des nouveaux exemples … s tn+1 s a s’ Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Apprentissage supervisé du modèle de transition Capacité de généralisation du modèle Nouvel exemple  nouvelle transformation générique Expliquer plus : L’état suivant dépend de l’état précédent qu’on connait dynamiquement à l’exécution. La transformation permet de construire s’ à partir de s, ce qui est statique (générique) Lors d’un exemple non pris en compte, on ajoute une nouvelle transformation déjà généralisée Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Modèle de récompense Ensemble d’entrées spécifiant Des contraintes sur certains arguments de l’état Une action La récompense Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Modèle de récompense exemple alarm title=<null>, hour=<null>, minute=<null> … xActivity machine=hyperion isActive=true <*> lockScreen <*> <*> <+> -50 <+> Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Modèle de récompense s1 Modèle de transition Modèle de récompense Action -50 Récompense On veut apprendre ça mais pas trop précisément, en généralisant Ensemble d’entrées spécifiant Des contraintes sur certains arguments de l’état Une action La récompense s1 États de départ Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Apprentissage supervisé du modèle de récompense Modèle du monde Interactions réelles Utilisation Mise-à-jour Politique Apprentissage supervisé du modèle de récompense La base de données contient des exemples {état, action, récompense} s a r r e1 e1 s a r s a r … e2 r s a en s r … a Modifier esthétiquement Aussi modèle stable : si l’utilisateur a donné un renforcement inhabituel, ça peut être à cause d’une humeur particulière ou d’une erreur. Donc il ne fait pas modifier le modèle trop radicalement. Si c’est une modification de ses préférences, il redonnera de renforcement et le modèle sera modifié progressivement en en+1 s r s a r a Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Apprentissage supervisé du modèle de récompense Modèle du monde Interactions réelles Utilisation Mise-à-jour Politique Apprentissage supervisé du modèle de récompense La base de données contient des exemples {état précédent, action, récompense} s a r s a e1 r s Modifier esthétiquement Apprentissage « stable » : pour qu’un changement ait lieu dans le modèle, il faut voir l’exemple plusieurs fois (évider d’apprendre les erreurs de capteurs). Si c’est un vrai changement, on aura forcément plusieurs exemples Nouvel exemple  nouvelle transformation générique … s s a en+1 r Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Fonctionnement global Modèle du monde Interactions réelles Mise-à-jour Politique Utilisation Fonctionnement global Politique État Perception q-table État Action q-valeur S1 a1 1.752 a2 25.2 a3 -53 S2 0.222 a4 -9.4 … Sn aj -75 Action Action Récompense ? Exemple Exemple Récompense Environnement Base de données Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Épisode Politique Q-learning : mise à jour de q-table Modèle du monde Interactions réelles Mise-à-jour Politique Utilisation Épisode Politique Q-learning : mise à jour de q-table État Action q-valeur S1 a1 1.752 a2 25.2 a3 -53 S2 0.222 a4 -9.4 … Sn aj -75 Environnement Modèle du monde Agent d’AR ou Appris à partir d’interactions réelles Utilise la nouvelle politique Base de données Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Le simulateur de l’environnement Le monde est simulé. Le simulateur contient une simulation de tous les capteurs et effecteurs en définissant les mêmes connecteurs qu’eux tous. Les messages échangés sont de même format que sur les vrais connecteurs. Les échanges de messages suivent le même format (ex: requête – réponse ou juste requête etc.) Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Le simulateur de l’environnement Scénarios du simulateur Permet de simuler l’utilisateur Envoie des événements capteurs correspondant à des actions de l’utilisateur Exemple : « Sofia est dans le bureau » ; « Nouvel email de diffusion » ; « Rappel : barbecue de l’équipe a 13h » ; « Sofia quitte le bureau » ; « Bob entre dans le bureau » ; « Sofia entre dans le bureau » ; On n’utilise pas forcément le simulateur avec les scénarios, c’est une possibilité Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Le simulateur de l’environnement À chaque étape, le scénario prédéfinit L’état souhaité après l’événement La récompense donnée si cet état est atteint Le simulateur envoie une récompense Dépend de la distance entre l’état souhaité et l’état atteint Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Distance entre états Le nombre de transformations nécessaires pour obtenir s2 à partir de s1. Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Évaluation n°1 modèle du monde parfait Utilisation d’un modèle du monde défini à la main pour isoler l’efficacité de l’AR L’AR s’effectue en arrière-plan (n’a pas besoin du scénario) à partir des modèles et des événements survenus et enregistrés dans la BD (donc a besoin du scénario 1 fois) Le scénario sert à visualiser l’avancement de l’apprentissage Lorsque la récompense donnée est toujours maximale, alors l’AR a convergé vers le comportement souhaité Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Évaluation n°1 « modèle du monde parfait » But : isoler efficacité de l’AR, donc modèles parfaits faits à la main. En parallèle : exécution en arrière plan de l’AR (épisodes) pour apprendre. En avant plan : exécution en boucle d’un scénario simple, joué par le simulateur, qui ne sert à rien pour l’apprentissage mais permet juste de calculer le renforcement cumulé de chaque instance du scénario. Vers x=800 on a diminué le taux d’exploration  plus de positifs On finit par apprendre mais on voit que ça met longtemps Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Évaluation n°2 autour de l’apprentissage initial But : choisir la manière optimale d’exécuter la phase d’apprentissage initial Part des modèles par défaut Exécute des épisodes de Q-Learning pour les « convertir » en comportement Paramètres à fixer Combien d’épisodes ? Combien d’itérations dans chaque épisode ? Quel est l’état initial de chaque épisode ? Par défaut, Toutes valeurs tirées au hasard, Un état tiré au hasard parmi les états déjà rencontrés ? Quel événement à chaque pas d’un épisode ? Généré aléatoirement, Tiré au hasard parmi tous les événements déjà observés ? Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Critère d’évaluation : la note Résultat de l’AR : une Q-table Comment savoir si elle est « bonne » ? Apprentissage réussi si Comportement correspond aux souhaits de l’utilisateur Et c’est mieux si on a beaucoup exploré et si on a une estimation du comportement dans beaucoup d’états Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Évaluation n°3 interactions et apprentissages Point de départ = comportement initial appris lors de l’expérience précédente L’expérimentateur utilise le tableau de bord pour reproduire l’utilisateur L’apprentissage supervisé s’effectue tous les 6 pas 1 minute sépare deux épisodes Tout ça pour accélérer, sinon événements utilisateur moins fréquents  apprentissage supervisé moins fréquent, et là on change de comportement pour tester le système  épisodes fréquents Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

« Le tableau de bord » Permet d’envoyer par un clic les mêmes événements que les capteurs Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

Bibliographie [Weiser, 1991] Mark Weiser. « The computer for the 21st century ». Dans Scientic American, 1991. [Weiser, 1994] Mark Weiser. « Some computer science issues in ubiquitous computing ». Dans Commun. ACM, 1993. [Weiser et Brown, 1996] Mark Weiser et John Seely Brown. « The coming age of calm technology ». http://www.ubiq.com/hypertext/weiser/acmfuture2endnote.htm, 1996. [Moore, 1975] Gordon E. Moore. « Progress in digital integrated electronics ». Dans Proc. IEEE International Electron Devices Meeting,1975. [Maisonnasse 2007] Jerome Maisonnasse, Nicolas Gourier, Patrick Reignier et James L. Crowley. « Machine awareness of attention for non-disruptive services ». Dans HCI International, 2007. [Maes, 1994] Pattie Maes. « Agents that reduce work and information overload ». Dans Commun. ACM, 1994. [Bellotti et Edwards, 2001] Victoria Bellotti et Keith Edwards. « Intelligibility and accountability: human considerations in context-aware systems ». Dans Human-Computer Interaction, 2001. [Brdiczka et al., 2007] Oliver Brdiczka, James L. Crowley et Patrick Reignier. « Learning Situation Models for Providing Context-Aware Services ». Dans Proceedings of HCI International, 2007. [Watkins, 1989] CJCH Watkins. « Learning from Delayed Rewards ». Thèse de doctorat, University of Cambridge, 1989. [Sutton, 1991] Richard S. Sutton. « Dyna, an integrated architecture for learning, planning, and reacting ». Dans SIGART Bull, 1991. [Buffet, 2003] Olivier Buffet. « Une double approche modulaire de l'apprentissage par renforcement pour des agents intelligents adaptatifs ». Thèse de doctorat, Université Henri Poincaré, 2003. [Kaelbling, 2004] Leslie Pack Kaelbling. « Life-Sized Learning ». Lecture at CSE Colloquia, 2004. Apprentissage par renforcement de modèles de contexte pour l'informatique ambiante – Sofia Zaidenberg 16/10/2009

M. James L. Crowley M. Patrick Reignier Mme Marie-Pierre Gleizes Apprentissage par renforcement de modèles de contexte pour l’informatique ambiante Sofia Zaidenberg Laboratoire d’Informatique de Grenoble Équipe Prima Jury composé de Mme Brigitte Plateau M. Olivier Sigaud M. Olivier Boissier M. James L. Crowley M. Patrick Reignier Mme Marie-Pierre Gleizes Sous la direction de Patrick Reignier et James L. Crowley 16 octobre 2009