Intelligence Artificielle - Apprentissage Automatique ...

49
Intelligence Artificielle Apprentissage Automatique Numérique Emmanuel ADAM Université Polytechnique des Hauts-De-France UPHF/INSA HdF E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 1 / 49

Transcript of Intelligence Artificielle - Apprentissage Automatique ...

Page 1: Intelligence Artificielle - Apprentissage Automatique ...

Intelligence ArtificielleApprentissage Automatique Numérique

Emmanuel ADAM

Université Polytechnique des Hauts-De-France

UPHF/INSA HdF

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 1 / 49

Page 2: Intelligence Artificielle - Apprentissage Automatique ...

Plan

1 Réseaux de neuronesHistoriqueLe Neurone FormelLes types de réseaux de neuronesApprentissage supervisé : estimer son erreurRéseau de neurones : Le BiasRéseau de neurones : la couche cachéeLa descente de gradiantsremontée des correctionstest & validationréseaux convolutifs, deep-learningCarte Auto-Organisatrice

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 2 / 49

Page 3: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones Historique

Réseaux de neurones

HistoriqueRéponse aux manques de modèles du monde physique1943, premier modèle de neurones formels par deuxbio-physiciens de Chicago : McCulloch & Pitts1949, règle de Hebb : formulation du mécanismed’apprentissage, sous la forme d’une règle de modification desconnexions synaptiques.1958, premier réseau de neurone artificiel (RNA), lePerceptron de Rosenblatt

une couche ‘perceptive’ de neurones d’entréeune couche ‘décisionnelle’ de neurones de sortieCe réseau parvient à apprendre à identifier des formes simpleset à calculer certaines fonctions logiques.

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 3 / 49

Page 4: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones Historique

Réseaux de neurones

Historique1969, critique par Minsky & Papert : impossibilité derésoudre le pb de XOR (Ou exclusif)1982 :

Hopfied propose les RNA (Réseaux de Neurones Artificiels)récurrents (‘feed-back’) : modélisation de processus mnésiquesWerbos initie les réseaux multicouche MLP (Multi-layerPercepton) avec rétro-propagation des erreurs.

1986, Rumelhart propose/finalise les MLP2005, reprise des MLP sous le thème deep-learning

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 4 / 49

Page 5: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones Le Neurone Formel

Réseaux de neurones : : Neurone formel

Neurone FormelExemple de neurones formel avec 5 éléments dans la couche d’entrée,composée de 5 synapses applicant un coefficient multiplicateur au signauxreçus. Une sommation, puis une comparaison à un seuil Θ (ici = 1) sonteffectuées. 1 seul élément fait partie de la couche de sortie dans cet exemple.

1

0

1

0

1

1.5

−3

0.7

1.3

−1

∑> 1 ? 1

Entrée Synapses SommationComparaison Sortie

1.5

0

0.7

0

-1

1.2 1

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 5 / 49

Page 6: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones Le Neurone Formel

Réseaux de neurones : : Neurone Formel

Eléments de définitionUn neurone formel est composé :

d’entrées xi

de poids wi

d’une somme pondérée h =∑

(wj .xj)d’un seuil d’activation θd’une fonction d’activation définissant la sortie y = f (h − θ)

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 6 / 49

Page 7: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones Le Neurone Formel

Réseaux de neurones : : Neurone Formel

Eléments de définitionLa fonction d’activation y = f (x) peutêtre (entres autres) :

à seuil :

