réseaux de neurones - julie scholler

14
R ÉSEAUX DE NEURONES Julie Scholler mars 2019 M Éc E n I. Introduction Réseaux de neurones Idée initiale : simuler le cerveau humain Historique : 1940’ notion initiale, 1950’-1960’ perceptron de Rosenblatt, 1980’ essor, 1990’ industrialisation, 2000’-2010’ nouvel essor avec le deep learning Diversité : techniques descriptives et prédictives (classification et régression) Réseaux de neurones formels ou artificiels méthodes d’apprentissage supervisées et non supervisées développées en analogie avec le cerveau combinaison (réseau) plus ou moins complexe d’objets élémentaires (neurones formels)

Upload: others

Post on 23-Jun-2022

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Réseaux de neurones - Julie Scholler

RÉSEAUX DE NEURONES

Julie Scholler

mars 2019

MÉcEn

I. Introduction

Réseaux de neurones

• Idée initiale : simuler le cerveau humain

• Historique : 1940’ notion initiale, 1950’-1960’ perceptron deRosenblatt, 1980’ essor, 1990’ industrialisation,2000’-2010’ nouvel essor avec le deep learning

• Diversité : techniques descriptives et prédictives (classificationet régression)

Réseaux de neurones formels ou artificiels• méthodes d’apprentissage supervisées et non supervisées

développées en analogie avec le cerveau• combinaison (réseau) plus ou moins complexe d’objets

élémentaires (neurones formels)

Page 2: Réseaux de neurones - Julie Scholler

I. Introduction

Diversité

Un réseau de neurones est défini par• sa structure• son type de neurone.

Exemples

• Carte auto-organisée, carte de Kohonen (méthode nonsupervisée)• Perceptron multicouche (méthode supervisée)• Alex Net, GoogLeNet, Residual Network, etc.

I. Introduction

Avantages

• fonctionne pour la prédiction de variables quantitatives etqualitatives• méthode non paramétrique• ils peuvent approcher n’importe quelle fonction (assez régulière)

Points faibles• difficile à entraîner ; puissance informatique requise,

convergence vers une solution non forcément optimale• risque de surapprentissage• aspect boîte noire

Page 3: Réseaux de neurones - Julie Scholler

II. Neurone

Neurone naturel

Par BruceBlaus - https ://commons.wikimedia.org/w/index.php ?curid=28761830

II. Neurone

Neurone formel

• signaux d’entrée• fonction de combinaison des signaux faisant intervenir des poids• fonction de transfert ou d’activation (de seuil, linéaire,

sigmoïde, etc.)• signal de sortie

x2 w2∑

f

Fonctiond’activation

zSortie

x1 w1

x3 w3

Poids

Biais : b

Entrées

Page 4: Réseaux de neurones - Julie Scholler

III. Perceptron multicouche

Couches• une couche d’entrée (valeurs X )• une couche de sortie (valeurs Y )• une ou plusieurs couches cachées

Caractéristiques

• pas de connexion entre les neurones d’une même couche• connexions entre les neurones de deux couches successives

(feedforward)

III. Perceptron multicouche

Structure à deux couches cachées

Entrée #1

Entrée #2

Entrée #3

Entrée #4

Sortie

Couchecachée 1

Couchecachée 2

Couched’entrée

Couchede sortie

Page 5: Réseaux de neurones - Julie Scholler

III. Perceptron multicouche

Structure à une couche cachée

Entrée #1

Entrée #2

Entrée #3

Entrée #4

Sortie

Couchecachée

Couched’entrée

Couchede sortie

III. Perceptron multicouche

Perceptron à une couche cachée

fS

Q∑j=1

w (2)j fN

( P∑k=1

w (1)jk xk + w (1)

0

)+ w (2)

0

avec fN une sigmoïde

