• Aucun résultat trouvé

Réseaux de neurones

N/A
N/A
Protected

Academic year: 2022

Partager "Réseaux de neurones"

Copied!
14
0
0

Texte intégral

(1)

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)

(2)

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 non supervisée)

Perceptron multicouche (méthode supervisée)

Alex Net, GoogLeNet, Residual Network, etc.

I. Introduction

Avantages

fonctionne pour la prédiction de variables quantitatives et qualitatives

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

(3)

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 X

f

Fonction d’activation

z Sortie

x1 w1

x3 w3

Poids

Biais : b

Entrées

(4)

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 Couche

cachée 1

Couche cachée 2 Couche

d’entrée

Couche de sortie

(5)

III. Perceptron multicouche

Structure à une couche cachée

Entrée #1 Entrée #2 Entrée #3 Entrée #4

Sortie Couche

cachée Couche

d’entrée

Couche de sortie

III. Perceptron multicouche

Perceptron à une couche cachée

fS

Q

X

j=1

wj(2)fN

P

X

k=1

wjk(1)xk + w0(1)

!

+w0(2)

avec fN une sigmoïde

Approximation universelle

Pour toute fonction Φ assez régulière et pour toute précision ε, il existe un perceptron à une couche cachée avec fonction d’activation sigmoïde qui approche Φ avec une erreur au plus de ε.

(6)

IV. Apprentissage du perceptron à une couche cachée

Apprentissage des poids

à Q (le nombre de neurones de la couche) fixé, on cherche wn = arg min

w

1 n

n

X

i=1

(yiFw(xi))2

!

Principaux problèmes

pas de solution exacte : algorithme d’approximation, obtention d’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

Rbn(w) =

n

X

i=1

(yiFw(xi))2 =

n

X

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)∇wRbn(w(t))

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

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

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

(7)

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 la couche 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 Rbn(w).

On s’arrête quand on atteint une certaine évolution de l’erreur : Rbn(w(t))− Rbn(w(t + 1)).

(8)

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 de paramè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

(9)

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

y

V. 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

+ +

+

+

+

+

+

+ +

+ apprentissage

test

(10)

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

Rbn(w) +λkwk2

(11)

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

y

V. Apprentissage en pratique

Erreur selon λ

+

+

+ + + + + + +

2 4 6 8

0.0 0.1 0.2 0.3 0.4

- log10

(

l

)

erreur

+ +

+

+

+

+

+

+

+ apprentissage

test

(12)

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 couche 2. pénalisation du risque empirique

Rbn(w) +λkwk2

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

(13)

V. Apprentissage en pratique

Exemple avec Boston

4 5

20 40 60 80

size

RMSE

decay

0.001 0.01 0.1 0.5 1

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 une pénalisation de 1 : MSE ' 11.92

(14)

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 millions de paramètres à régler, 1 semaine de calculs sur deux GPU

erreur en reconnaissance d’image : 15%

GoogleNet (2014) : inception

erreur en reconnaissance d’image : 7%

Residual Network (2016) : 152 couches

erreur en reconnaissance d’image : 3%

Références

Documents relatifs

David Dupont BAC 40ans Cél Anne Dupont SUP 30ans Mar Pierre Durand BEP 40ans Mar Célia Durand BAC 30ans Mar Paul Durand BAC 20ans Cél..

• Multi Layer Perceptron et Backpropagation : Werbos 1974, Parker 1982, Le Cun 1985, Rumelhart et McClelland 1986 – Cartes auto-organisatrices de Kohonen (Finlande, 1982).

Des méthodes plus au moins approchées ont été employées, généralement ces méthodes utilisent des valeurs empiriques obtenues à partir des mesures

• Tester pour différentes tailles de réseaux le nombre de patterns qui sont appris par le réseau. • L’ordre d’apprentissage correspond-il à

Chaque couche contient un biais (neurone permettant d'intégrer le calcul du seuil S dans la somme pondérée, évitant de le faire manuellement).. Exemple de

Lors de la mise à jour avec un exemple, on a calculé et mis à jour les poids des connexions de la couche de sortie pour calculer l’erreur de la couche cachée.. On aurait pu calculer

Etape 2: Mise à jour du générateur Comme la partie aval (le discriminateur) est commune entre x real et x gan et figée, et que ces deux vecteurs ont les mêmes labels, la perte

Les conditions de ce calcul sont facilitées par la constance de la vitesse 'locale au foyer des courbes de vitesse II (y) pour toutes les valeurs de Il, et par suite, par la