apprentissage supervisé e” (link) - agroparistech · 2018-03-22 · topologie typique flot des...

14
Apprentissage Supervisé l Réseaux de Neurones l SVM l Aller plus loin Antoine CORNUÉJOLS AgroParisTech Équipe Learning and INtegration of Knowledge” (LINK) [email protected] http://www.agroparistech.fr/ufr-info/membres/cornuejols/ 24/02/2016 2 Plan de la journée Rappels sur l’apprentissage supervisé 1. Les réseaux de neurones 2. Les réseaux de neurones profonds (le « deep learning ») 3. Les SVM ( Séparateurs à Vastes Marges ) Pour aller plus loin 24/02/2016 3 Historique (très limité) Mise en évidence des neurones Camillio Golgi et Ramon Y Cajal (~ 1870) ; les synapses (dans les années 1930) Modélisation formelle Mc Culloch & Pitt (1943) : 1 er modèle du neurone formel Hebb (1949) : règle d’apprentissage par renforcement de couplage synaptique Premiers modèles informatiques ADALINE (Widrow-Hoff, 1960) Perceptron (Rosenblatt, 1958-1962) Analyse par Minsky et Papert (1969) Nouveau connexionnisme Hopfield (1982) : réseau bouclé Perceptron Multi-Couche (1985) « Reservoir computing » (2003) Les réseaux de neurones profonds « Spiking Neurons » networks 24/02/2016 4

Upload: others

Post on 09-Aug-2020

5 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Apprentissage Supervisé e” (LINK) - AgroParisTech · 2018-03-22 · Topologie typique Flot des signaux Entrée : xk Couche d'entrée Couche cachée Couche de sortie Sortie : yk

Apprentissage Supervisé

l  Réseaux de Neurones l  SVM l  Aller plus loin

24/02/2016

1

Antoine CORNUÉJOLS

AgroParisTech

Équipe “Learning and INtegration of Knowledge” (LINK)

[email protected]

http://www.agroparistech.fr/ufr-info/membres/cornuejols/

24/02/2016 2

Plan de la journée

Rappels sur l’apprentissage supervisé

1.  Les réseaux de neurones

2.  Les réseaux de neurones profonds (le « deep learning »)

3.  Les SVM ( Séparateurs à Vastes Marges )

Pour aller plus loin

24/02/2016 3

Historique (très limité)

Mise en évidence des neurones Camillio Golgi et Ramon Y Cajal (~ 1870) ; les synapses (dans les années 1930)

Modélisation formelle Mc Culloch & Pitt (1943) : 1er modèle du neurone formel

Hebb (1949) : règle d’apprentissage par renforcement de couplage synaptique

Premiers modèles informatiques ADALINE (Widrow-Hoff, 1960)

Perceptron (Rosenblatt, 1958-1962)

Analyse par Minsky et Papert (1969)

Nouveau connexionnisme

Hopfield (1982) : réseau bouclé

Perceptron Multi-Couche (1985)

« Reservoir computing » (2003)

Les réseaux de neurones profonds

« Spiking Neurons » networks

24/02/2016 4

Page 2: Apprentissage Supervisé e” (LINK) - AgroParisTech · 2018-03-22 · Topologie typique Flot des signaux Entrée : xk Couche d'entrée Couche cachée Couche de sortie Sortie : yk

Apprentissage de séparatrice non linéaire :

Les réseaux de neurones multi-couches

24/02/2016 5

Neural network application

ALVINN drives 70 mph on highways

Slide credit : T.Michell 24/02/2016 6

Neural network application

Slide credit : Andrew Ng.

24/02/2016 7

Composants et structure

d’un PMC

24/02/2016 8

Page 3: Apprentissage Supervisé e” (LINK) - AgroParisTech · 2018-03-22 · Topologie typique Flot des signaux Entrée : xk Couche d'entrée Couche cachée Couche de sortie Sortie : yk

Topologie typique

Flot des signaux

Entrée : xk

Couche d'entrée Couche de sortieCouche cachée

Sortie : yk

Sortie désirée : uk

Le perceptron multi-couche

24/02/2016 9

Pour chaque neurone :

wjk : poids de la connexion de la cellule j à la cellule k ak : activation de la cellule k g : fonction d’activation

g(a) = 11 + e− a

yl = g wjk φ jj= 0, d∑

⎝ ⎜

⎠ ⎟ = g(ak )

Fonction à base radiale

Fonction sigmoïde

Fonction à seuil

Fonction à rampe

Activation ai

Sortie zi

+1

+1

+1

g’(a) = g(a)(1-g(a))

Le Perceptron Multi-Couches : propagation

24/02/2016 10

Fonctions d’activation

24/02/2016 11

Exemple de réseau (simulateur JavaNNS)

24/02/2016 12