Approximation universellePour toute fonction Φ assez régulière et pour toute précision ε, ilexiste un perceptron à une couche cachée avec fonction d’activationsigmoïde qui approche Φ avec une erreur au plus de ε.

Page 6: Réseaux de neurones - Julie Scholler

IV. Apprentissage du perceptron à une couche cachée

Apprentissage des poids

à Q (le nombre de neurones de la couche) fixé, on cherche

wn = arg minw

(1n

n∑i=1

(yi − Fw (xi ))2)

Principaux problèmes

• pas de solution exacte : algorithme d’approximation, obtentiond’un minimum local• risque de surapprentissage : plus le nombre de neurones est

grand, plus le perceptron est flexible

IV. Apprentissage du perceptron à une couche cachée

Optimisation par descente de gradient

R̂n(w) =n∑

i=1(yi − Fw (xi ))2 =

n∑i=1

Ei (w)

Méthode• Initialisation des poids w(0) : aléatoirement ou selon un a priori• Approche batch : pour t = 1, . . .T

w(t + 1) = w(t)− η(t)∇wR̂n(w(t))

• Approche stochastique : pour t = 1, . . .T , on choisitaléatoirement un individu et on met à jour

w(t + 1) = w(t)− η(t)∇wE (w(t))

• η(t) : taux d’apprentissage fixe ou évolutif

Page 7: Réseaux de neurones - Julie Scholler

IV. Apprentissage du perceptron à une couche cachée

Principe de rétropropagation du gradient

• méthode rapide pour obtenir le gradient

Deux étapes

• Étape forward : calcul des valeurs des différents neurones, de lacouche d’entrée vers la couche de sortie• Étape backward : calcul des gradients partiels par rapport aux

poids, de la couche de sortie vers la couche d’entrée

V. Apprentissage en pratique

Apprentissage en pratique

Données en entrée• numériques• normalisées ou standardisées entre 0 et 1

Choix des poids initiaux

• Poids choisis aléatoirement selon N(0; 1√

P

)ou N

(0; 1√

Q

)• R : dans nnet : poids choisis aléatoirement selon U([−0.5; 0.5])

Choix de l’arrêt de l’apprentissage

• On se fixe un T .• On s’arrête quand on atteint une certaine erreur R̂n(w).• On s’arrête quand on atteint une certaine évolution de l’erreur :R̂n(w(t))− R̂n(w(t + 1)).

Page 8: Réseaux de neurones - Julie Scholler

V. Apprentissage en pratique

Stratégie pour éviter le surapprentissage

1. bien choisir Q le nombre de neurones de la couche• validation croisée• si Q est très grand, utiliser une partie des données pour

contrôler l’erreur et stopper la descente de gradient• en pratique, on considère qu’il faut un échantillon

d’apprentissage au moins 10 fois plus grand que le nombre deparamètres à estimer

V. Apprentissage en pratique

Exemple d’apprentissage de x 7→ sin(2πx)

+

+

+++

+

+++

+

++

+

+

+

0.2 0.4 0.6 0.8

-1.0

-0.5

0.0

0.5

1.0

x

y

Page 9: Réseaux de neurones - Julie Scholler

V. Apprentissage en pratique

Différentes valeurs de Q

+

+

+++

+

+++

+

++

+

+

+

Q = 1

x

y

+

+

+++

+

+++

+

++

+

+

+

Q = 2

x

y

+

+

+++

+

+++

+

++

+

+

+

Q = 3

x

y

+

+

+++

+

+++

+

++

+

+

+

Q = 4

x

y

+

+

+++

+

+++

+

++

+

+

+

Q = 5

x

y

+

+

+++

+

+++

+

++

+

+

+

Q = 6

x

y

+

+

+++

+

+++

+

++

+

+

+

Q = 7

x

y

+

+

+++

+

+++

+

++

+

+

+

Q = 8

x

y

+

+

+++

+

+++

+

++

+

+

+

Q = 9

x

y

+

+

+++

+

+++

