Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
INF4230 – Intelligence Artificielle
Apprentissage automatique(Machine Learning)
Hiver 2017
Sommaire• Qu’est-ce que l’apprentissage automatique?
• Concepts.
• Algorithmes de bases.
• Réseaux de neurones artificiels.– Perceptron.
– Architectures.
– Algorithmes d’apprentissage.
• Introduction aux réseaux de neurones convolutifs
2INF4230 - Intelligence artificielle
Qu’est-ce que l’apprentissage?
• L’apprentissage est la capacité pour un agent intelligent de tirer profit son expérience passée et de ses observations dans l’environnement pour améliorer ses performances dans le futur.
• Rappel : modèle PEAS– Performance measure, Environment, Actuators,
Sensors.– On mesure l’«intelligence» d’un agent intelligent à
l’aide d’une mesure de performance.
• Rappel : le test de Turing requiert des capacités d’apprentissage.
INF4230 - Intelligence artificielle 3
Learning agents
4INF4230 - Intelligence artificielle
Pourquoi un agent intelligent devrait-il pouvoir apprendre?
1. Impossible de prévoir toutes les situations possibles (ex: un robot qui navigue dans des labyrinthes doit apprendre la configuration de chaque labyrinthe).
2. Impossible d’anticiper les changements au fil du temps (ex: systèmes de détection de fraudes, de polluriels, prédiction du cours boursier, etc.).
3. Nous ne savons pas trop comment résoudre certains problèmes (ex: reconnaissance de visage).
INF4230 - Intelligence artificielle 5
Que peut-on apprendre?
INF4230 - Intelligence artificielle 6
Simple reflex agents Utility-based agents
Goal-based agents
1. Association état courant action.2. Extraction de caractéristiques des données
sensorielles perçues.3. Résultats de nos actions.4. Désirabilité (fonction d’utilité) des états de
monde.5. Désirabilité (fonction d’utilité) des actions.6. Buts représentant des classes d’états qui
maximise notre utilité.
Que peut-on apprendre?
1. Association : état courant action.
2. Extraction de caractéristiques des données sensorielles perçues.
3. Résultats de nos actions.
4. Désirabilité (fonction d’utilité) des états de monde.
5. Désirabilité (fonction d’utilité) des actions.
6. Buts représentant des classes d’états qui maximise notre utilité.
INF4230 - Intelligence artificielle 7
Formes d’apprentissage
• Apprentissage non supervisée :
– Clustering (≈regroupements), classification.
– Le système ne dispose que d’entrées.
– Ne dispose pas d’informations explicites sur des sorties attachées aux entrées.
– Applications : Regroupement automatique de …
• Nouvelles par thème dans les médias électronique;
• Tweets dans les médias sociaux;
• Génomes, etc.
INF4230 - Intelligence artificielle 8
Formes d’apprentissage
• Apprentissage supervisée :
– Jeu de données d’exemples entrées et sorties.
– But : apprendre relation entre entrées et sorties.
– Applications :
• reconnaissance optique de caractères (OCR);
• reconnaissance vocale;
• vision par ordinateur;
• détection de polluriel (SPAM)
• etc.
– Principal sujet de cette présentation.
INF4230 - Intelligence artificielle 9
Formes d’apprentissage
• Apprentissage par renforcement :
– Reinforcement learning.
– L’agent apprend en recevant un série de renforcements (feedbacks)
• Exemples : récompenses ou pénalités.
INF4230 - Intelligence artificielle 10
Représentation des entrées et sorties
• L’entrée doit généralement être prétraitée et mise dans une représentation factorisé(standardisé, normalisé).
• Par exemple, l’entrée peut être un vecteur X de nvaleurs discrètes ou réelles.
• La sortie y, parfois appelée cible, peut être :– une classe (problème de classification);
• Ex: {ensoleillé, nuageux, pluie}.
• Cas particulier : classification binaire.
– une valeur réelle (problème de régression).
INF4230 - Intelligence artificielle 11
Exemple: Reconnaissance de caractères (Optical Characters recognition, OCR)
INF4230 - Intelligence artificielle 12
Étape 1 : découpage de l’image numérisée en plusieurs unités.
On tente ensuite d’identifier quel est le caractère associée à chaque unité découpée.
Exemple: Reconnaissance de caractères (Optical Characters recognition, OCR)
INF4230 - Intelligence artificielle 13
Étape 2 : traitements sur un caractère.• Réduction de la résolution spatiale;• Réduction du nombre de bandes (RGB Niveaux gris)• Réduction de l’amplitude (ex: image binaire de 0 et 1)
Exemple: Reconnaissance de caractères (Optical Characters recognition, OCR)
INF4230 - Intelligence artificielle 14
Entrée : un vecteur de 12 x 16 = 192 valeurs (dans {0,1} ou [0,1]), chacune représentant un pixel en entrée.
0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,1,1,1, 1,0,0,0,0,0,0,0,0,1,1,0, 1,1,0,0,0,0,0,0,0,1,0,0, 1,1,0,0,0,0,0,0,1,1,0,0, 1,1,0,0,0,0,0,0,1,1,0,0, 1,1,0,0,0,0,0,0,1,1,0,0, 1,1,1,1,0,0,0,0,0,1,1,1, 1,1,1,1,1,0,0,0,0,0,1,1, 0,0,0,0,1,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0
(
)
Sortie: un caractère : {a, b, c, d, …, x, y, z, […], 0, 1, 2, … 8, 9}.
Comment programmer la fonction f ?
char f(boolean[][] image){if((image[7][7] && image[7][8] && … )
|| (…)|| (…) ) return ‘a’;
if (…) return ‘b’;if (…) return ‘c’;…
}
INF4230 - Intelligence artificielle 15
}9,...,1,0,,,...,,,,{}1,0{: 1612 zydcbaf
Coderiez-vous ceci ?
Taille de la table d’entrées caractère : 2192 ≈ 6,277101735×10⁵⁷
Apprentissage supervisée
• À partir d’un ensemble d’entraînement (training set) de N paires d’exemples entrée-sortie
{(x1, y1), (x2, y2), …, (xN, yN)}
où chaque yi a été générée par une fonction inconnue yi=f(xi),
• on tente de construire une fonction h(x), appelée modèle ou hypothèse, qui est une bonne approximation de la fonction f(x), c’est-à-dire h(x)≈ f(x).
• La fonction h(x) est construite à l’aide d’un algorithme d’apprentissage qui généralise les exemples de l’ensemble d’entraînement.
INF4230 - Intelligence artificielle 16
Exemple d’ensemble d’entraînement
INF4230 - Intelligence artificielle 17
6 x 26 exemples. Chaque exemple est une paire (X, y), où X est un vecteurde 192 valeurs {0,1}, et où y=f(X) est donné.
APPRENTISSAGE SUPERVISÉ / ALGORITHMES DE BASE
INF4230 - Intelligence artificielle 18
Algorithme des k plus proches voisins
• On dispose d’un ensemble d’entraînement E.• Lorsqu’on veut classifier un nouvel objet x, on cherche
dans l’ensemble d’entraînement E les k exemples les plus proche de x.
• On utilise une fonction de distance (euclidienne ou de Manhattan) qui détermine le niveau de similarité entre deux objets x1 et x2.
• Extraction :– Prob de classification : La classe majoritaire l’emporte.– Prob de régression : moyenne ou médiane.
• Structure de données pour organiser E : Arbre k-d (k-d tree).
INF4230 - Intelligence artificielle 19
Exemple 1 : Prédiction solvabilité (1)
INF4230 - Intelligence artificielle 20
# Revenu Valeur maison Résultat
1 35 k$ 130 k$ Faillite
2 50 k$ 115 k$ Remboursé
3 75 k$ 155 k$ Remboursé
4 100 k$ 120 k$ Remboursé
5 40 k$ 200 k$ Faillite
6 55 k$ 195 k$ Faillite
7 75 k$ 220 k$ Remboursé
8 100 k$ 240 k$ Remboursé
9 65 k$ 340 k$ Faillite
0 85 k$ 300 k$ Remboursé
21 3
5
4
Revenu
Val
eur
mai
son
25 50 75 100
100
200
300
400
6
7
8
9
0
Ensemble d’entraînement : historique de clients passés
Entrée X=(Rev,VM) Sortie y
Exemple 1 : Prédiction solvabilité (2)
INF4230 - Intelligence artificielle 21
21 3
5
4
Revenu
Val
eur
mai
son
25 50 75 100
100
200
300
400
6
7
8
9
0
Requête : soit un nouveau client X=(45,200). Ce client fera-t-il faillite ou sera-t-il capable de rembourser son prêt ?
3 plus proches voisins :
Vote majoritaire = «Remboursé».
Donc, on prédit que le client va rembourser son prêt…
x
7 90
Exemple 2 : reconnaissance de caractères
INF4230 - Intelligence artificielle 22
Image d’un caractère à reconnaître
Recherche des kcaractères les plus proches dans le jeu d’exemples(k=3)
a
a
a
a
Classe majoritaireIdentifiée :
Propriétés de l’algorithme des k plus proches voisins
• Requiert une fonction distance (métrique de similarité).
• Plus le nombre d’exemple est élevé, plus la performance augmente (taux de d’erreur diminue).
• Requiert de conserver en mémoire l’ensemble de tous les exemples.
• Approche dérivée :
– Raisonnement à base de cas (case based reasoning).
INF4230 - Intelligence artificielle 23
Arbre de décisions
INF4230 - Intelligence artificielle 24
Source : Figure 18.2 Russell et Norvig, AI.
Arbre de décisions : Exemples d’entrée
INF4230 - Intelligence artificielle 25
Source : Russell et Norvig, AI.
Arbre de décisions
INF4230 - Intelligence artificielle 26
Arbre de décisions
INF4230 - Intelligence artificielle 27
Maximum de vraisemblance
• Méthode supervisée.• Entrées :
– Exemples : échantillons des classes.– Données à classer.
• Méthode :– Estimation des paramètres statistiques (ex. :
moyennes + matrice de covariance).– Pour chaque donnée à classer, on regarde quelle est
la classe la plus vraisemblable.
• Sortie : classification.
INF4230 - Intelligence artificielle 28
Maximum de vraisemblance
INF4230 - Intelligence artificielle 29
APPRENTISSAGE NON SUPERVISÉ /ALGORITHMES DE BASE
INF4230 - Intelligence artificielle 30
Algorithme des k-moyennes (k-means)
• Méthode non supervisée.• Entrée :
– Données à classer;– Nombre de classes.
• Sélection automatique des classes.
• Méthode :– Initialisation arbitraire des paramètres statistiques.– Plusieurs itérations :
• Classification (distance euclidienne avec moyennes)• Réestimation des paramètres.
• Sortie : Classification.
INF4230 - Intelligence artificielle 31
k-moyennes (k-means)
INF4230 - Intelligence artificielle 32
Démo : https://www.youtube.com/watch?v=BVFG7fd1H30
K-Means (K-Moyennes)
INF4230 - Intelligence artificielle 33
Références
• G. F. Luger. Artificial Intelligence : Structures and Strategies for Complex Problem Solving. Fourth Edition. Addison-Wesley, 2002. / Chapitre 10.
• Stuart Russel et Peter Norvig. ArtificialIntelligence: A Modern Approach. ThirdEdition. Prentice Hall, 2009. / Chapitre 18.
INF4230 - Intelligence artificielle 34
NetTalk
INF4230 - Intelligence artificielle 35
• NET TALK : prononciation de textes
Entrée : 26 lettres + espace + 2 caractères de ponctuationFenêtre de 7 lettres pour tenir compte du contexteSorite : 26 ondes («sons») de prononciation.
Source : Fig. 10.12 Luger. Artificial Intelligence, 4th Ed., 2002
Démo : NEAT
• NEAT Coevolution Robots :http://nn.cs.utexas.edu/pages/research/neatdemo.html
INF4230 - Intelligence artificielle 36
Librairie Weka
INF4230 - Intelligence artificielle 37
http://www.cs.waikato.ac.nz/ml/weka/
Apprentissage profond (Deep Learning)
• Nouvelle tendance en IA en plein essor depuis 2006 (deep belief network).
• C’est quoi ? RNA avec de nombreuse couches.• Intuition : cerveau humain = réseau profond.• Plusieurs niveaux d’abstraction entre les neurones
d’entrée de sortie.– Exemple : pixels, feature (contours), primitive de visage,
caractéristiques de haut niveau, identification d’une personne.
• Exemple d’applications typiques et de succès :– Reconnaissances de visages et d’images.– AlphaGo de Google.
• Plus d’infos : http://deeplearning.net/
INF4230 - Intelligence artificielle 38