Page 4: Apprentissage Supervisé e” (LINK) - AgroParisTech · 2018-03-22 · Topologie typique Flot des signaux Entrée : xk Couche d'entrée Couche cachée Couche de sortie Sortie : yk

L’apprentissage

dans les Perceptrons Multi-Couches

24/02/2016 13

Calcul de poids

Entrée x1 Entrée x2 Sortie y

0 0 0

0 1 1

1 0 1

1 1 0

Calcul de la fonction XOR

x2

x1 !"!#

!$

!%

!&

!'

!( !)!*

y

i

wi xi

y

!!

"

"

Saurez-vous trouver les poids wi ?

24/02/2016 14

Objectif :

Algorithme (rétro-propagation de gradient) : descente de gradient

Algorithme itératif :

Cas hors-ligne (gradient total) :

où :

Cas en-ligne (gradient stochastique) :

w( t ) = w( t−1) − η∇ Ew(t )

wij (t) = wij (t −1)−η(t) 1m

∂RE (xk ,w)∂wijk=1

m

wij (t) = wij (t −1)−η(t) ∂RE(xk,w)∂wij

RE(xk,w) = [tk − f (xk ,w)]2

w * = argminw

1m

y(xl ; w) − u(xl )[ ]2

l=1

m

Le Perceptron Multi-Couches : apprentissage

24/02/2016 15

Descente de gradient

24/02/2016 16

Page 5: Apprentissage Supervisé e” (LINK) - AgroParisTech · 2018-03-22 · Topologie typique Flot des signaux Entrée : xk Couche d'entrée Couche cachée Couche de sortie Sortie : yk

Backprop and partial derivation

24/02/2016 17

Back-Prop •  Compute!gradient!of!examplegwise!loss!wrt!

parameters!!

•  Simply!applying!the!deriva8ve!chain!rule!wisely!

•  If*compuKng*the*loss(example,*parameters)*is*O(n)*computaKon,*then*so*is*compuKng*the*gradient*

61!

Backprop and partial derivation

Simple chain rule

24/02/2016 18

Simple Chain Rule

62!

Backprop and partial derivation

Multiple chain rule

24/02/2016 19

Multiple Paths Chain Rule

63!

Backprop and partial derivation

Multiple chain rule generalized

24/02/2016 20

Multiple Paths Chain Rule - General

…$

64!

Page 6: Apprentissage Supervisé e” (LINK) - AgroParisTech · 2018-03-22 · Topologie typique Flot des signaux Entrée : xk Couche d'entrée Couche cachée Couche de sortie Sortie : yk

Backprop and partial derivation

Multiple chain rule in flow graph

24/02/2016 21

Chain Rule in Flow Graph

…$

…$

…$

Flow!graph:!any!directed!acyclic!graph!!node!=!computa8on!result!!arc!=!computa8on!dependency!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!=!successors!of!!

65!

1. Evaluation de l’erreur Ej (ou E) due à chaque connexion :

Idée : calculer l’erreur sur la connexion wji en fct de l’erreur après la cellule j

Pour les cellules de la couche de sortie :

Pour les cellules d’une couche cachée :

∂ El

∂ wij

δk = ∂ El

∂ ak = g' (ak )

∂ El

∂ yk = g' (ak ) ⋅ uk(xl) − yk( )

δ j = ∂ El

∂ aj =

∂ El

∂ ak

∂ ak∂ ajk

∑ = δ k

∂ ak∂ zj

∂ zj∂ ajk

∑ = g' (aj ) ⋅ wjk δkk∑

∂ El

∂ wij

= ∂ El

∂ aj ∂ aj∂ wij

= δ j zi

PMC : la rétro-propagation de gradient

22

ai : activation de la cellule i

zi : sortie de la cellule i

δi : erreur attachée à la cellule i

w ij ji k yk

Cellule de sortie Cellule cachée

δk

a k a j

δj w jk

zjzi

PMC : la rétro-propagation de gradient

23 Master ISI / Cours ISI-3 – Réseaux de neurones artificiels

2. Modification des poids

On suppose gradient à pas (constant ou non ): η(t)

Si apprentissage stochastique (après présentation de chaque exemple)

Si apprentissage total (après présentation de l’ensemble des exemples)

Δwij = η(t) δ j yi

Δwij = η(t) δ jn zi

n

n=1

m

PMC : la rétro-propagation de gradient

24 Master ISI / Cours ISI-3 – Réseaux de neurones artificiels

j : neurone de sortie

Page 7: Apprentissage Supervisé e” (LINK) - AgroParisTech · 2018-03-22 · Topologie typique Flot des signaux Entrée : xk Couche d'entrée Couche cachée Couche de sortie Sortie : yk

1. Présentation d’un exemple parmi l’ensemble d’apprentissage

Séquentielle, aléatoire, en fonction d’un critère donné

2. Calcul de l’état du réseau