f (x) ={0 si x < 0.5,1 sinon

linéaire par morceaux :

f (x) =

0 si x < 0,x si 0 6 x 6 1,1 si x > 1

sigmoïde :f (x) = 1

1 + e−a.(x− 12 )

’a’ jouant sur l’inclinaison de la pente

Courbes

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 7 / 49

Page 8: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones Les types de réseaux de neurones

Réseaux de neurones : : RNA

RNA : Eléments de définitionUn RNA (ou ANN (Artificial Neural Network)) est un ensemble deneurones formels fonctionnant en parallèle

en MLPune couche(layer) d’entrée, une couche de sortie et une.descouche.s ‘cachée.s’chaque neurone d’une couche est connecté à tous les neuronesde la couche suivante

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 8 / 49

Page 9: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones Les types de réseaux de neurones

Types de réseaux 1/3

RNA à architecture Feed-ForwardApprentissage supervisé selon la règle de correction de l’erreurPerceptron

Perceptron monocouche : reconnaissance de forme, opérationslogiques simples. Pas de pb linéairement séparablePerceptron MultiCouches (PMC) : MLP, peut résoudre les pbslinéairement séparable et des opérations logiques pluscomplexes

Réseaux Convolutifs : l’entrée est décomposée en parties(pouvant se chevaucher). une couche ’champ réceptif’ estcomposée de groupes de neurones dédiés à ces parties. Unecouche de pooling est constituée de neurones qui agrègents lessorties du champs receptif.

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 9 / 49

Page 10: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones Les types de réseaux de neurones

Types de réseaux 1/3

RNA à architecture Feed-ForwardRéseaux Convolutifs : le champ receptif est composé d’autantde couches que de filtres. Possibilité d’enchaîner des blocs"champs-pooling"). La sortie du dernier bloc"champs-pooling" est dirigée vers un réseaux de neuronesprofond

Nicolas Thome, CNAM

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 10 / 49

Page 11: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones Les types de réseaux de neurones

Types de réseaux 2/3

RNA à architecture Feed-BackCartes (réseaux) de Kohonen :utilisé pour la classification. Apprentissage non supervisé.SOM : Self-Organising Map

. . .

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 11 / 49

Page 12: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones Les types de réseaux de neurones

Types de réseaux 3/3

Exemples d’architectures.http://www.sm.u-bordeaux2.fr/~corsini/Cours/HeVeA/rna.html

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 12 / 49

Page 13: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones Les types de réseaux de neurones

Réseaux de neurones : : Types d’apprentissage

Types d’apprentissageSupervisé :le réseau s’adapte par comparaison entre son résultat et la réponseattendue. Le réseau se modifie jusqu’à un taux d’erreur satisfaisant.

Le renforcement :le réseau estime son erreur. Il tente de maximiser un index deperformance fourni, appelé signal de renforcement. Le système estcapable, de savoir si la réponse qu’il fournit est correcte ou non, mais ilne connaît pas la bonne réponse.

Non-supervisé (ou auto-organisationnel) :basé sur des probabilités. Le réseau s’adapte en fonction des régularitésstatistiques de l’entrée et détermine des catégories en leur attribuant eten optimisant une valeur de qualité.

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 13 / 49

Page 14: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones Apprentissage supervisé : estimer son erreur

Calcul de l’erreur

Erreur de prédictionsEn supervisé, le réseau reçoit un ensemble de couples(exemple, sortie attendue).Il doit s’adapter pour réduire la marge entre les sortiesproduites et les sorties attendues.La perte (Loss) est souvent calculée ainsi :Loss = 1

n∑

i (y Ii − yi )2

avec n = nb d’exemples, y I les sorties attendues (Idéales), y les sortiescalculées

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 14 / 49

Page 15: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones Apprentissage supervisé : estimer son erreur

Calcul de l’erreur

Erreur de prédictionsExemple, supposons que les sorties attendues y I et calculées ysoient dans ces vecteurs :

y I =

1000

et y =

0.80.20.10.7

la perte est alors :Loss = 1

4 × ((1− 0.8)2 + (0− 0.2)2 + (0− 0.1)2 + (0− 0.7)2)

Loss = 0.145

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 15 / 49

Page 16: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones Réseau de neurones : Le Bias

Réseau de Neurones : le Bias

La structure erronée d’un NN pour le ETL’entrée d’un MLP comporte autant de neurones que la dimension d’unexemple + 1

