Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 -...

68
Marco Pedersoli Cours 5 - Apprentissage Machine Séance 5: Entraînement ETS dep. de génie de la production automatisé Marco Pedersoli Cours Hiver 2018

Transcript of Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 -...

Page 1: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

Apprentissage MachineSéance 5:

EntraînementETS

dep. de génie de la production automatiséMarco Pedersoli

Cours Hiver 2018

Page 2: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

Appr. traditional vs. profondTraditional:● Fonction objectif convexe:

+ on utilise des outil d’optimisation bien étudiés et on à des garanties sur la qualité de la solution

- représentation limitée: soit fonction linéaire, soit transformations (noyeux), mais elles ne sont pas apprises

2

Profond:● Fonction objectif non-convexe:

- on n’as pas de garantie sur la qualité de la solution et il faut trouver de nouvelle techniques d’optimisation

+ représentation plus puissante: on peut apprendre une hiérarchie de représentations

Page 3: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 2 -

Phases de l’apprentissage● Entraînement:

■ on trouve les paramètres ■ appris avec une optimisation telle qu’on minimise une

fonction objective sur la base d’entrainement

● Validation: ■ soit , on trouve les Hyper-paramètres ■ paramètres non trouvés dans l’optimisation■ il faut utiliser une base de validation pour trouver leurs

valeurs optimales

● Évaluation: ■ soient et , on calcule la performance sur la base de

test

3

Entraînement

Validation

Sélection du Modèle

Evaluation

Paramètres

Paramètres et hyper-paramètres

Page 4: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

Défis de l’optimisation● Efficacité du calcul (Eff.)

○ beaucoup de données pour une bonne approx de f○ apprentissage (sub-) linear en nombre d’échantillons○ apprentissage local → algorithme du gradient○ comment réduire le coût de calcul du gradient!

● Qualité de la solution (Qlt.)○ f non convexe → pas de garanties sur la solution○ comment éviter des mauvais minima!

4

Page 5: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

Plan de la séance:● Estimation du gradient (Eff. Qlt.)● Coefficient d’apprentissage (Qlt. Eff.)● Momentum (Eff. Qlt.)● Algorithmes adaptatifs (Eff. Qlt.)● Initialisation de poids (Qlt. Eff.)● Régularisation (Qlt. Eff.)

5

Page 6: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 3 -

L’algorithme du gradient:

6

Page 7: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 3 -

Rétro Propagation• Apprentissage = Changer les poids synaptiques w afin de réduire E• Calculer le gradient de E sur w pour chaque couche• Utiliser la règle de chaîne (“chain rule”) de la dérivation• Propager l’erreur et calculer le gradient de E sur w pour chaque ‘boîte’

x y* Fnet

w

x y* F’

net

w

x y* F’

net

w

Page 8: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

L’algorithme du gradient

8

Page 9: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

L’algorithme du gradient

9

Pour chaque mise à jour de W il faut calculer le gradient sur tous les exemples!

Page 10: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

L’algorithme du gradient● Garantie de convergence à un minimum

global pour des fonctions objectif convexes● Minimum local pour fonctions objectif

non-convexes● Temps de calcul proportionnel au nombre

d'échantillons → très lent pour de grandes bases de données

10

Page 11: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

Estimation du gradient● Estimation de f à partir d’exemples:

○ Avec échantillons infinis (si el estimateur n’est pas biaisé) on obtient f

○ Comme on n’a pas échantillons infinis, il faut utiliser un ensemble de validation!

● Estimation du Gradient:○ On peut utiliser le vrai gradient (mais d’une estimation de f)○ On peut utiliser une estimation du gradient aussi!

11

Page 12: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

Gradient StochastiqueAu lieu d’utiliser tous les échantillons on estime le gradient avec un seul échantillon à la fois

12

source: wikipedia

Page 13: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

Estimation stochastique○ Estimation du gradient non biaisé :

■ Sélection d’échantillons au hasard pour éviter biais ■ Avec assez d'échantillons on obtiendra le vrai

gradient■ (Si on passe le mêmes exemples plusieur fois

l’estimation devient biaisé)

○ Plus de variance:■ Gradient + bruit■ Mais bruil = Régularisation

○ Solution avec du bruit:■ On utilise l’ensemble de validation pour trouver la

bonne solution■ Mais on réduit le coefficient d’apprentissage

13

source: wikidocs

Page 14: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

Compromis entre le vrai gradient et le gradient stochastique.Souvent on appelle le gradient en mini-lots aussi gradient stochastique

Gradient en mini-lots

14

Page 15: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

Comparison:Vrai gradient1

Tout l'entraîn.2

No

Moyenne

Grande

Basse

15

Approximation

un mini-lot