3. Calcul de l’erreur = fct(sortie - sortie désirée) (e.g. = (yl - ul)2)

4. Calcul des gradients

Par l’algorithme de rétro-propagation de gradient

5. Modification des poids synaptiques

6. Critère d’arrêt

Sur l’erreur. Nombre de présentation d’exemples, ...

7. Retour en 1

Le Perceptron Multi-Couches : apprentissage

24/02/2016 25

x

ai(x) = wjxj

j=1

d

∑ +w0

yi(x) = g(ai(x))

ys (x) = wjsyjj=1

k

∑ys(x)

wis

k neurones sur la couche cachée

. . .x1 x2 x3 xd

w1 w2 w3wd

yi(x)

x0

w0Biais

. . .y (x)1

Le PMC : passes avant et arrière (résumé)

24/02/2016 26

x

ys(x)

wis

. . . x 1 x 2 x 3 x d

w 1 w 2 w 3 w d

y i ( x )

x 0

w 0 B i a i s

. . . y ( x ) 1

δs = g' (as ) (us−ys )

δ j = g' (aj ) wjsδ scellules scouchesuivante

wis(t +1) = wis(t) − η(t)δ sai

wei (t +1) = wei(t) − η(t )δ iae

Le PMC : passes avant et arrière (résumé)

24/02/2016 27

Efficacité en apprentissage

En O(w) pour chaque passe d’apprentissage, w = nb de poids

Il faut typiquement plusieurs centaines de passes (voir plus loin)

Il faut typiquement recommencer plusieurs dizaines de fois un apprentissage en partant

avec différentes initialisations des poids

Efficacité en reconnaissance Possibilité de temps réel

PMC : La rétro-propagation de gradient

24/02/2016 28

Page 8: Apprentissage Supervisé e” (LINK) - AgroParisTech · 2018-03-22 · Topologie typique Flot des signaux Entrée : xk Couche d'entrée Couche cachée Couche de sortie Sortie : yk

Illustration

24/02/2016 29

Illustration

24/02/2016 30

Illustration

24/02/2016 31

Illustration

24/02/2016 32

Page 9: Apprentissage Supervisé e” (LINK) - AgroParisTech · 2018-03-22 · Topologie typique Flot des signaux Entrée : xk Couche d'entrée Couche cachée Couche de sortie Sortie : yk

Questions pratiques

24/02/2016 33

Questions

•  « Batch » ou « en-ligne » ?

•  Réglage du pas d’apprentissage -  Fixe

-  Variable : méthode du moment

-  Méthodes de 2ème ordre : calcul du Hessien, …

•  Critère d’arrêt ?

•  La « calibration » de la sortie

•  Codage de la couche de sortie ?

•  Quelle architecture ?

24/02/2016 34

Réglage du pas d’apprentissage

Techniques

Ajout d’un moment

Méthode de 2ème ordre Apprentissage(s) Reseau non lineaire a une couche

Reseau non lineaire a une couche (1)Introduction d’une fonction ⇥ non lineaire

On a donc Y = ⇥(WX), et les MC ne sont plus applicablesOn va appliquer une methode de descente de gradient ⇤ rappels !

Algorithme iteratif :On choisit un Wt=0 aleatoireBonne direction = celle ou le criterebaisseAvancer un peu, mais pas trop

Wt+1 ⇥ Wt � �dJ (W)

dW

����Wt

avec :W les parametres ; � : le pas ; dJ (W)

dW

���Wt

: la � bonne ⇥direction

[email protected] () Reseaux de Neurones 9 fevrier 2012 23 / 49

Apprentissage(s) Reseaux multicouches

Reseaux multicouches (6)

Remarques :On peut sommer les erreurs sur toute la base et retropropager uneseule fois :� mode Batch (plus rapide)Question du pas ... 2eme ordre ? Cf. cours gradientQuand stopper l’algorithme ? Attention au surapprentissage

[email protected] () Reseaux de Neurones 9 fevrier 2012 33 / 49

24/02/2016 35

La « calibration » de la sortie

Comment obtenir une probabilité en sortie ?

Une solution :

Utilisation d’un signal d’erreur par entropie croisée

24/02/2016 36

Page 10: Apprentissage Supervisé e” (LINK) - AgroParisTech · 2018-03-22 · Topologie typique Flot des signaux Entrée : xk Couche d'entrée Couche cachée Couche de sortie Sortie : yk

1 neurone de sortie

{0,1}

[0,1]

. . .x1 x2 x3 xd

w1 w2 w3wd

x0

w0Biais

. . .

Le codage de la couche de sortie

•  Erreur quadratique •  Probabilité [0,1] Critère entropique

24/02/2016 37

1 neurone de sortie

{0,1, …, c}

[0,1]

n (≤ c) neurones de sortie

1 neurone / classe

Code correcteur d’erreur

Exemple :