Définissons un réseau qui représente le ET logique :

x0 x1 y0 0 00 1 01 0 01 1 1

x0

x1w0w1

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 16 / 49

Page 17: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones Réseau de neurones : Le Bias

Apprentissage Supervisé : le Bias

La structure erronée d’un NN pour le ETPour le ET logique, le réseau doit viser :f (w0 × 0 + w1 × 0) = 0f (w0 × 0 + w1 × 1) = 0f (w0 × 1 + w1 × 0) = 0f (w0 × 1 + w1 × 1) = 1avec f la fonction d’activation tq lim

x→1f (x) = 1 et lim

x→0f (x) = 0

x0

x1f (w0.x0 + w1.x1)w0

w1

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 17 / 49

Page 18: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones Réseau de neurones : Le Bias

Apprentissage Supervisé : le Bias

La structure erronée d’un NN pour le ETPour le ET logique, le réseau doit donc respecter idéalement :(w0 × 0 + w1 × 0)↘ 0⇐⇒ 0↘ 0→ ok(w0 × 0 + w1 × 1)↘ 0⇐⇒ w1 ↘ 0(w0 × 1 + w1 × 0)↘ 0⇐⇒ w0 ↘ 0(w0 × 1 + w1 × 1)↗ 1⇐⇒ (w0 + w1)↗ 1 → pas de solution parfaite !

choix de f (x) = 11 + e−10.(x− 1

2 )

calcul de l’erreur pour w1 = 0.5,w2 = 0.5loss = 1/4× ((0− f (0))2 + (−f (0.5))2 + (−f (0.5))2 + (1− f (1))2))

loss= 1/4× (0.00662 + 0.52 + 0.52 + (1− 0.9933)2) ≈ 0.125calcul de l’erreur pour w1 = 0.8,w2 = 0.2loss= 1/4× (0.00662 + 0.952 + 0.052 + (1− 0.9933)2) ≈ 0.227avec 2 neurones en entrée, au mieux, l’erreur est de 0.019 ! !

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 18 / 49

Page 19: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones Réseau de neurones : Le Bias

Apprentissage Supervisé : le Bias

La structure erronée d’un NN pour le ETavec 2 neurones en entrée, au mieux, l’erreur est de 0.019 ! !cela arrive lorsque x0 = 0.33 et x1 = 0.34

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 19 / 49

Page 20: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones Réseau de neurones : Le Bias

Apprentissage Supervisé : le Bias

La structure impossible d’un NN pour le NON

Définissons un réseau qui représente le NON logique :x0 y0 11 0

il faut viser : 0× w0 ↗ 1 donc 0↗ 1et : w0 × 1↘ 0 donc w0 ↘ 0impossible ! ! ! L’erreur sera toujours ≥ 0.5 ! !

x0 y0w0

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 20 / 49

Page 21: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones Réseau de neurones : Le Bias

Apprentissage Supervisé : le Bias

La structure d’un NN pour le NON avec BIASSolution : ajouter un neurone en entrée bias (initialisé à 1)gràce au bias, il faut viser :(0× w0 + 1× wbias)↗ 1 et (1× w0 + 0× wbias)↘ 0donc wbias ↗ 1 et w0 ↘ 0une infinité de solutions ! ! !Prenons wbias = 2 et w0 = −2,(x0 = 0)⇒ f (wbias) ≈ 0.999 et (x0 = 1)⇒ f (w0) ≈ 1.10−11

loss ≈ 4.10−14 seulement ! ! (0.000000000000014)

x0

bias

y0w0wbias

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 21 / 49

Page 22: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones Réseau de neurones : Le Bias

Apprentissage Supervisé : le Bias

La structure d’un NN pour le ET avec BIASAvec un BIAS, le réseau doit respecter :f (w0 × 0 + w1 × 0 + wbias) = 0f (w0 × 0 + w1 × 1 + wbias) = 0f (w0 × 1 + w1 × 0 + wbias) = 0f (w0 × 1 + w1 × 1 + wbias) = 1