Oui3

Bonne4

Moyenne

Haute5

Mauvaise Approx.

un-exemple

Oui3

Moyenne4

No (ou Difficile)

Moyenne

lots mini-lots stochastiqueEstimation:

Mémoire:

Régularisation:

Solution:

Parallélisation:

Vitesse:1: Même si c’est le vrai gradient d'ensemble d'entraînement, c’est toujours une approximation du gradient de la distribution de données2: On peut calculer le gradient d’un exemple à la fois, donc c’est n’est pas nécessaire d’utiliser beaucoup de mémoire3: De fois le bruit introduit par la stochasticité peut aider à sortir de minimum locaux et donc trouver une meilleure solution4: Même si l’estimation du gradient est bruyant, si on diminue le coefficient d’apprentissage on peut arriver à une bonne solution 5: Avec des mini-lots on peut trouver un bon compromis entre tous le facteurs, mais il y à un nouveau hyper-paramètre, la taille du lot.

Page 16: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

Exemple en python

16

X = np.random.random((dim_in,n_samples))Y = np.random.random((dim_out,n_samples))

model = perceptron(dim_in, dim_out, lr = 0.1)

for e in range(100): Yest = model.forward(Xtr) E = loss.forward(Yest,Ytr) dy = loss._backward() model.update(dy) plot( E )

Gradient par lotsorder = np.range( Nsamples )for e in range(100): numpy.random.shuffle(order) E=[] for b in range(Nsamples/batch_size):

smp = order[ b*batch_size:(b+1)*batch_size ] Xtrb = Xtr[:,smp] Ytrb = Ytr[:,smp] Yest = model.forward(Xtrb) E.append( loss.forward(Yest,Ytrb) ) dy = loss._backward() model.update(dy)

plot( E.mean() )

Gradient par mini-lots

Page 17: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

Exemple en python

17

order = np.range( Nsamples )for e in range(100): numpy.random.shuffle(order) E=[] for b in range(Nsamples/batch_size):

smp = order[ b*batch_size:(b+1)*batch_size ] Xtrb = Xtr[:,smp] Ytrb = Ytr[:,smp] Yest = model.forward(Xtrb) E.append( loss.forward(Yest,Ytrb) ) dy = loss._backward() model.update(dy)

plot( E.mean() )

Page 18: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

Autres estimations du gradient○ Estimation basée sur des échantillons du poids○ L'espérance de la fonction objectif autour W donne un

estimation du gradient

18

Page 19: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

Estimation génétique (ou évolutive)○ Aussi avec des fonctionnes discrètes○ Estimation avec une grande variance →plus lent! ○ Simple parallélisation

19Source: OpenAi blog post

Evolution Strategies as a Scalable Alternative to Reinforcement Learning

Page 20: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

Plan de la séance:● Estimation du gradient● Coefficient d’apprentissage● Momentum● Algorithmes adaptatifs● Initialisation de poids● Régularisation

20

Page 21: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 3 -

L’algorithme du gradient:

21

Page 22: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

Coefficient d’apprentissage

● Coefficient d’apprentissage η trop grand: divergence

● Coefficient d’apprentissage η trop petit: apprentissage trop lent

● Trouver le bon η dans l’ensemble de validation

22Source: Convolutional Neural Networks, Stanford

Page 23: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

Coefficient d’apprentissage

23

Comment réduire le coeff. d’apprentissage:

● Échelon○ ex: chaque 10 epoques

η = η / 10

● Continue○ ex: η = η0 / (1+epoque)

● À convergence○ ex: si error < epsilon → η = η / 10

Source: https://github.com/FlorianMuellerklein/Identity-Mapping-ResNet-Lasagne

Page 24: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

Nouvelle méthode:

24

Gradient stochastique avec redémarrage à chaud :●● aide à éviter des minimum locaux● convergence plus rapide● on arrive à un meilleure solution

[I. Loshchilov & F. hutter, “SGDR: STOCHASTIC GRADIENT DESCENT WITH WARM RESTARTS”]

Page 25: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

Redémarrage à chaud

25

coefficient d’apprentissage:

Page 26: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

Avec un coefficient d’apprentissage trop grand l’apprentissage diverge!!!

26

Exemple en python

Page 27: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

Plan de la séance:● Estimation du gradient● Coefficient d’apprentissage● Momentum● Algorithmes adaptatifs● Initialisation de poids● Régularisation

27

Page 28: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

Gradient Normal Gradient avec momentum

Momentum:

28

Vidéos: https://www.youtube.com/watch?v=7HZk7kGk5bUhttps://www.youtube.com/watch?v=3NGiZKKjoEk

Page 29: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

Momentum:

29

Page 30: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

Momentum de Nesterov:

30Source: Convolutional Neural Networks, Stanford

Le momentum de Nesterov est une variante où le gradient est calculé après le changement de poids

Page 31: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

Accélère l’apprentissage en:● Réduisant l’oscillation pendant

l’apprentissage.● Accélérant l’apprentissage aux

endroits où la surface d’erreur est planaire.

● Décélérant l’apprentissage quand le signe de la dérivée de l’erreur change.

Désavantages:● Un paramètre de plus à régler ( ) ● Peut créer de nouvelle oscillations.

Momentum:

31

Page 32: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

Plan de la séance:● Estimation du gradient● Coefficient d’apprentissage● Momentum● Algorithmes adaptatifs● Initialisation de poids● Régularisation

32

Page 33: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

Adagrad● Idée: le coefficient d’apprentissage est

différent pour chaque dimension● Utile avec donnée épars (“sparse data”)● Le coefficient d’apprentissage est plus

grand pour les paramètres dont on n’as pas beaucoup d’observations

33

Page 34: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

Adagrad

34

● Le dénominateur devient de plus en plus grand jusqu’à n’avoir plus de changement du gradient

Page 35: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

RMSprop● Amélioration d’Adagrad: utilise une

moyenne décroissante (“decaying average”)

35

Page 36: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

ADAM● ADaptive Moment Estimation● Mélange entre momentum et estimation

adaptative du gradient

36

Page 37: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

Méthodes adaptatives ou non?

37

Page 38: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

Plan de la séance:● Estimation du gradient● Coefficient d’apprentissage● Momentum● Algorithmes adaptatifs● Initialisation de poids● Régularisation

38

Page 39: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 6 -

Initialisation du poids

39

● On travaille avec des problèmes non-convexes● On peut arriver à des mauvaises solutions avec la

méthode du gradient● L’initialisation de poids est donc très important● Arrêt anticipé adjoint un connaissance préalable basée

sur l’initialisation des poids

Page 40: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 6 -

Initialisation du poids

40

● Basée sur de simples heuristiques● Rupture de la symétrie● Initialisation avec avec des valeurs au hasard

échantillonnées d’une distribution Gaussienne ou Uniforme

● La norme de l’initialisation est limitée pour éviter l’explosion des gradients (surtout pour les réseaux récurrents)

Page 41: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 6 -

Initialisation des poids

41

● generally:● Glotor et. al:● Saxe et al.: initialisation orthonormale● He et al.: pour convolution● Mishkin and Matas: initialisation

orthonormale + normalisation de moyenne et variance de chaque couche

nombre d’entrées

nombre de sorties

Page 42: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 6 -

Init. basé sur des auto-encodeursPré-entraînement:(“Greedy Layer-wise training”) ● On entraîne chacune des couches individuellement de

manière non-supervisée avec un auto-encodeurs.

● On finalise l’apprentissage avec le système complet de manière supervisée.

42

Page 43: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 6 -

Init. basé sur des auto-encodeurs

● Réseau avec 3 couches

● Entrée avec 6 dimensions

● Classification de 3 catégories y={0,1,2}

43

Page 44: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 6 -

Init. basé sur des auto-encodeurs

44

Étape 1 : Entraîner le

premier auto-encodeur

Étape 2 : Entraîner le second

auto-encodeur

Page 45: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 6 -

Étape 4 : Entraîner de manière

supervisée tout le réseau(fine tuning)

Init. basé sur des auto-encodeurs

Page 46: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 6 -46

Exemple en python Perceptron Réseau à 3 couches

Page 47: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

Plan de la séance:● Estimation du gradient● Coefficient d’apprentissage● Momentum● Algorithmes adaptatifs● Initialisation de poids● Régularisation

47

Page 48: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 2 -

Régularisation● Contraintes sur l'espace de recherche pour

choisir des bonnes soluciones● Une façon d'ajouter de la connaissance à

priori sur notre modèle● Autre manière pour réduire la variance (et

donc augmenter le biais)

48

Page 49: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 2 -

Sur-apprentissage

49

Page 50: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 2 -

Régularisation

50

Page 51: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 2 -

Régularisation● Arrêt anticipé (“Early stopping”)● Pénalité sur le poids synaptiques● Partage de paramètres● Augmentation des données● Apprentissage semi-supervisé et multitâche● Dropout et Normalisation du lot

51

Page 52: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 2 -

Arrêt anticipé● Dans les méthodes itératives, c’est la façon la plus simple

de trouver un équilibre entre biais et variance● On conditionne le poids à

ne s'éloigner trop de la solution initiale

● Le nombre d'itérations est donc un hyper-paramètre

● À la fin, refaire l'entraînementavec aussi la validation

52

