Cours 3 - apprentissage automatique copy

Transcription

Cours 3 - apprentissage automatique copy
1
Apprentissage Automatique
Réseaux de neurones artificiels
Apprentissage non-supervisé
Apprentissage supervisé
Apprentissage par renforcement
Nicolas Bredèche
Professeur des Universités, UPMC
[email protected]
UE IARO - L3 - UPMC - Mise à jour: 7 avril 2016
2
Réseaux de
Neurones Artificiels
Qu’est ce qu’un neurone?
3
En pratique: un neurone artificiel n’est qu’inspiré du neurone réel.
Qu’est ce qu’un neurone artificiel?
• La forme la plus simple: le neurone formel
• Poids synaptiques
•
excitation, inhibition
•
fonction de Heaviside
• Fonction d’activation
[McCulloch, Pitts, 1943]
4
Perceptron
• Perceptron
•
•
•
5
[Rosenblatt, 1957]
w0
w1
Neurones formels
w2
Ajout d’un neurone de biais
Fonction d’activation non-linéaire et dérivable
• Calcul de l’activité d’un neurone:
x1
w1
x2
w2
x3
w3
∑
f
a
• Notation:
‣
‣
x : activité interne du neurone (ie. avant fonction d’activation)
a : activité du neurone en sortie (ie. après fonc. d’activation)
Variantes
• Fonctions d'agrégation / de combinaison
•
•
Combinaison linéaire des entrées (cf. transp. précédent)
Radial Basis Function (RBF)
‣ norme euclidienne de la différence entre les vecteurs d’entrées
• Fonctions d’activation
•
•
•
•
Heaviside (ie. non-linéaire, non dérivable)
Linéaire (ie. équivalent à une matrice de transformation)
Sigmoïde, Tangente hyperbolique (ie. non-linéaire, dérivable)
Gaussienne (ie. non-linéaire, dérivable)
6
Topologie
• Réseaux à propagation directe
•
[“feed-forward NN”]
À chaque instant : F:ℜn⇒ℜm
• Réseaux récurrents
•
7
[“recurrent NN”]
À chaque instant : l’activation de chaque neurone à t peut dépendre:
‣
‣
des entrées
de l’état du réseau à t-1
Espace de recherche
Question: qu’est ce qui peut être modifié dans un réseau?
• Paramètres
•
•
Poids des arcs
•
•
Ajout/suppression des arcs
Paramètres de la fonction d’activation
• Topologie
Ajout/suppression des noeuds
8
Théorie et pratiques
9
• Résultats théoriques
•
approximateur universel
‣
‣
une couches “cachée” suffit, si suffisamment de neurones.
régression [Cybenko 1988-89], classification [Hornik 1989]
• Propriétés empiriques
•
•
•
Bonne résistance au bruit
Bonnes propriétés de généralisation
Meilleur si domaine plutôt convexe
‣
‣
« Si A et B positifs, tout le segment AB est positif »
Sensible lors de dépendances sur les entrées
•
•
P.ex. le nombre d’entrées à 1 est paire ou impaire ?
Un perceptron mono-couche n’y arrive pas; un PMC difficilement
Repères historiques
•
•
•
•
Inspiration biologique: « neuro-mimétisme »
•
•
1943 : neurone formel de McCulloch&Pitts
1949 : Règle de Hebb
Première époque (1959-1969) [rosenblatt 59, Widrow&Hoff 60, Minsky&Papert 69]
•
•
1959 : perceptron et règle d’apprentissage
1969 : Limites du perceptron (aux problèmes linéairement séparables)
Seconde époque (1986-…) [Rumelhart&McClelland 86][LeCun 86][Werbos 74][Parker 82]
•
•
•
1986 : Perceptron Multi-Couches (pour les problèmes linéairement non-séparables)
Algorithme de rétro-propagation du gradient pour les PMC
Algorithme d’apprentissage des poids et de la structure
Aujourd’hui (~2000-...)
•
•
•
Dynamique interne et prédiction de séries temporelles (ESN, LSM)
Optimisation paramétrique et non-paramétrique des réseaux de neurones
Réseaux de neurones profonds (Deep NN) et/ou convolutionnel
10
11
Apprentissage Non-Supervisé
Approches neuronales
Définition
•
Apprentissage non supervisé
•
•
•
On ne dispose que de données brutes
On souhaite “organiser” ou stocker ces données
‣
‣
organiser: construire des catégories
stocker: imiter la mémoire et le mécanisme de rappel
Applications: découvrir des groupes naturels, faciliter la visualisation, etc.
12
Hebbian learning rule [Hebb, 1949]
•
•
13
Règle d’apprentissage non supervisée (règle de Hebb)
•
Renforce les connections
‣
‣
entre neurones proches,
actifs au même moment
Mise à jour des poids:
)
(simplification:
seuil d’apprentissage
•
taux d’apprentissage
intervalle de temps
Remarques:
•
Mécanisme d’association (renforcement stimulus-réponse)
Réseaux de Hopfield [1982]
•
•
réseaux de neurones (souvent binaire) complètement
connecté (connexions excitatrice ou non, asymétrique)
Mémoire associative
•
•
stockage d’un motif (ie. encode un attracteur)
rappel du motif à partir d’une amorce (ie. convergence)
Applications
•
•
Etude de la mémoire associative
Reconnaissance/identification d’objets/lettres/scènes,
reconstruction de parties manquantes, etc.
14
Carte Auto-Organisatrice [Kohonen, 1988]
15
“Self-Organizing Maps” ou “Kohonen Maps”
compression
......
.
..
............ . ..
espace RVB
comment identifier une palette réduite à
partir d’un grand échantillon de couleur?
Carte Auto-Organisatrice [Kohonen, 1988]
“Self-Organizing Maps” ou “Kohonen Maps”
• Objectif
exemple: compression de données RVB sur 100 valeurs
Les neurones sont positionnés sur une grille 2D
Chaque neurone code 3 valeurs (R,V,B de référence)
• regroupement de données proches (auto-organisation)
• applications: compression, visualisation, etc.
• Principes
•
•
•
représentation synthétique de données
consacre plus de ressources pour les régions plus dense
notion de voisinage sur un plan 2D
16
Carte Auto-Organisatrice [Kohonen, 1988]
17
“Self-Organizing Maps” ou “Kohonen Maps”
• Algorithme
•
•
Pour chaque entrée on calcule le BMU (« best matching unit »)
Mise à jour des valeurs de chaque unité:
‣
‣
‣
‣
alpha: taux d’apprentissage (décroissance monotone dans le temps)
omega: pondère par la distance p/r au « Best Matching Unit »
D(t): valeurs de l’entrée actuellement traitée
Wv(t): valeur de l’unité neuronale à mettre à jour
➡ Interprétation:
le BMU « attire » les autres unités
18
Apprentissage Supervisé
Approches neuronales
Définition
•
19
Apprentissage supervisé
•
•
•
On dispose d’exemples positifs et négatifs d’un concept
On souhaite apprendre comment étiqueter un nouvel exemple
Applications: approximation ou modélisation de fonctions, identification d‘objet/
texte/son, détection des mauvais payeurs, prédiction de séries temporelles, application au
contrôle robotique, etc.
Apprentissage supervisé
• Le problème:
classification
20
regression
• Une fonction de perte:
• Objectif:
•
Trouver l’hypothèse qui minimise l’erreur de prédiction
tel que:
Réseaux de Neurones
21
Remarque: c’est valable aussi pour d’autres formalismes... des règles, des arbres de décision, SVM, etc.
Calcul de l’erreur dans le perceptron
calcul de l’erreur quadratique
• Un courbe d’erreur classique:
• En abscisse: le nombre d’itérations
• En ordonnées: l’erreur
22
Apprentissage
23
• Rétro propagation du gradient de l’erreur
• w_ji : poids de l’arc liant le neurone d’entrée j et le neurone de sortie i
• x_j : valeur du neurone d’entrée j
• a_i : valeur du neurone de sortie i
• a*_i : valeur désirée du neurone de sortie i
• mu : pas d’apprentissage
Limites
• Perceptron simple
•
Problème lorsque les entrées sont inter-dépendantes
‣
calculer XOR, estimer si le nombre d’entrées à 1 est paire, etc.
•
Un perceptron agit comme un séparateur linéaire
•
•
Théoriquement: approximateur universel
• Solution: ajouter une couche cachée!
•
Mais: il faut définir l’algorithme d’apprentissage
‣
comment estimer l’erreur due aux neurones de la couche cachée?
=> perceptron multi-couches
24
Perceptron Multi-Couches (MLP)
25
[LeCun, 1984] [Rumelhart et McLelland, 1984][Werbos, 1974][Parker, 1982]
neurone
de biais
neurones
de sorties
neurones
d’entrées
neurones de la
couche cachée
propagation du signal
Propriété requise : fonction d’activation non-linéaire et dérivable
Perceptron Multi-Couches (MLP)
[LeCun, 1984] [Rumelhart et McLelland, 1984][Werbos, 1974][Parker, 1982]
• Propriétés requises :
• couche cachée: fonction d’activation non-linéaire et dérivable
• En pratique:
• couche cachée:
‣ fonction sigmoïde
‣ tangente hyperbolique
• couche de sortie : fonction linéaire
equiv. à :
dérivé:
• Remarques
• paramètre clé: le nombre de neurones cachés
‣ Remarque: évidemment, la topologie, le nombre de couche, ont aussi une influence, mais
sont aussi plus difficile à régler.
26
Propagation du signal dans un MLP
27
On utilise une fonction
d’activation linéaire
w16
w21
w1
w15
w(…)
Biais = 1.0
x1
x2
x3
x4
Rétro-propagation de l’erreur
rétropropagation de l’erreur
[LeCun, 1984] [Rumelhart et McLelland, 1984][Werbos, 1974][Parker, 1982]
w16
w21
w1
w15
w(…)
Biais = 1.0
x1
x2
x3
x4
«back-propagation algorithm»
28
Mise en pratique : propagation et rétro-propagation
sortie souhaitée: 1
niveau
“i”
?
-0.5
0.4
-0.6
niveau
“j”
flinéaire
?
?
0.6 0.4
0.5 0.8
1
0
fsigmoide
- apprentissage de la fonction OU
- ici: exemple ”1 OU 0”
- sortie attendue: “1”
Etude pratique:
1. propagation du signal
2. rétro-propagation de l’erreur
Remarque: en pratique, il faudrait faire cela
un grand nombre de fois pour chaque
exemple de la base d’apprentissage.
biais
niveau
“k”
Imaginons:
Objectif:
Régler les poids du réseau.
-0.1
-1.6
1
activation: sigmoide
pour la couche cachée, et linéaire pour les sorties
Ici, on fixe mu=0.1 (pas d’apprentissage)
dérivé sigmoïde:
Etape 1 : propagation du signal
sortie souhaitée: 1
niveau
“i”
-0.47
0.4
-0.6
niveau
“j”
1
f(0.5)=
-0.1
-1.6
0.62
flinéaire
-0.5
ai=1 = 0.4*0.62 + -0.5*0.23 + -0.6 = -0.47
f(-1.2)=
0.23 fsigmoide
0.6 0.4
0.5 0.8
1
0
aj=1 = fsig( 0.6*1 + 0.5*0 + -0.1 ) = fsig( 0.5 ) = 0.62
aj=2 = fsig( 0.4*1 + 0.8*0 + -1.6 ) = fsig( -1.2 ) = 0.23
biais
niveau
“k”
ak=1 = 1
ak=2 = 0
activation: sigmoide
29
pour la couche cachée, et linéaire pour les sorties
32
Etape 2 : rétro-propagation de l’erreur et correction
1.a
sortie souhaitée: 1
niveau
“i”
-0.47
37
δi=1 = flinéaire’(-0.47) * (1 - -0.47) = 1 * 1.47 = 1.47
δ=1.47
1.b
-0.6
-0.45
niveau
“j”
0.4
0.49
f(0.5)=
-0.09 0.62
-0.1
-1.6
δ=0.14
biais
1
niveau
“k”
= ( 0.62 * 0.38 ) * 0.59 = 0.14
δj=2 = fa’(-1.2) * ( -0.5* 1.47 ) =
f(-1.2)=
δ=-0.13
0.23
-1.61
0.5
0.5 0.8
0.6 0.4
0.39
0.61
0.8
1
δj=1 = fa’(0.5) * ( 0.4*1.47 ) = ( fa(0.5) * ( 1 - fa(0.5) )*0.59
-0.5
-0.47
2.a
wj=1,i=1 = 0.4 + 0.1*1.47*0.62 = 0.49
wj=2,i=1 = -0.5 + 0.1*1.47*0.23 = -0.47
wbias,i=1 = -0.6 + 0.1*1.47*1 = -0.45
2.b
0
wk=1,j=1 = 0.6 + 0.1*0.14*1 = 0.61
wk=2,j=1 = 0.5 + 0.1*0.14*0 = 0.5
wbias,j=1 = -0.1 + 0.1*0.14*1 = -0.09
wk=1,j=2 = 0.4 + 0.1*-0.13*1 = 0.39
wk=2,j=2 = 0.8 + 0.1*-0.13*0 = 0.8
wbias,j=2 = -1.6 + 0.1*-0.13*1 = -1.61
-- rappel: a=f(x) -- f’lin(x)=1 --
sigmoide:
( 0.23 * 0.77 ) * 0.74 = -0.13
Ici, on fixe mu=0.1 (pas d’apprentissage)
Protocole expérimental
• Protocole d’apprentissage
•
•
•
Les exemples sont présentés plusieurs fois
‣
un +/- grand nombre de fois avant convergence
Méthode “on-line”:
•
•
tirage au hasard d’un exemple, on calcule une erreur locale
application de l’algorithme de rétro-propagation (ie. pour chaque
exemple)
Méthode “batch”:
•
•
on passe tous les exemples, on calcule une erreur globale
application de l’algorithme de rétro-propagation (ie. une seule fois
pas passage de la base)
38
Critères de succès
fonction cible
39
4 neurones
8 neurones
• Compromis mémorisation vs. généralisation
•
•
mémorisation: approximation +/- grossière des exemples
•
•
Base d’apprentissage : exemples utilisés pour l’apprentissage
généralisation: risque de sur-apprentissage (= apprendre par coeur)
• Méthodologie:
Base de test : exemples utilisés pour la validation (ex.: 10-fold cross-validation)
image: source transp. A. Cornuejols
Dynamique interne
• Intérêts
•
•
•
•
États internes => mémoire
Machine de Turing universelle
Permet d’aborder les problèmes avec descripteurs temporels
Réseaux récurrents
•
•
Type de réseaux
•
DTRNN (Elman-net, Jordan-net, …), CTRNN
Apprentissage
•
BPTT, RTRL
40
Influence de la topologie
41
• Intérêt:
•
•
Certaines topologies s’avèrent parfois un bon choix
•
•
•
•
•
•
•
Cascade Correlation (Falhman 1991)
‣ Ex.: Topologies small world (réseaux sociaux), scale-free (internet), ...?
Comment exploiter/construire la topologie?
Optimal Brain Damage (LeCun)
Optimal Brain Surgery (Hassibi & Stork)
...
Reservoir computing (2000+)
Convolutional neural networks (1990+)
Deep neural networks (2000+)
illustration: http://www.cs.cornell.edu/boom/2004sp/projectarch/appofneuralnetworkcrystallography/NeuralNetworkCascadeCorrelation.htm
42
Réseaux de neurones
convolutionnels
exemple : Les codes postaux
43
• Lecun et al. 1989
• Objectif
•
identifier les codes postaux sur les enveloppes
• Méthode
•
Réseaux de neurones + retro-propagation
• Problématique :
•
Comment entraîner un tel réseau? (trop de poids)
• Approche:
•
entraîner des détecteurs de caractéristiques particulières
(2/2)
9760 poids (au lieu de 200000 poids si on connecte tout)
7300 exemples d’apprentissage, 2000 exemples de tests, 99% de précision.
44
“Dave” : autonomous off-road vehicle
45
[LeCun et al., 2003-2004]
• Problème d’Apprentissage
•
•
données générées pendant pilotage par un humain
apprendre la fonction: f(senseurs)=>actionneurs
source: http://yann.lecun.com/
46
données d’apprentissage (exemple)
source: DARPA Final technical report. 2004.
http://yann.lecun.com/
“Dave” : autonomous off-road vehicle
47
• Problème d’Apprentissage
•
•
données générées pendant pilotage par un humain
apprendre la fonction: f(senseurs)=>actionneurs
source: http://yann.lecun.com/
48
traitement et décision (2 exemples)
source: DARPA Final technical report. 2004. http://yann.lecun.com/
49
Apprentissage par
Renforcement
50
• Objectif:
• trouver la politique optimale qui maximise la récompense globale
• on veut st , (st ) at avec un espérance de gain max.
•Notations:
•at action optimale à t ; ( at A )
•st état courant à t ; ( st S )
51
• On souhaite estimer la fonction de valeur V et trouver la politique 𝝅
• Difficultés: exploration vs. exploitation, temporal credit-assignment problem
Q-learning
• Politique:
•
greedy, epsilon-greedy, softmax
52
53
Etude de cas: AlphaGO
54
55
Policy network:
13 couches
apprentissage: (1) appr. supervisé sur des parties existantes (2) appr. par renf. sur des self-play
Value network:
entrée: 19x19x48 (48 features) + 1 entrée donnant la couleur du joueur
13 couches + dernière couche avec un seul neurone (fonction d’activation tanh)
apprentissage: regression sur les self-play
56
Choix d’un coup à jouer
Evaluation: (1) Value Function ; (2) rollout
57
Synthèse
Synthèse
• Ce qu’on a vu
•
•
•
•
Réseaux de Neurones Artificiels
Apprentissage non-supervisé: Kohonen maps
Apprentissage Supervisé: MLP, rétro-propagation
Apprentissage par Renforcement: Q-learning
‣
non évoqué ici: robotique évolutionniste ~= policy-search RL
58