x0

x1

bias

f (. . . )w0w1

wbias

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 22 / 49

Page 23: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones Réseau de neurones : Le Bias

Apprentissage Supervisé : le Bias

La structure d’un NN pour le ET avec BIASAvec un BIAS, il faut viser :(wbias)↘ 0(w1 + wbias)↘ 0(w0 + wbias)↘ 0(w0 + w1 + wbias)↗ 1une infinité de solutionsexemple avec wbias = −1,w1 = 1,w2 = 1 :f (−1) = 3.10−7, f (0) = 6.10−3, f (1) = 0.99loss ≈ 0.00003 seulement

x0

x1

bias

f (. . . )w0w1

wbias

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 23 / 49

Page 24: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones Réseau de neurones : Le Bias

Apprentissage Supervisé : le Bias

La structure d’un NN pour le ET avec BIASAvec wbias = −1,w1 = 1,w2 = 1 :f (−1) = 3.10−7, f (0) = 6.10−3, f (1) = 0.99loss ≈ 0.00003 seulement

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 24 / 49

Page 25: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones Réseau de neurones : la couche cachée

Réseau de neurones : la couche cachée

La structure erronée d’un NN pour le OU-Exclusif

Définissons un réseau qui représente le OU exclusif :

x0 x1 y0 0 00 1 11 0 11 1 0

En utilisant le bias, on peut avoir la forme ci-dessous.

x0

x1

bias

f (. . . )w0w1

wbias

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 25 / 49

Page 26: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones Réseau de neurones : la couche cachée

Réseau de neurones : la couche cachée

La structure erronée d’un NN pour le OU-ExclusifSans couche cachée, il faut viser :(wbias)↘ 0(w1 + wbias)↗ 1(w0 + wbias)↗ 1(w0 + w1 + wbias)↘ 0Impossibilité ! =⇒ introduire une couche cachée

i0

i1

bias0

h0

h1

bias1

o0w0h0

w0h1

w1h0

w1h1

wb0h0

wb0h1

w0o0

w1o0

wb1o0

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 26 / 49

Page 27: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones Réseau de neurones : la couche cachée

Réseau de neurones : la couche cachée

La structure erronée d’un NN pour le OU-ExclusifAvec cette couche intermédiaire, il faut viser :(0)↘ 0(w1o0 .f (w1h1 + wb0h1) + w0o0 .f (w1h0 + wb0h0) + wb1o0)↗ 1(w1o0 .f (w0h1 + wb0h1) + w0o0 .f (w0h0 + wb0h0) + wb1o0)↗ 1(w1o0 .f (w1h1 + w0h1 + wb0h1) + w0o0 .f (w1h0 + w0h0 + wb0h0) + wb1o0)↘ 0Beaucoup plus de libertées.

i0

i1

b0

h0

h1

b1

o0w0h0

w0h1

w1h0

w1h1

wb0h0

wb0h1

w0o0

w1o0

wb1o0

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 27 / 49

Page 28: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones Réseau de neurones : la couche cachée

Réseau de neurones : la couche cachée

La structure erronée d’un NN pour le OU-ExclusifOn choisit h1 pour représenter le ET : w1h1 ← 1;w0h1 ← 1;wb0h1 ← −1;On choisit h0 pour représenter le OU : w1h0 ← 1;w0h0 ← 1;wb0h0 ← 0;O0 réalise le OU moins le ET : w0o0 ← 1;w1o0 ← −1;wb1o0 ← 0;

i0

i1

b0

h0

h1

b1

o0w0h0

w0h1

w1h0

w1h1

wb0h0

wb0h1

w0o0

w1o0

wb1o0

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 28 / 49

Page 29: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones La descente de gradiants

Corriger les poids

Réduire l’erreur

en reprenant le calcul de la perte : Loss = 1n∑