Page 53: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 2 -

Régularisation● Pénalité sur le poids synaptiques

● Pas de pénalité sur le seuil ● Pour simplicité on assume

la même régularisation surchaque couche

53

Page 54: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 2 -

Régularisation L2

“Weight decay”

54

Page 55: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 2 -

Régularisation L1

“Sparsity inducing”

55

Page 56: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 2 -

ComparativeL2 L1

56

Page 57: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 2 -

Combinaison L1 + L2

● Induire régularisation par groupes● Exploiter la structure de données

○ L’entré est une combinaison de K modalités différentes et on veut avoir une représentation éparse

57

Page 58: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 2 -

Autres normes● L0 conte combien de dimension sont actives,

mais non différentiable● L1 est une relaxation de L0

● Lmax pour avoir des valeurs proches

● aussi différences entre poids, etc.

58

Page 59: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 2 -

Partage de paramètres (“parameters sharing”)● Certaines paramètres sont connectés à d’autres et il

doivent avoir la même valeur● Deux façons: dur et mou● Dur: le paramètres sont exactement égales● Mou: dans la loss il y a une pénalité qui force les

paramètre á être similaires● Ex: réseau convolutif ou récurrent

59

Page 60: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 2 -

Augmentation de données● Transformation invariante à

l’espace d’entrée● Images:

○ Retournement de l’image (“flip”)○ Changement de couleurs○ Changement d’échelle○ Introduction de bruit

● Son:○ Changement de volume○ Changement de ton○ etc.

60Cats vs Dogs - WordPress.com

Page 61: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 2 -

Apprentissage semi-supervisé● On a des exemples avec des annotations

et d’autres sans annotations● Utiliser les exemples sans annotations

comme une forme de régularisation● Ex: on apprend un classifieur avec les

exemples annotés et on l’utilise pour annoter les autres exemples

61

Page 62: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 2 -

Apprentissage multitâche● On apprend plusieur tâches en même

temps● Chaque tâche fait de régularisation aux

autres● Les tâches doivent être connectées● Ex: on apprend un réseau pour faire de la

classification et détection d’objets62

Page 63: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 2 -

Modèle d’ensemble(“Model Ensembling”)● Construire plusieurs modèles qui votent● Plusieurs manières de combiner les modèles

○ “Bagging”: somme de chaque sortie○ Somme pondéré: on apprend l’importance de chaque

réseau (soit statiquement ou dynamiquement avec un autre réseau)

● Normalement on change l’ensemble d'entraînement● Dans l’apprentissage profond on peut changer d’autres

hyper-paramètres: coeff. d’appr., init. de poids, etc.63

Page 64: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 2 -

Dropout● Ignore des neurones ● À chaque itération● Pendant propagation

directe et retroprop.● Neurones choisi au hasard avec probabilité p● Introduir bruit à chaque layer (augmentation de donne est

seulement à l’entrée)● Eviter la coadaptation de neurones: chaque neurone doit

fonctionner indépendamment des autres64

Page 65: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 2 -

Dropout● Pendant l’évaluation on utilise tous les neurones (on veut

une sortie déterministe) mais divisée par un facteur p● Plus d’itérations pour arriver à la convergence, mais

chaque itération est plus rapide (manque de neurones)● Autre vision:

○ Pendant l’apprentissage on apprend 2H réseaux différentes, H est le nombre de neurones

○ Pendant l’évaluation on utilise un seul réseau, mais on peut penser qui est l’ensemble de 2H

65

Page 66: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 2 -

Normalisation du lot (“batch normalisation”)

● Normalisation de chaque couche afin que la sortie a moyenne 0 et écart type 1● Normalement on normalise l’entrée du

réseau, avec la normalisation du lot on fait ça pour chaque couche

● Avantages:○ L’apprentissage devient plus rapide○ On peut apprendre de tâches plus

difficiles et des réseau plus profondes○ L’initialisation des poids est moins

important

66

Page 67: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 2 -

Entraînement des réseaux de neurones (profonds)● La méthode du gradient stochastique avec

retro-propagation marche très bien, mais● Il y a beaucoup de triches et paramètres à ajuster

○ Coefficient d’apprentissage et taille du lot○ Initialisation des poids○ Techniques de régularisation○ Architecture du réseau

67

Page 68: Apprentissage Machine Séance 5...Régularisation (Qlt. Eff.) 5 Marco Pedersoli Cours 3 - L’algorithme du gradient: 6 Marco Pedersoli Cours 3 - Rétro Propagation •Apprentissage

Marco Pedersoli Cours 5 -

Prochaine séance:● Réseaux convolutifs● Convolution 1d, 2d et 3d● Généralisation● Pooling● Améliorations et architectures

68