Apprentissage Jean-François Bérubé Dans le cadre du cours IFT 6802

Slides:



Advertisements
Présentations similaires
Bratec Martin ..
Advertisements

NOTIFICATION ÉLECTRONIQUE
Fragilité : une notion fragile ?
SEMINAIRE DU 10 AVRIL 2010 programmation du futur Hôtel de Ville
Phono-sémantique différentielle des monosyllabes italiens
MAGGIO 1967 BOLOGNA - CERVIA ANOMALIES DU SOMMEIL CHEZ L'HOMME
droit + pub = ? vincent gautrais professeur agrégé – avocat
Transcription de la présentation:

Apprentissage Jean-François Bérubé Dans le cadre du cours IFT 6802 Université de Montréal DIRO, 2 Avril 2003

Introduction : Pourquoi ? Approche classique de la conception d’un agent: « L’intelligence » de l’agent est entièrement introduite par le programmeur. MAIS: Le programmeur ne connaît pas toujours parfaitement l’environnement de l’agent. Dans un tel cas, l’apprentissage peut être la seule façon pour un agent d’acquérir les compétences dont il a besoin. N’est-ce pas là une réelle forme d’autonomie et par le fait même d’intelligence? Faire référence au TP4 qui constitue un bel exemple où l’adaptation peut être salutaire à l’agent: le programmeur ne connaît presque rien des adversaires de l’agent; celui-ci devrait donc adapter son comportement en fonction de celui des autres. Pour le dernier point, rappeler que l’autonomie est une caractéristique centrale du concept d’agent intelligent et faire ressortir que l’apprentissage constitue LA façon de créer cette autonomie.

Introduction : Comment ? Apprendre pour un humain: facile! Pour une machine: difficile!!! On aura besoin d’algorithmes précis et parfois complexes L’apprentissage est un vaste domaine qui chevauche l’informatique, les statistiques et les domaines précis des applications Faire référence au TP4 qui constitue un bel exemple où l’adaptation peut être salutaire à l’agent: le programmeur ne connaît presque rien des adversaires de l’agent; celui-ci devrait donc adapter son comportement en fonction de celui des autres. Pour le dernier point, rappeler que l’autonomie est une caractéristique centrale du concept d’agent intelligent et faire ressortir que l’apprentissage constitue LA façon de créer cette autonomie.

Plan de la présentation L’apprentissage: aperçu général Modèle général d’un agent qui apprend Présentation de quelques techniques d’apprentissage L’apprentissage dans les systèmes multi-agents De l’apprentissage mono-agent à multi-agents Qu’apprend un agent dans les SMA ? Caractéristiques multi-agents des apprentissages Conclusion J’aime bien présenter le plan de la présentation après avoir donné un bref aperçu du sujet… Donner simplement les grands titres et nommer la personne qui présentera chacune des sections.

Objectifs de l’apprentissage Acquisition d’une connaissance explicite par un système informatique  Construction de nouvelles connaissances ou amélioration de connaissances déjà existantes [inférence]  « Les perceptions [d’un agent] ne devraient pas seulement lui servir à choisir ses actions mais aussi à améliorer ses capacités à agir » [Russell & Norvig] Objectif : améliorer les performances du système ATTENTION : Cohen 82 et Michalski & Kodratoff ne sont pas cités en référence. Mettre l’accent sur les mots clé: acquisition et inférence de connaissances, amélioration des capacités à agir dans le but d’accroître les performances du système.