❏  Reconnaissance de caractères manuscrits

❏  Reconnaissance de locuteurs

. . .x1 x2 x3 xd

w1 w2 w3wd

yi(x)

x0

w0Biais

. . .y (x)1

x

y(x)

Le codage de la couche de sortie

24/02/2016 38

ECOC

Apprendreàdis+nguer26le1res

Codage

Sur5bits?

Sur10bits!

h1 h2 h3 h4 h5 h6 h7 h8 h9 h10

A 0 0 0 0 0 0 0 0 0 0 B 0 0 0 0 1 0 1 0 1 1 C 0 0 0 1 0 1 0 1 0 1

46

4

24/02/2016 39

ECOC

Onapprend10classifieursbinaires

Oncalculeh1(x),h2(x),h3(x),h4(x),h5(x),h6(x),h7(x),h8(x),h9(x),h10(x)

OndécodeH(x)parplusprochevoisin/aucodagedeA,B,C,…

h1 h2 h3

h4 h5 h6 h7 h8 h9 h10

A 0 0 0 0 0 0 0 0 0 0 B 0 0 0 0 1 0 1 0 1 1 C 0 0 0 1 0 1 0 1 0 1

24/02/2016 40

Page 11: Apprentissage Supervisé e” (LINK) - AgroParisTech · 2018-03-22 · Topologie typique Flot des signaux Entrée : xk Couche d'entrée Couche cachée Couche de sortie Sortie : yk

Critère d’arrêt

Optima locaux

Différence entre « batch » et « en-ligne »

Danger : le sur-apprentissage (« over-fitting »)

24/02/2016 41

Éviter le

Sur-apprentissage

24/02/2016 42

La régression et le sur-apprentissage

24/02/2016 43

Évaluation empirique

Le sur-apprentissage

• Courbespour1000exemples

• Etpour2000exemples?

24/02/2016 44

Page 12: Apprentissage Supervisé e” (LINK) - AgroParisTech · 2018-03-22 · Topologie typique Flot des signaux Entrée : xk Couche d'entrée Couche cachée Couche de sortie Sortie : yk

L’apprentissage

de représentations

24/02/2016 45

Cliquez et modifiez le titre

Analyse

Rôle des couches cachées

24/02/2016 46

Rôle de la couche cachée

24/02/2016 47

Rôle de la couche cachée

24/02/2016 48

Page 13: Apprentissage Supervisé e” (LINK) - AgroParisTech · 2018-03-22 · Topologie typique Flot des signaux Entrée : xk Couche d'entrée Couche cachée Couche de sortie Sortie : yk

[Le Cun et al., 1989, ...] (ATT Bell Labs : très forte équipe)

≈ 10000 exemples de chiffres manuscrits

Segmentés et redimensionnés sur matrice 16 x 16

Technique des poids partagés (“weight sharing”)

Technique du optimal brain damage

99% de reconnaissance correcte (sur l’ensemble d’apprentissage)

9% de rejet (pour reconnaissance humaine)

Application aux codes postaux (Zip codes)

24/02/2016 49

La base de données

24/02/2016 50

1234567890

Matrice 16 x 16 12 détecteursde traits (8 x 8)

12 détecteursde traits (4 x 4)

30 cellules

10 cellulesde sortie

Réseaux à convolution : Application aux codes postaux

24/02/2016 51

Exemples d’erreurs de prédiction

24/02/2016 52

Page 14: Apprentissage Supervisé e” (LINK) - AgroParisTech · 2018-03-22 · Topologie typique Flot des signaux Entrée : xk Couche d'entrée Couche cachée Couche de sortie Sortie : yk

Réseau connexionniste pour la reconnaissance de chiffres manuscrits

24/02/2016 53

Application aux codes postaux (Zip codes)

24/02/2016 54

1.  Méthode d’induction supervisée très générale

Très grand champ d’application. Famille de modèles très souple.

Certainement pas un modèle biologique

2.  Apprentissage demandant du soin

Choix de l’architecture

Apprentissage lent, sujet à minima locaux

3.  « Opacité »

Difficile d’interpréter les réseaux appris

Difficile de mettre de la connaissance a priori

A retenir

24/02/2016 55

Références bibliographiques

AntoineCORNUÉJOLSetLaurentMICLETAppren<ssagear<ficiel.ConceptsetalgorithmesEyrolles,2010

G.Dreyfusetal.Appren<ssagesta<s<que.Réseauxdeneurones.Cartestopologiques.MachinesàvecteurssupportEyrolles,2008.(Malgréle+tregénéral,vraimentdédiéauxRNs)

SimonHAYKINNeuralNetworks.Acomprehensivefounda<onPren+ceHall,1999

SimonHAYKINNeuralNetworksandLearningMachinesPren+ceHall,2009.(Reallydifferentfromthe1999’sone)

24/02/2016 56