INF4230 – Intelligence Artificielle Réseaux de neurones artificielles

publicité
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
INF4230 - Intelligence artificielle
2
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
INF4230 - Intelligence artificielle
4
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
Utility-based agents
Simple reflex agents
Goal-based agents
Que peut-on apprendre?
1.
2.
3.
4.
5.
6.
Association état courant  action.
Extraction de caractéristiques des données
sensorielles perçues.
Résultats de nos actions.
Désirabilité (fonction d’utilité) des états de
monde.
Désirabilité (fonction d’utilité) des actions.
Buts représentant des classes d’états qui
maximise notre utilité.
INF4230 - Intelligence artificielle
6
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 n
valeurs 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)
É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.
INF4230 - Intelligence artificielle
12
Exemple: Reconnaissance de caractères
(Optical Characters recognition, OCR)
É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)
INF4230 - Intelligence artificielle
13
Exemple: Reconnaissance de caractères
(Optical Characters recognition, OCR)
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}.
INF4230 - Intelligence artificielle
14
Comment programmer la fonction f ?
1216
f : {0,1}
 {a, b, c, d ,..., y, z ,0,1,...,9}
Coderiez-vous ceci ?
char f(boolean[][] image){
if((image[7][7] && image[7][8] && … )
|| (…)
|| (…) ) return ‘a’;
if (…) return ‘b’;
if (…) return ‘c’;
…
}
Taille de la table d’entrées  caractère : 2192 ≈ 6,277101735×10⁵⁷
INF4230 - Intelligence artificielle
15
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
6 x 26 exemples. Chaque exemple est une paire (X, y), où X est un vecteur
de 192 valeurs {0,1}, et où y=f(X) est donné.
INF4230 - Intelligence artificielle
17
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)
#
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é
Entrée X=(Rev,VM)
Valeur maison
Ensemble d’entraînement :
historique de clients passés
400
9
300
0
8
200
5
1
7
6
2
3
4
100
25
50
75
100
Revenu
Sortie y
INF4230 - Intelligence artificielle
20
Exemple 1 : Prédiction solvabilité (2)
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 ?
Valeur maison
400
300
3 plus proches voisins :
9
200
x
5
100
1
25
2
3
50
7
9
0
8
Vote majoritaire = «Remboursé».
7
6
0
Donc, on prédit que le client va
rembourser son prêt…
4
75
100
Revenu
INF4230 - Intelligence artificielle
21
Exemple 2 : reconnaissance de
caractères
Image d’un
caractère à
reconnaître
Recherche des k
caractères les plus
proches dans le
jeu d’exemples
(k=3)
a
Classe majoritaire
Identifiée :
a
a
a
INF4230 - Intelligence artificielle
22
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
Source : Figure 18.2 Russell et Norvig, AI.
INF4230 - Intelligence artificielle
24
Arbre de décisions : Exemples d’entrée
Source : Russell et Norvig, AI.
INF4230 - Intelligence artificielle
25
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)
Démo : https://www.youtube.com/watch?v=BVFG7fd1H30
INF4230 - Intelligence artificielle
32
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. Artificial
Intelligence: A Modern Approach. Third
Edition. Prentice Hall, 2009. / Chapitre 18.
INF4230 - Intelligence artificielle
34
NetTalk
• NET TALK : prononciation de textes
Source : Fig. 10.12 Luger. Artificial Intelligence, 4th Ed., 2002
Entrée : 26 lettres + espace + 2 caractères de ponctuation
Fenêtre de 7 lettres pour tenir compte du contexte
Sorite : 26 ondes («sons») de prononciation.
INF4230 - Intelligence artificielle
35
Démo : NEAT
• NEAT Coevolution Robots :
http://nn.cs.utexas.edu/pages/research/neatdemo.html
INF4230 - Intelligence artificielle
36
Librairie Weka
http://www.cs.waikato.ac.nz/ml/weka/
INF4230 - Intelligence artificielle
37
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
Téléchargement