Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5....

38
INF4230 – Intelligence Artificielle Apprentissage automatique (Machine Learning) Hiver 2017

Transcript of Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5....

Page 1: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

INF4230 – Intelligence Artificielle

Apprentissage automatique(Machine Learning)

Hiver 2017

Page 2: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

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

Page 3: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

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

Page 4: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

Learning agents

4INF4230 - Intelligence artificielle

Page 5: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

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

Page 6: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

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

Page 7: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

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

Page 8: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

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

Page 9: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

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

Page 10: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

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

Page 11: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

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

Page 12: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

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.

Page 13: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

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)

Page 14: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

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

Page 15: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

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⁵⁷

Page 16: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

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

Page 17: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

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

Page 18: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

APPRENTISSAGE SUPERVISÉ / ALGORITHMES DE BASE

INF4230 - Intelligence artificielle 18

Page 19: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

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

Page 20: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

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

Page 21: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

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

Page 22: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

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 :

Page 23: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

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

Page 24: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

Arbre de décisions

INF4230 - Intelligence artificielle 24

Source : Figure 18.2 Russell et Norvig, AI.

Page 25: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

Arbre de décisions : Exemples d’entrée

INF4230 - Intelligence artificielle 25

Source : Russell et Norvig, AI.

Page 26: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

Arbre de décisions

INF4230 - Intelligence artificielle 26

Page 27: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

Arbre de décisions

INF4230 - Intelligence artificielle 27

Page 28: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

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

Page 29: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

Maximum de vraisemblance

INF4230 - Intelligence artificielle 29

Page 30: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

APPRENTISSAGE NON SUPERVISÉ /ALGORITHMES DE BASE

INF4230 - Intelligence artificielle 30

Page 31: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

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

Page 32: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

k-moyennes (k-means)

INF4230 - Intelligence artificielle 32

Démo : https://www.youtube.com/watch?v=BVFG7fd1H30

Page 33: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

K-Means (K-Moyennes)

INF4230 - Intelligence artificielle 33

Page 34: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

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

Page 35: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

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

Page 36: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

Démo : NEAT

• NEAT Coevolution Robots :http://nn.cs.utexas.edu/pages/research/neatdemo.html

INF4230 - Intelligence artificielle 36

Page 37: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

Librairie Weka

INF4230 - Intelligence artificielle 37

http://www.cs.waikato.ac.nz/ml/weka/

Page 38: Apprentissage automatique Machine Learninggdac.uqam.ca/inf4230/16-apprentissage_V2.pdf · 2017. 5. 16. · •G. F. Luger. Artificial Intelligence : Structures and Strategies for

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