i (yIi − yi )2

en supposant que yi = f (xi ,w0, . . . ,wn)en posant W = (w0, . . . ,wn)on notera Q(W ) =

∑ni=0(y I

i − f (xi ,W ))2 =∑n

i=0 Qi (W )Q(W ) est l’erreur pour chacun des coefs wi

le gradiant d’une fonction Q(W ) est le vecteur construit par les dérivéespartielles sur chacunes des variables de Q(W )

∇Q(W ) =

δQδw0. . .δQδwn

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 29 / 49

Page 30: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones La descente de gradiants

Principe du gradian

La descente de gradiantL’algorithme de gradiant est le suivant :

1 Choisir les valeurs initiales de W et de η (coefficientd’apprentissage)

2 tant que valeurs non satisfaisantes ou nb cycles non atteintMélanger les éléments de l’ensemble d’apprentissagePour chaque i ∈ [0, . . . , n]

W ←W − η∇Qi (W )

La descente de gradiant

Prenons 4 points p0 = (1, 0); p1 = (2, 1.5); p2 = (3; 3); p3 = (4, 4.5)D’où X = (1, 2, 3, 4) et Y I = (0, 1.5, 3, 4.5)Tentons de trouver les coef w0 et w1 qui vérifient y = w0 + w1.xOn cherche à minimiserQ(W ) =

∑ni=0(yi − f (xi ,W ))2 avec ici W = {w0,w1}

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 30 / 49

Page 31: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones La descente de gradiants

Principe du gradiant

La descente de gradiant

∇Qi (W ) =

(yi − (w0 + w1.xi ))2

δw0(yi − (w0 + w1.xi ))2

δw1

=(

2.(w1.xi − yi + w0)2.xi .(w1.xi − yi + w0)

)Tentons avec η = 0.1;w0 = 1;w1 = 1, on trouve Y = (2, 3, 4, 5)

1 Mélangeons les points (ex. (p2, p0, p3, p1))

2 ∇Q2(W ) =(

2.(1× 3− 3 + 1)2× 3.(1× 3− 3 + 1)

)=(

26

)3 on adapte les coefs : ∇W =

(11

)− 0.1×

(26

)=(

0.80.4

)4 on répète ceci pour les points p0, p3, p1 et on obtient

w0 ≈ 0.156;w1 ≈ 0.672en répétant 20 fois ce cycle, on obtient w0 ≈ −1.497;w1 ≈ 1.5005l’erreur est alors Q(W ) ≈ 0

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 31 / 49

Page 32: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones La descente de gradiants

Principe du gradiant

La descente de gradiant

exemple de convergence vers la solution

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 32 / 49

Page 33: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones La descente de gradiants

Principe du gradiant stochastique

La descente de gradiant stochastiqueL’algorithme de gradiant stochastique est le suivant :

1 Choisir les valeurs initiales de W et de η (coefficientd’apprentissage)

2 tant que valeurs non satisfaisantes ou nb cycles non atteintMélanger les éléments de l’ensemble d’apprentissagePour quelques i ∈ [0, . . . , n]

W ←W − η∇Qi (W )la différence vient que l’on choisit un échantillon d’exemples pour corrigerles coefficients

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 33 / 49

Page 34: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones La descente de gradiants

Optimisation de l’algo du gradiant stochastique

De nombreuses optimisationsDiminuer η avec les cycles d’apprentissage.ex. η ← η × 0.99 à chaque pas

objectif : diminuer les fluctuationsConsidérer la modification précédente (Momentum).ex. W ←W − η∇Q(W )− γ∆t−1W

où ∆t−1W est la modification précédente des coefs de Wet γ est appelé coefficient d’intertie

Estimer la modification suivante (Nesterov accelerated gradient (NAG))

ex. W ←W − γ∆t−1W − η∇Q(W − γ∆t−1W )

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 34 / 49

Page 35: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones La descente de gradiants