Modèle d’un agent qui apprend Standard de performance E n v i r o e m t Senseurs Unité de critique feedback changements Module de performance Module d’apprentissage connaissances Module d ’apprentissage : responsable des amélioration du comportement. Il reçoit des connaissances du module de performance et un feedback sur la qualité des actions faites par l’agent. Il décide à partir de ces données de la manière dont le module de performance devrait être modifié afin que l’agent fasse mieux dans le futur. L’algorithme d’apprentissage qui devra être introduit à ce niveau dépend du type de module de performance utilisé (ce ne sont pas les mêmes algo pour des réseaux de neurones que pour un système de règles logiques. Module de performance : responsable de la sélection des actions à exécuter. C’est ce que nous avons considéré comme un agent dans le cours, i.e. qu’il décide de l’action à mettre ne œuvre en fonction de ses perceptions, présentes et passées. L ’unité de critique analyse les performances de l’agent selon des métriques spécifique. Les perceptions de l’agent ne suffisent pas pour évaluer son travail. Des métriques extérieures lui permettent de maintenir une critique objective et rationnelle. Le générateur de problème suggère des actions exploratoire afin de permettre à l’agent de découvrir des techniques qu’il  n’aurait pas rationnellement choisies. objectifs d’apprentissage Générateur de problèmes Actions Agent Source: Russell & Norvig

Les formes d’apprentissage Supervisé Un exemple de « la bonne solution » est donné pendant une phase d’entraînement Utilisé pour la classification, les régressions, estimation de probabilités conditionnelles Par renforcement Le système n’a pas accès à des exemples; il a cependant un feedback sur ses actions Utilisé pour le contrôle des robots

Apprentissage supervisé - Exemple intuitif - Une image = profil d’un cas Anne Exemple test Jean ( , ?) Maude Eric Qui est-ce? Paul Ensemble des exemples d’entraînement {(visage, identité)} Source: Yoshua Bengio

Apprentissage supervisé - Exemple intuitif (plus proche voisin) - Choisir l’exemple d’apprentissage dont le « profil » (image) est le plus proche de celui de l’exemple test identité =Paul plus proche voisin Source: Yoshua Bengio

Apprentissage supervisé - Deux phases - La phase d’entraînement On présente des exemples au système L’agent « apprend » à partir des exemples La phase d’application (ou d’utilisation) Nouvelles situations jamais vues auparavant On demande à l’agent de généraliser ce qu’il a appris (faire un transfert)

Apprentissage supervisé - Généralisation - Idée: mémoriser les paires (perception,action) pour ensuite s’en servir afin d’induire l’action à exécuter devant une situation nouvelle On veut éviter que l’agent apprenne par cœur Qu’il ne puisse que résoudre des problèmes qu’il a déjà vus On veut un apprentissage qui lui permette de généraliser Il doit savoir faire ressortir l’essence des exemples qu’il apprend L ’agent possède une base de connaissances comme par exemple un base de faits en Prolog. Le le mécanisme d ’induction logique de Prolog permet à l ’interpréteur d ’induire de nouveaux faits à partir de faits connus. Ici, on va plus loin: le mécanisme d ’apprentissage par induction permet à l ’agent d ’estimer une fonction h(perception) qui constitue une hypothèse sur ce que serait la meilleure fonction, f(perception. À l ’aide des feedback provenant du module d ’évaluation des actions de l ’agent, celui-ci enrichit sa base de connaissance au fur et à mesure.

Apprentissage supervisé - Généralisation - Principe de la généralisation par induction Situation inconnue Induction de h, une approximation (maximisation de la vraisemblance) de la fonction f permettant d’associer une perception à une action Évaluer h(nouvelle situation) action Feedback mise-à-jour de la base de connaissances (ou d’exemples) L ’agent possède une base de connaissances comme par exemple un base de faits en Prolog. Le le mécanisme d ’induction logique de Prolog permet à l ’interpréteur d ’induire de nouveaux faits à partir de faits connus. Ici, on va plus loin: le mécanisme d ’apprentissage par induction permet à l ’agent d ’estimer une fonction h(perception) qui constitue une hypothèse sur ce que serait la meilleure fonction, f(perception. À l ’aide des feedback provenant du module d ’évaluation des actions de l ’agent, celui-ci enrichit sa base de connaissance au fur et à mesure.

Apprentissage supervisé - Généralisation - Chaque point: un exemple Pointillé : la meilleure réponse possible étant donnée l’entrée (mais inconnue de l’apprenant) Sortie : valeur à prédire L ’agent possède une base de connaissances comme par exemple un base de faits en Prolog. Le le mécanisme d ’induction logique de Prolog permet à l ’interpréteur d ’induire de nouveaux faits à partir de faits connus. Ici, on va plus loin: le mécanisme d ’apprentissage par induction permet à l ’agent d ’estimer une fonction h(perception) qui constitue une hypothèse sur ce que serait la meilleure fonction, f(perception. À l ’aide des feedback provenant du module d ’évaluation des actions de l ’agent, celui-ci enrichit sa base de connaissance au fur et à mesure. Entrée : profil du cas Source: Yoshua Bengio

Apprentissage supervisé - Généralisation - On apprend par cœur mais ça ne généralise pas bien de nouveaux cas. Erreur faible sur les exemples d’apprentissage mais élevée en test. L ’agent possède une base de connaissances comme par exemple un base de faits en Prolog. Le le mécanisme d ’induction logique de Prolog permet à l ’interpréteur d ’induire de nouveaux faits à partir de faits connus. Ici, on va plus loin: le mécanisme d ’apprentissage par induction permet à l ’agent d ’estimer une fonction h(perception) qui constitue une hypothèse sur ce que serait la meilleure fonction, f(perception. À l ’aide des feedback provenant du module d ’évaluation des actions de l ’agent, celui-ci enrichit sa base de connaissance au fur et à mesure. Source: Yoshua Bengio

Apprentissage supervisé - Généralisation - On a choisi un modèle trop simple (linéaire): erreur élevée en apprentissage ET en test L ’agent possède une base de connaissances comme par exemple un base de faits en Prolog. Le le mécanisme d ’induction logique de Prolog permet à l ’interpréteur d ’induire de nouveaux faits à partir de faits connus. Ici, on va plus loin: le mécanisme d ’apprentissage par induction permet à l ’agent d ’estimer une fonction h(perception) qui constitue une hypothèse sur ce que serait la meilleure fonction, f(perception. À l ’aide des feedback provenant du module d ’évaluation des actions de l ’agent, celui-ci enrichit sa base de connaissance au fur et à mesure. Source: Yoshua Bengio

Apprentissage supervisé - Généralisation - Le modèle est suffisamment flexible pour capturer la forme courbe L ’agent possède une base de connaissances comme par exemple un base de faits en Prolog. Le le mécanisme d ’induction logique de Prolog permet à l ’interpréteur d ’induire de nouveaux faits à partir de faits connus. Ici, on va plus loin: le mécanisme d ’apprentissage par induction permet à l ’agent d ’estimer une fonction h(perception) qui constitue une hypothèse sur ce que serait la meilleure fonction, f(perception. À l ’aide des feedback provenant du module d ’évaluation des actions de l ’agent, celui-ci enrichit sa base de connaissance au fur et à mesure. Source: Yoshua Bengio

Apprentissage supervisé - Arbres de décision - Un arbre de décision permet de représenter un ensemble de fonctions booléennes associées à une activité de prise de décision Input: situation décrite par un ensemble de propriétés Output: une décision (oui/non) relative à cette situation Principe: ATTENTION: ne pas oublier de glisser un mot sur les limites d ’expressivité des arbres de décision: Un arbre de décision représente un ensemble d ’implication MAIS est associé à un objet précis. On ne peut exprimer toutes les implications. Propriétés d’une situation Décision à prendre Décision (oui/non)

Apprentissage supervisé - Arbres de décision - Clients Vais-je attendre ??? Aucun Peu Beaucoup Non Oui Temps d’attente <10 >60 30-60 10-30 Non Aller ailleurs J’ai faim Oui Non Oui Non Oui J’ai réservé Ven ou sam Oui Aller ailleurs Oui Non Oui Non Oui Non Exemple d ‘ arbre de décision: vais-ja attendre en file pour avoir une table au restaurent r ? La situation est décrite par un ensemble de variables booléennes et l ’arbre de décision permet de d ’obtenir la réponse à la question en fonction d ’une situation précise Bar Oui Non Oui Oui Il pleut Non Non Oui Oui Non Oui Non Oui r Clients(r,Beaucoup)  Temps d’attente(r,10-30)  J’ai faim(r,Non)  J’attends(r) Source: Russell & Norvig

Apprentissage supervisé - Apprendre des arbres de décision - Ensemble d’entraînement Série d’exemples dans lesquels toutes les propriétés d’une situation sont connues Comment apprendre un arbre ? Un exemple => un chemin dans l’arbre Arbres trop gros Quoi faire dans des situations inconnues ? Trouver l’arbre minimal est incalculable Des heuristiques permettent un compromis entre la taille de l’arbre et la difficulté de calcul Ajouter une petite discussion: Principale heuristique: favoriser les variables les plus discriminantes pour les nœuds les plus près de la racine de l ’arbre. Par exemple, la variable Cilents dans l ’exemple de la diapo précédente est très déterminant puisqu’une seul de ses choix engendre une recherche plus approfondie dans l ’arbre. Est-ce que c ’est bon??? On mesure la qualité de l ’algorithme en comparant ses prédictions de situations qui lui sont inconnues avec la vrai valeur… Exemple RÉEL: parler du simulateur de vol (p.539), un exemple où l ’élève a dépassé le maître Avant de passer à l ’apprentissage par renforcement, mentionner l’existence des réseaux de neurones, une autre façon d ’apprendre à partir d ’exemples

Apprentissage supervisé - Apprendre des arbres de décision - Les heuristiques d’apprentissage Classifier les exemples en considérant d’abord les variables les plus importantes: celles qui permettent d’obtenir une décision le plus rapidement On continue d’introduire des variables permettant d’obtenir une décision à partir des conséquences de sa variable parent Les exemples impertinents sont éliminés Ajouter une petite discussion: Principale heuristique: favoriser les variables les plus discriminantes pour les nœuds les plus près de la racine de l ’arbre. Par exemple, la variable Cilents dans l ’exemple de la diapo précédente est très déterminant puisqu’une seul de ses choix engendre une recherche plus approfondie dans l ’arbre. Est-ce que c ’est bon??? On mesure la qualité de l ’algorithme en comparant ses prédictions de situations qui lui sont inconnues avec la vrai valeur… Exemple RÉEL: parler du simulateur de vol (p.539), un exemple où l ’élève a dépassé le maître Avant de passer à l ’apprentissage par renforcement, mentionner l’existence des réseaux de neurones, une autre façon d ’apprendre à partir d ’exemples

Apprentissage supervisé - Application des arbres de décision - Entraînement d’un simulateur de vol Professeurs : 3 pilotes expérimentés « Enseignement » : chacun répète 30 fois un vol prédéterminé 90000 exemples sont créés Les exemples sont décrits par 20 variables Résultats L’élève dépasse ses maîtres!! Ajouter une petite discussion: Principale heuristique: favoriser les variables les plus discriminantes pour les nœuds les plus près de la racine de l ’arbre. Par exemple, la variable Cilents dans l ’exemple de la diapo précédente est très déterminant puisqu’une seul de ses choix engendre une recherche plus approfondie dans l ’arbre. Est-ce que c ’est bon??? On mesure la qualité de l ’algorithme en comparant ses prédictions de situations qui lui sont inconnues avec la vrai valeur… Exemple RÉEL: parler du simulateur de vol (p.539), un exemple où l ’élève a dépassé le maître Avant de passer à l ’apprentissage par renforcement, mentionner l’existence des réseaux de neurones, une autre façon d ’apprendre à partir d ’exemples

Apprentissage supervisé - Réseaux de neurones - Réseau composé de nœuds reliés entre eux par des arcs auxquels des poids sont associés Exemples Ajouter une petite discussion: Principale heuristique: favoriser les variables les plus discriminantes pour les nœuds les plus près de la racine de l ’arbre. Par exemple, la variable Cilents dans l ’exemple de la diapo précédente est très déterminant puisqu’une seul de ses choix engendre une recherche plus approfondie dans l ’arbre. Est-ce que c ’est bon??? On mesure la qualité de l ’algorithme en comparant ses prédictions de situations qui lui sont inconnues avec la vrai valeur… Exemple RÉEL: parler du simulateur de vol (p.539), un exemple où l ’élève a dépassé le maître Avant de passer à l ’apprentissage par renforcement, mentionner l’existence des réseaux de neurones, une autre façon d ’apprendre à partir d ’exemples

Apprentissage par renforcement Apprentissage à l’aide d’exemples: Professeur => exemples Modèle de l’environnement => faire des prédictions Fonction d’utilité => évaluer les actions Mais si on a rien de tout ça ??? Utiliser les feedback reçus Aux échecs : gagner constitue une récompense Au ping pong : chaque point devient une récompense Bien faire ressortir la différence entre les contextes d ’apprentissage par l ’exemple et d ’apprentissage par récompense. Dans l ’exemple, ajouter la compétition à faire en cours: c ’est un excellent exemple où l ’apprentissage par récompense pourrait être utilisée... Reinforcement learning

Apprentissage par renforcement Principe: Action Agent Perceptions Évaluation Environnement Expliquer le principe de base. Souligner l ’importance d ’apprendre à la fois comment agir ET comment évaluer si une perception doit être considérée comme un feedback positif ou négatif. Positif? Il faut apprendre les meilleurs actions à poser et la façon d’évaluer les perceptions

Apprentissage par renforcement - Applications - Joueur d’échecs (Samuel 1959-1967) Utilisation d’une fonction linéaire permettant d’évaluer les différentes positions Les poids dans cette fonction sont appris par reinforcement learning Les décisions du joueur virtuel finissait par s’approcher de celles des bons joueurs Robots Utilisation dans les SMA Expliquer le principe de base. Souligner l ’importance d ’apprendre à la fois comment agir ET comment évaluer si une perception doit être considérée comme un feedback positif ou négatif.

Résumé L’agent apprend en observant: l’effet de ses actions Apprentissage par renforcement une série d’exemples (supervisé) Induction d’arbres de décision Réseaux de neurones Expliquer le principe de base. Souligner l ’importance d ’apprendre à la fois comment agir ET comment évaluer si une perception doit être considérée comme un feedback positif ou négatif.

Références Bengio, Yoshua. Présentation sur les algorithmes d’apprentissage, www.iro.umontreal.ca/~bengioy Russell, S. et Norvig, P. Artificial Intelligence A Modern Approach, Prentice-Hall, 1995, 932 pages. Expliquer le principe de base. Souligner l ’importance d ’apprendre à la fois comment agir ET comment évaluer si une perception doit être considérée comme un feedback positif ou négatif.