+

++

+

+

+

Q = 10

x

yV. Apprentissage en pratique

Erreurs selon Q

+ + + + + + + + + +

2 4 6 8 10

0.00

0.05

0.10

0.15

0.20

0.25

Q

erreur

+ +

++

+

+

+

+ +

+

apprentissagetest

Page 10: Réseaux de neurones - Julie Scholler

V. Apprentissage en pratique

Choix de Q par validation croisée

2 4 6 8 10

0.10

0.11

0.12

0.13

0.14

0.15

0.16

Q

erreur

V. Apprentissage en pratique

Stratégie pour éviter le surapprentissage

1. bien choisir Q le nombre de neurones de la couche

2. pénalisation du risque empirique

R̂n(w) + λ‖w‖2

Page 11: Réseaux de neurones - Julie Scholler

V. Apprentissage en pratique

Choix de λ pour Q fixé à 10

+

+

+++

+

+++

+

++

+

+

+

0.1

x

y

+

+

+++

+

+++

+

++

+

+

+

0.01

x

y

+

+

+++

+

+++

+

++

+

+

+

0.001

x

y

+

+

+++

+

+++

+

++

+

+

+

1e-04

x

y

+

+

+++

+

+++

+

++

+

+

+

1e-05

x

y

+

+

+++

+

+++

+

++

+

+

+

1e-06

x

y

+

+

++++

++ +

+

++

+

+

+

1e-07

x

y

+

+

+++

+

+++

+

++

+

+

+

1e-08

x

y+

+

+++

+

+++

+

++

+

+

+

1e-09

x

y

+

+

++++

++ +

+

++

+

+

+

sans régularisation

x

yV. Apprentissage en pratique

Erreur selon λ

+

++ + + + + + +

2 4 6 8

0.0

0.1

0.2

0.3

0.4

- log10(l)

erreur + +

++

+

+

+

+

+

apprentissagetest

Page 12: Réseaux de neurones - Julie Scholler

V. Apprentissage en pratique

Choix de λ par validation croisée

2 4 6 8

0.10

0.12

0.14

0.16

0.18

0.20

0.22

- log10(l)

erreur

V. Apprentissage en pratique

Stratégie pour éviter le surapprentissage

1. bien choisir Q le nombre de neurones de la couche2. pénalisation du risque empirique

R̂n(w) + λ‖w‖2

3. injection de bruit : modification des données en entrée durantl’entrainement

Page 13: Réseaux de neurones - Julie Scholler

V. Apprentissage en pratique

Exemple avec Boston

4

5

20 40 60 80size

RMSE

decay0.0010.010.10.51

V. Apprentissage en pratique

Exemple avec Boston

Différentes méthodes• Random Forest avec 10 variables par split : MSE ' 13.77

• Boosting de 300 arbres de 5 de profondeur avec pénalisation à0.05 : MSE ' 11.20

• Perceptron à une couche cachée de 30 neurones et unepénalisation de 1 : MSE ' 11.92

Page 14: Réseaux de neurones - Julie Scholler

VI. Deep Learning

Deep Learning

• réseaux de neurones à architecture profonde (dès 3 couches)• nécessite beaucoup d’exemples d’apprentissage• temps d’apprentissage important

Historique

• dès les années 1990’• industrialisation : 2000’• révolution du deep learning : 2010’

Outils• TensorFlow• Keras

VI. Deep Learning

Applications

• médecine, santé• reconnaissance d’image• reconnaissance vocale• traduction automatique

Exemples en reconnaissance d’image

• AlexNet (2012) : réseau convolutif, 8 couches, 60 millionsde paramètres à régler, 1 semaine de calculssur deux GPUerreur en reconnaissance d’image : 15%

• GoogleNet (2014) : inceptionerreur en reconnaissance d’image : 7%

• Residual Network (2016) : 152 coucheserreur en reconnaissance d’image : 3%