Optimisation de l’algo du gradiant stochastique

Encore des optimisationsadapter les coefs η et γ, . . .pour chacun des coefs.AdaGrad (Adaptive Gradient) utilise une matrice diagonale Bt

construites à partir des gradients calculés aux temps < t :Bt ← diag

(∑tj=1

(∇Qij (xj ).∇Qij (xj )>

))1/2

Bt contient en diagonale les racines carrées de la somme des carrés desgradients pour chaque coefs iOn pose ensuite W ←W − ηB−1t ∇Q(W )

schema :( W0. . .Wn

)←

( W0. . .Wn

)− η.

1√∑∇ . . .

. . . 0

0 . . . 00 . . .

1√∑∇ . . .

.

δfδw0. . .δfδwn

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 35 / 49

Page 36: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones La descente de gradiants

Optimisation de l’algo du gradiant stochastique

Encore des optimisationsAdam (Adaptive Moment Estimation) [Kingma & Ba, 2015] utiliseégalement les valeurs des instants passés et définit :

mt ← β1.mt−1 + (1− β1.mt−1)∇Qt(W ) et m0 = 0vt ← β2.vt−1 + (1− β2.vt−1)(∇Qt(W ))2 et v0 = 0en posant m̂t ← mt/(1− βt

1) et v̂t ← vt/(1− βt2),

avec βti = βi à la puissance t

L’algo propose que W ←W − η√v̂t + ε

.m̂t

Empiriquement, les auteurs proposent ces valeurs :β1 = 0.9,β2 = 0.999, ε = 10−8

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 36 / 49

Page 37: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones La descente de gradiants

Choisir l’algorithme d’optimisation

Un algorithme par casIl existe de nombreux algorithmesChacun converge plus ou moins rapidement, selon le problème, selon laconfiguration initialeLes algos les plus performantes font partie de la classe des algosadaptatifs.cf. Adam pour adaptive moment estimation [Kingma & Ba, 2015]

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 37 / 49

Page 38: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones remontée des corrections

Réseaux de neurones : remontée des corrections

Réseau de neurones : calcul d’erreurs en sortieRappel, en MLP la sortie d’un neurone d’une couche n (xn) est :xn

i = f(∑

j

(wn

ij × xn−1j))

Ci-dessous, la sortie de o1 est f (wo10 × h0 + wo11 × h1)L’erreur en couche de sortie se calcule simplement, en utilisant X levecteur d’entrées et Y I le vecteur des sorties attendues.Chaque neurone d’une couche intermédiaire k reçoit les erreurs commisesdans les neurones des couches k + 1 et on remplaceQ(W ) =

∑ni=0(y I

i − f (xi ,W ))2 par Q(W k ) =∑n

i=0(w k+1i − f (x k

i ,W k ))2

i0

i1

i2

h0

h1

o0

o1

w0h0

w0h1

w1h0

w1h1

w2h0

w2h1

w0o0

w0o1

w1o0

w1o1

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 38 / 49

Page 39: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones remontée des corrections

Réseaux de neurones : Tester

Réseau de neurones : Le TestUn RN réalise donc des séries de

mélange des exemples d’apprentissagepropagation vers l’avant des valeurs f (. . . )des mesures d’erreursremontée de correction

lorsque l’erreur est acceptable, ou lorsque le nombre de séries limiteest atteint, il faut tester le réseauL’apprentissage est effectué sur un ensemble d’exemplesd’apprentissage (ou d’entrainement)Le test est donc effectué sur un ensemble d’exemples de testsil est possible de créer automatiquement ces ensembles à partir del’ensemble total des exemplesune mesure d’erreur est effectuée sur la sortie issus des exemples detests

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 39 / 49

Page 40: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones test & validation

Réseaux de neurones : Valider l’apprentissage

Réseau de neurones : Le TestCette erreur est normalement légèrement plus grande que celled’apprentissage car le réseau s’est optimisé pour ces exemplesd’apprentissagek-Cross-Validation : séparation de l’exemple initial en k ensembles.Répéter k fois : choisir un ensemble comme exemple de test, les(k − 1)emes autres sont utilisés pour l’apprentissagesur-apprentissage (over-fitting) : lorsqu’un réseau est bien adaptéaux exemples d’apprentissage mais a de mauvais résultats auxexemples de tests→ diminuer le nb de neurones intermédiaires

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 40 / 49

Page 41: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones réseaux convolutifs, deep-learning

Réseaux de neurones convolutifs

Réduire la complexité des exemplesChaque exemple est découpé en sous-parties (tuiles)les tuiles se chevauchent légèrementune série de neurones est reponsable d’une tuile.la profondeur de cette série dépend de la taille de la tuileune couche de neurones d’une même profondeur est un noyeau deconvolutiontous les neurones d’un un noyeau de convolution partagent lemême poids

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 41 / 49

Page 42: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones réseaux convolutifs, deep-learning

Réseaux de neurones convolutifs

Réduire la complexité des exemplesle pooling : la sortie de la couche de convolution est découpée enzone sans chevauchement. ses zones sont réduites par une fonctiond’agglomération (ex. le max)une correction peut être effectuée entre les couches de convolutionet de pooling (application d’une fonction de type sigmoïde, ReLU(f (x) = max(0, x)), . . .)une couche totalement connectée (FC, Full Connected) est placée àla suiteune couche de perte (LOSS) évalue l’erreur du réseau

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 42 / 49

Page 43: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones réseaux convolutifs, deep-learning

Architecture de réseaux de neurones convolutifs

ArchitecturesL’architecture de base est :input → conv → ReLU → Pool → FC → Lossmais d’autres architectures sont possibles :input → (conv → ReLU → Pool)× 3→ FC → Loss. . .

http://www.senat.fr/rap/r16-464-1/r16-464-16.html

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 43 / 49

Page 44: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones Carte Auto-Organisatrice

Réseaux de Kohonen

Kohonen : SOM (Self Organisating Maps)Apprentissage non supervisé dans un réseau organisé en grilleUtilisé pour clusteringLe voisinage d’une cellule renferme des cellules de naturesemblable.Principe :Après avoir sélectionné la cellule de sortie la plus proche desentrées, on modifie les poids de cette cellule et de ses voisines.Eléments :

une cellule contient une ou des valeurs à classerune valeur est un vecteur à n dimensionle réseau est (généralement) une grille m ×m de vecteurs de ndimensions.

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 44 / 49

Page 45: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones Carte Auto-Organisatrice

Réseaux de Kohonen : Algorithme

procedure Kohonenfor t = 1→ T do . T est le nombre d’itérations

ϕ(t)← 1− (t−1)T . ϕ est la fonction de voisinage

choisir une exemple E k au hasardtrouver la cellule ui,j la plus proche de E k

for all ui′,j′ ∈ voisinage(ui,j ) dowi′,j′ (t + 1)← wi′,j′ (t) + ϕ(t)(E k − wi,j (t))

end forend for

end procedure

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 45 / 49

Page 46: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones Carte Auto-Organisatrice

Réseaux de Kohonen : : Exemple

Exemple : classification de requêtes

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 46 / 49

Page 47: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones Carte Auto-Organisatrice

Réseaux de Kohonen : : Exemple

Exemple : classification de requêtes

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 47 / 49

Page 48: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones Carte Auto-Organisatrice

Réseaux de Kohonen : : Exemple

Exemple : classification de requêtes

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 48 / 49

Page 49: Intelligence Artificielle - Apprentissage Automatique ...

Réseaux de neurones Carte Auto-Organisatrice

Réseaux de Kohonen : : Exemple

Exemple : classification de requêtes

E. ADAM UPHF/INSA HdF Intelligence Artificielle UPHF/INSA HdF 49 / 49