Sujets couverts

102
IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département d’informatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

description

Sujets couverts. Introduction Classification linéaire avec le Perceptron et la régression logistique Réseau de neurones artificiel. Perceptron ( Rosenblatt , 1957). Un des plus vieux algorithmes de classification - PowerPoint PPT Presentation

Transcript of Sujets couverts

Page 1: Sujets couverts

IFT 615 – Intelligence artificielle

Apprentissage supervisé

Froduald KabanzaDépartement d’informatique

Université de Sherbrookeplaniart.usherbrooke.ca/kabanza/cours/ift615

Page 2: Sujets couverts

Sujets couverts

● Introduction

● Classification linéaire avec le Perceptron et la régression logistique

● Réseau de neurones artificiel

IFT615 Froduald Kabanza 2

Page 3: Sujets couverts

INTRODUCTION

IFT615 Froduald Kabanza 3

Page 4: Sujets couverts

● Un problème d’apprentissage supervisé est formulé comme suit:« Étant donné un ensemble d’entraînement de N exemples:

où chaque a été généré par une fonction inconnue , découvrir une nouvelle fonction (modèle ou hypothèse)

qui sera une bonne approximation de (c’est à dire ) »

Apprentissage supervisé

IFT615 Froduald Kabanza 4

Espace d’hypothèses

Hf(x)

hopt(x) H

Error

Page 5: Sujets couverts

● Données : ensemble d’entraînement de N exemples:

● Problème : trouver h(x) tel que

● Un algorithme d’apprentissage peut donc être vu comme étant une fonction à laquelle on donne un ensemble d’entraînement et qui donne en retour la fonction h

Apprentissage supervisé

IFT615 Froduald Kabanza 5

avec

Page 6: Sujets couverts

● Données : ensemble d’entraînement de N exemples:

● Problème : trouver h(x) tel que

● Le problème d’apprentissage est réalisable si f(x) ϵ H

Apprentissage supervisé

IFT615 Froduald Kabanza 7

avec

Espace d’hypothèse

f(x)

hopt(x) H

ErrorH

Page 7: Sujets couverts

● Étant donné un ensemble de données d’entrainement, l’apprentissage est un problème de recherche de l’hypothèse h dans un espace d’hypothèses H, tel que h minimise la distance à f(x)

● Les données sont souvent bruités et disponibles en quantité limitée. Il y a donc une variation dans les données et dans les modèles (représentations).

● L’erreur dépend de la qualité des données d’entrainements et de la méthode utilisée pour sélectionner/chercher la bonne hypothèse

Apprentissage supervisé

IFT615 Froduald Kabanza 8

Espace d’hypothèse

f(x)

hopt(x) H

ErrorH

Page 8: Sujets couverts

● Dépendamment des approches d’apprentissage, la fonction h peut être représenté de différente manière:

Règle de production (if-then) avec la logique du premier ordre Arbre de décision Fonction linéaires , polynomiales Réseau de neurones artificiel Programmes Java Etc.

● Dans cette leçon, nous voyons la régression linéaire et le réseau de neurones artificiel

● Le livre couvre différentes autres approches

Modèles et approche pour chercher la fonction h

IFT615 Froduald Kabanza 9

Page 9: Sujets couverts

● Comment évaluer le succès d’un algorithme d’apprentissage? on pourrait regarder l’erreur moyenne commise sur les exemples

d’entraînement, mais cette erreur sera nécessairement optimiste» a déjà vu la bonne réponse pour ces exemples!» on mesurerait donc seulement la capacité de l’algorithme à mémoriser

● Ce qui nous intéresse vraiment, c’est la capacité de l’algorithme à généraliser sur de nouveaux exemples ça reflète mieux le contexte dans lequel on va utiliser h

● Pour mesurer la généralisation, on met de côté des exemples étiquetés, qui seront utilisés seulement à la toute fin, pour calculer l’erreur on l’appel l’ensemble de test

Mesure de la performance d’un algorithme d’apprentissage

IFT615 Froduald Kabanza 10

Page 10: Sujets couverts

● Étant donnés un ensemble de points dans R2, approcher cet ensemble par une fonction f d’une seule variable.

● Données d’entraînement : paires (x, f(x))

● Hypothèse: équation d’une fonction h(x) qui approxime f(x)● Espace d’hypothèses : ensemble de polynômes de degrés k.

Exemple familier

IFT615 Froduald Kabanza 11

Page 11: Sujets couverts

Exemples d’espaces d’hypothèses

IFT615 Froduald Kabanza 12

f(x) = 0.5 + x + x2 + 6x3

H1H2H3

H1={a+bx}; H2={a+bx+cx2}; H3={a+bx+cx2+dx3};Linéaire; Quadratique; Cubique;

H1 H2 H3

Page 12: Sujets couverts

Comment choisir parmi plusieurs hypothèses consistants?

Hypothèse : fonction linéaire

Hypothèse :Polynôme de degré 7

Données : polynôme degré 6Hypothèse : fonction linéaire

Hypothèse: fonction sinusoïdale

Utiliser le principe du rasoir d’Ockham: maximiser une combinaison/compromis entre consistance et simplicité

IFT615 Froduald Kabanza 13

Page 13: Sujets couverts

Compromis entre expressivité et complexité

● Nous avons vu qu’un problème d’apprentissage est réalisable si l’espace d’hypothèses correspondant contient la vraie fonction.

● Dans ce cas, pourquoi ne pas choisir simplement l’espace d’hypothèse le plus large possible (exemple: programmes Java ou machine de Turing)?

● Parce qu’il existe en général un compromis entre l’expressivité de l’espace d’hypothèse la complexité de la recherche d’une bonne hypothèse dans cet espace

● On a en plus un compromis entre l’expressivité de l’espace d’hypothèse l’efficacité en temps de calcul de h(x) et sa simplicité de représentation

IFT615 Froduald Kabanza 14

Page 14: Sujets couverts

REGRESSION LINÉAIRE (À UNE VARIABLE)

IFT615 Froduald Kabanza 15

Page 15: Sujets couverts

16

Régression linéaire à une variable

● Données : Un ensemble de points y = f(x)

● Trouver la fonction hw(X) = y = w1x + w0 qui minimise la distance (erreur) à f(x)

● Cela revient à trouver les valeurs des poids w=[w0,w1] qui rende la perte empirique minimale.

● On utilise une fonction de perte quadratique

Loss(hw ) = =

IFT615 Froduald Kabanza

Page 16: Sujets couverts

17

Régression linéaire à une variable

● On cherche w*=argminw Loss(hw), avec Loss(hw ) = =

● La somme atteint un minimum lorsque les dérivée partielles par rapport à w0 et w1 valent zéro.

● Cela donne la solution unique:

Nxwyw

xxN

yxyxNw

ii

ii

iiii

/)( 10

221

IFT615 Froduald Kabanza

Page 17: Sujets couverts

18

Régression par la descente du gradient

● Pour les modèles non linéaires, les équations définissant la perte minimale n’on souvent pas de formule fermée.

● On utilise la descente du gradient

w = any point loop until convergence do: for each wi in w do: wi = wi – α ∂ Loss(w)

∂ wi

α : pas d’apprentissage

IFT615 Froduald Kabanza

Page 18: Sujets couverts

19

Régression par la descente du gradient

● Pour simplifier, supposons que l’on a un seul exemple d’apprentissage (x,y).

● La la règle de mise à jour

donne

w0 ← w0 + α(y-hw(x))w1 ← w1 + α(y-hw(x))*x

wi = wi – α ∂ Loss(w)∂ wi

IFT615 Froduald Kabanza

Page 19: Sujets couverts

20

Régression par la descente du gradient

● Si on a N exemples d’entraînement on veut rendre minimal la perte pour chaque exemple. Cela donne:

w0 ← w0 + α w1 ← w1 + α * xj

● C’est la règle d’apprentissage de la descente du gradient en batch.

● La descente du gradient stochastique examine un point d’apprentissage à la foi, choisie au hasard, en appliquant la règle pour un exemple unique vu précédemment.

● Cela se généralise facilement à la régression linéaire à plusieurs variables, c.à.d., cas xi sont des vecteurs. Voir le livre, section 18.62.

IFT615 Froduald Kabanza

Page 20: Sujets couverts

RÉGRESSION LINÉAIRE À SEUIL DURE

Classifieurs linéaires

IFT615 Froduald Kabanza 21

Page 21: Sujets couverts

22

Classificateur linéaire à seuil dur

● Outre la régression, les fonctions linéaires peuvent être utilisées pour la classification Étant donné un ensemble d’entraînement (d1, y1), …, (dn, yN) apprendre à séparer les données en deux classes.

• hw(x) retourne 0 ou 1• w0 + w1x1 w2x2 peut se réécrire w0x0 + w1x1 + w2x2 , avec x0=1, c.a.d. w.x

• On a donc hw(x)= 1 si w.x ≥ 0 et 0 sinon• C.à.d., hw(x)=Threshold(w.x)

• Règle d’apprentissage

wi ← wi + α(y-hw(x))*xi

• C’est la règle d’apprentissage du perceptron à seuil dur.

(x1,x2) 0 ou 1

Équation de la ligne

X2 = -w0/w2 – (w1/w2)x1IFT615 Froduald Kabanza

Page 22: Sujets couverts

Perceptron(Rosenblatt, 1957)

IFT615 Froduald Kabanza 23

● Un des plus vieux algorithmes de classification● Idée: modéliser la décision à l’aide d’une fonction linéaire, suivi d’un seuil:

où si , sinon

● Le vecteur de poids correspond aux paramètres du modèle● On ajoute également un biais w0 , qui équivaut à ajouter une entrée

fictive x0

. . .

Threshold

1w0

Page 23: Sujets couverts

Perceptron(Rosenblatt, 1957)

IFT615 Froduald Kabanza 24

● L’algorithme d’apprentissage doit adapter la valeur des paramètres (c’est-à-dire les poids et le biais) de façon à ce que soit la bonne réponse sur les données d’entraînement

● Algorithme du Perceptron:1. pour chaque paire

a. calculerb. si

• (mise à jour des poids et biais)2. retourner à 1 jusqu’à l’atteinte d’un critère d’arrêt (nb. maximal d’itérations

atteint ou nb. d’erreurs est 0)• La mise à jour des poids est appelée la règle d’apprentissage du

Perceptron. La multiplicateur est appelé le taux d’apprentissage

Page 24: Sujets couverts

Perceptron(Rosenblatt, 1957)

IFT615 Froduald Kabanza 25

● L’algorithme d’apprentissage doit adapter la valeur des paramètres (c’est-à-dire les poids et le biais) de façon à ce que soit la bonne réponse sur les données d’entraînement

● Algorithme du Perceptron:1. pour chaque paire

a. calculerb. si

• (mise à jour des poids et biais)2. retourner à 1 jusqu’à l’atteinte d’un critère d’arrêt (nb. maximal d’itérations

atteint ou nb. d’erreurs est 0) • La mise à jour des poids est appelée la règle d’apprentissage du

Perceptron. La multiplicateur est appelé le taux d’apprentissage

forme vectorielle

Page 25: Sujets couverts

Exemple 1

IFT615 Froduald Kabanza 26

● Simulation avec biais, α = 0.1

● Initialisation : w [0.5, 0, 0]⟵

● Paire (x1,y1) : h(x1) = Threshold( w . x1) = Threshold(0.5) = 1 puisque h(x1) = y1, on ne fait pas de mise à jour de w

D ensembleentraînement

xt yt

[1,2,0] 1

[1,0,3] 0

[1,3,0] 0

[1,1,1] 1

Page 26: Sujets couverts

Exemple 1

IFT615 Froduald Kabanza 27

● Simulation avec biais, α = 0.1

● Valeur courante : w [0.5, 0, 0]⟵

● Paire (x2,y2) : h(x2) = Threshold( w . x2) = Threshold(0.5) = 1 puisque h(x2) ≠ y2, on met à jour w

» w ⟵ w + α ( y2 - h(x2) ) x2 = [0.5,0, 0] + 0.1 * (0 – 1) [1, 0, 3] = [0.4, 0, -0.3]

D ensembleentraînement

xt yt

[1,2,0] 1

[1,0,3] 0

[1,3,0] 0

[1,1,1] 1

Page 27: Sujets couverts

Exemple 1

IFT615 Froduald Kabanza 28

● Simulation avec biais, α = 0.1

● Valeur courante : w [0.4, 0, -0.3]⟵

● Paire (x3,y3) : h(x3) = Threshold( w . x3 + b) = Threshold(0.4) = 1 puisque h(x3) ≠ y3, on met à jour w et b

» w ⟵ w + α ( y3 - h(x3) ) x3 = [0.4, 0, -0.3] + 0.1 * (0 – 1) [1, 3, 0] = [0.3, -0.3, -0.3]

D ensembleentraînement

xt yt

[1,2,0] 1

[1,0,3] 0

[1,3,0] 0

[1,1,1] 1

Page 28: Sujets couverts

Exemple 1

IFT615 Froduald Kabanza 29

● Simulation avec biais, α = 0.1

● Valeur courante : w [0.3, -0.3, -0.3]⟵

● Paire (x4,y4) : h(x4) = Threshold( w . x4 + b) = Threshold(-0.3) = 0 puisque h(x4) ≠ y4, on met à jour w et b

» w ⟵ w + α ( y4 - h(x4) ) x4 = [0.3, -0.3, -0.3] + 0.1 * (1 – 0) [1, 1, 1] = [0.4, -0.2, -0.2]

● Et ainsi de suite, jusqu’à l’atteinte d’un critère d’arrêt...

D ensembleentraînement

xt yt

[1,2,0] 1

[1,0,3] 0

[1,3,0] 0

[1,1,1] 1

Page 29: Sujets couverts

IFT615 Froduald Kabanza 30

Exemple 2

y=(x)=Threshold(w.x)

c = 0.2wi = α (d-h(xi))xixt yt

1.0 1.0 1

9.4 6.4 0

2.5 2.1 1

8.0 7.7 0

0.5 2.2 1

7.9 8.4 0

7.0 7.0 0

2.8 0.8 1

1.2 3.0 1

7.8 6.1 0

1. Initialisation : w = [w0 ,w1, w2] = [-.6,.75, .5]

2. y= Threshold(-.6×1+.75×1+.5×1)=Threshold(.65)=1;

w = 0.2(1-1)X= 0; donc w est inchangé.

3. y= Threshold(-.6×1+.75×9.4+.5×6.4)=Threshold(9.65)=1;

w = -.4X; donc w = -.4 *[1,9.4, 6.4] = [-3.01, -2.06, -1]

500. w = [+10.9 + -1.3, -1.1].

Équation de la ligne séparant les données : -1.3x1 + -1.1x2+10.9 = 0.

[Luger, 2005] Artificial Intelligence

1

i=1

nw.x = Σ wixi

(x)

w0

Page 30: Sujets couverts

IFT615 Froduald Kabanza 31

Exemple 2x1 x2 d

1.0 1.0 1

9.4 6.4 -1

2.5 2.1 1

8.0 7.7 -1

0.5 2.2 1

7.9 8.4 -1

7.0 7.0 -1

2.8 0.8 1

1.2 3.0 1

7.8 6.1 -1

Après dix itérations

Page 31: Sujets couverts

Surface de séparation

IFT615 Froduald Kabanza 32

● Le Perceptron cherche donc un séparateur linéaire entre les deux classes

● La surface de décision d’un classifieur est la surface (dans le cas du perceptron en 2D, une droite) qui sépare les deux régions classifiées dans les deux classes différentes

surfacede décision

Page 32: Sujets couverts

Convergence et séparabilité

IFT615 Froduald Kabanza 33

● Si les exemples d’entraînement sont linéairement séparables (gauche), l’algorithme est garanti de converger à une solution avec une erreur nulle sur l’ensemble d’entraînement, quel que soit le choix de

● Si non-séparable linéairement (droite), pour garantir la convergence à une solution avec la plus petite erreur possible en entraînement, on doit décroître le taux d’apprentissage, par ex. selon

Page 33: Sujets couverts

Courbe d’apprentissage

IFT615 Froduald Kabanza 34

● Pour visualiser la progression de l’apprentissage, on peut regarder la courbe d’apprentissage, c’est-à-dire la courbe du taux d’erreur (ou de succès) en fonction du nombre de mises à jour des paramètres

linéairement séparable

pas linéairement séparable

pas linéairement séparable, avec taux

d’app. décroissant

Page 34: Sujets couverts

RÉGRESSION LOGISTIQUEClassifieurs linéaires

IFT615 Froduald Kabanza 35

Page 35: Sujets couverts

Régression logistique

IFT615 Froduald Kabanza 36

● Idée: plutôt que de prédire une classe, prédire une probabilité d’appartenir à la classe 1 (ou la classe 0, ça marche aussi)

● Pour choisir une classe, prendrela plus probable selon le modèle si choisir la classe 1 sinon, choisir la classe 0

. . .

Logistic

Page 36: Sujets couverts

Dérivation de la règle d’apprentissage

IFT615 Froduald Kabanza 37

● Pour obtenir une règle d’apprentissage, on définit d’abord une perte

si , on souhaite maximiser la probabilité si , on souhaite maximiser la probabilité

● On dérive la règle d’apprentissage comme une descente de gradient

ce qui donne

● La règle est donc la même que pour le Perceptron, mais la définition de est différente

Page 37: Sujets couverts

LIMITATIONS DES CLASSIFIEURS LINÉAIRES

Classifieurs linéaires

IFT615 Froduald Kabanza 38

Page 38: Sujets couverts

Limitation des classifieurs linéaires

IFT615 Froduald Kabanza 39

● Cependant, la majorité des problèmes de classification ne sont pas linéaires

● En fait, un classifieur linéaire ne peut même pas apprendre XOR!

00

1

1 00

1

1 00

1

1

?

AND OR XOR

Page 39: Sujets couverts

IFT615 Froduald Kabanza 40

xi wi xi wi

x y x+y-2 x+y-1

1 1 0 1 1 11 0 -1 0 0 1

0 1 -1 0 0 10 0 -2 0 -1 0

Exemples de neurones

Page 40: Sujets couverts

Limitation des classifieurs linéaires

IFT615 Froduald Kabanza 41

● Par contre, on pourrait transformer l’entrée de façon à rendre le problème linéairement séparable sous cette nouvelle représentation

● Dans le cas de XOR, on pourrait remplacer par AND( , ) et par OR( , )

00

1

1

?

XOR

00

1

1

XOR

AND( , )

OR( , )

Page 41: Sujets couverts

RÉSEAU DE NEURONES ARTIFICIELS

IFT615 Froduald Kabanza 42

Page 42: Sujets couverts

IFT615 Froduald Kabanza 43

Neurone Biologique Neurone artificiel (Perceptron) cellule (soma) neurone dendrites entrées synapses poids axon sortie

Neurone artificiel

. . .

aj =g(inj)=Threshold(w.x)

Logistic

x1

xn

x0

w1

wn

w0

aj

Page 43: Sujets couverts

IFT615 Froduald Kabanza 44

● Un modèle de calcul inspiré du cerveau humain.

• Cerveau humain :– 10 milliards de neurones– 60 milliards de connexions (synapses)

• RNA :– Un nombre fini de neurones en

couches successives.

– Réseau feedfoward : pas de boucles.

– Réseau récurrents: les sorties peuvent être connectées aux entrées. Peut mémoriser.

Réseau de neurones

Page 44: Sujets couverts

Dérivation de la règle d’apprentissage● La dérivation de la règle d’apprentissage se fait encore avec les gradients

● Par l’application de la dérivée en chaîne, on peut décomposer cette règle d’apprentissage comme suit:

● Donc la règle de mise à jour peut être écrite comme suite:

IFT615 Froduald Kabanza 45

gradient du coût p/r au neurone

gradient du neuronep/r à la somme des entrées

gradient de la somme p/r

au poids

x0

. . .

Logistic. . .

w0

Page 45: Sujets couverts

Dérivation de la règle d’apprentissage

● Par contre, un calcul naïf de tous ces gradients serait très inefficace● Pour un calcul efficace, on utilise la procédure de rétropropagation des

gradients (ou erreurs)

IFT615 Froduald Kabanza 46

gradient du coût p/r au neurone

gradient du neuronep/r à la somme des entrées

gradient de la somme p/r

au poids

x0

. . .

Logistic. . .

w0

Page 46: Sujets couverts

Rétropropagation des gradients

IFT615 Froduald Kabanza 47

● Utiliser le fait que la dérivée pour un neurone à la couche l peut être calculée à partir de la dérivée des neurones connectés à la couche l+1

où et

itère sur les neurones cachés de la couche l+1

(pour simplifier notation)

Page 47: Sujets couverts

Visualisation de la rétropropagation

IFT615 Froduald Kabanza 48

● L’algorithme d’apprentissage commence par une propagation avant

7

w5,7

w6,7

5

6

3

4

1

2

w3,5

w3,6

w4,5

w4,6

w1,3

w1,4

w2,3

w2,4

x1 =

x2 =

Page 48: Sujets couverts

Visualisation de la rétropropagation

IFT615 Froduald Kabanza 49

● Ensuite, le gradient sur la sortie est calculé, et le gradient rétropropagé

7

w5,7

w6,7

5

6

3

4

1

2

w3,5

w3,6

w4,5

w4,6

w1,3

w1,4

w2,3

w2,4

x1 =

x2 =

Page 49: Sujets couverts

Visualisation de la rétropropagation

IFT615 Froduald Kabanza 50

● Peut propager aussi (décomposition équivalente du livre)

7

w5,7

w6,7

5

6

3

4

1

2

w3,5

w3,6

w4,5

w4,6

w1,3

w1,4

w2,3

w2,4

x1 =

x2 =

Page 50: Sujets couverts

IFT615 Froduald Kabanza 51

(pour simplifier notation)

Page 51: Sujets couverts

Exemple

IFT615 Froduald Kabanza 52

● Exemple: ,

1

-3

2

-1

1

-1

3

-4

0.5

-1

1.5

-2

propagation avant

Page 52: Sujets couverts

Exemple

IFT615 Froduald Kabanza 53

● Exemple: ,

1

-3

1

-1

3

-4

0.5

-1

1.5

-2

0.3782

-1

Logistic(0.5 * 2 + 1.5 * -1) = Logistic(-0.5) = 0.378

propagation avant

Page 53: Sujets couverts

Exemple

IFT615 Froduald Kabanza 54

● Exemple: ,

1

-3

1

-1

3

-4

0.5

-1

1.5

-2

0.3782

-1

Logistic(-1 * 2 + -2 * -1) = Logistic(0) = 0.5

0.5

propagation avant

Page 54: Sujets couverts

Exemple

IFT615 Froduald Kabanza 55

● Exemple: ,

1

-3

1

-1

3

-4

0.5

-1

1.5

-2

0.3782

-1

Logistic(1 * 0.378 + 3 * 0.5) = Logistic(1.878) = 0.867

0.5

0.867

propagation avant

Page 55: Sujets couverts

Exemple

IFT615 Froduald Kabanza 56

● Exemple: ,

1

-3

1

-1

3

-4

0.5

-1

1.5

-2

0.3782

-1

Logistic(-1 * 0.378 + -4 * 0.5) = Logistic(-2.378) = 0.085

0.5

0.867

0.085

propagation avant

Page 56: Sujets couverts

Exemple

IFT615 Froduald Kabanza 57

● Exemple: ,

1

-3

1

-1

3

-4

0.5

-1

1.5

-2

0.3782

-1

Logistic(1 * 0.867 + -3 * 0.085) = Logistic(0.612) = 0.648

0.5

0.867

0.085

0.648

propagation avant

Page 57: Sujets couverts

Exemple

IFT615 Froduald Kabanza 58

● Exemple: ,

1

-3

1

-1

3

-4

0.5

-1

1.5

-2

0.3782

-1 0.5

0.867

0.085

0.648

Δ = y - a

rétropropagation

Page 58: Sujets couverts

Exemple

IFT615 Froduald Kabanza 59

● Exemple: ,

1

-3

1

-1

3

-4

0.5

-1

1.5

-2

0.3782

-1 0.5

0.867

0.085

0.648

Δ = 1 - 0.648

rétropropagation

Page 59: Sujets couverts

Exemple

IFT615 Froduald Kabanza 60

● Exemple: ,

1

-3

1

-1

3

-4

0.5

-1

1.5

-2

0.3782

-1 0.5

0.867

0.085

0.648

Δ = 0.352

rétropropagation

Page 60: Sujets couverts

Exemple

IFT615 Froduald Kabanza 61

● Exemple: ,

1

-3

1

-1

3

-4

0.5

-1

1.5

-2

0.3782

-1

Δ = 0.867 * (1-0.867) * 1 * 0.352 = 0.041

0.5

0.867

0.085

0.648

Δ = 0.352

Δ = 0.041

rétropropagation

Page 61: Sujets couverts

Exemple

IFT615 Froduald Kabanza 62

● Exemple: ,

1

-3

1

-1

3

-4

0.5

-1

1.5

-2

0.3782

-1

Δ = 0.085 * (1-0.085) * -3 * 0.352 = -0.082

0.5

0.867

0.085

0.648

Δ = 0.352

Δ = 0.041

Δ = -0.082

rétropropagation

Page 62: Sujets couverts

Exemple

IFT615 Froduald Kabanza 63

● Exemple: ,

1

-3

1

-1

3

-4

0.5

-1

1.5

-2

0.3782

-1

Δ = 0.378 * (1-0.378) * (1 * 0.041 + -1 * -0.082) = 0.029

0.5

0.867

0.085

0.648

Δ = 0.352

Δ = 0.041

Δ = -0.082

Δ = 0.029

rétropropagation

Page 63: Sujets couverts

Exemple

IFT615 Froduald Kabanza 64

● Exemple: ,

1

-3

1

-1

3

-4

0.5

-1

1.5

-2

0.3782

-1

Δ = 0.5 * (1-0.5) * (3 * 0.041 + -4 * -0.082) = 0.113

0.5

0.867

0.085

0.648

Δ = 0.352

Δ = 0.041

Δ = -0.082

Δ = 0.029

Δ = 0.113

rétropropagation

Page 64: Sujets couverts

Exemple

IFT615 Froduald Kabanza 65

● Exemple: ,

1

-3

1

-1

3

-4

0.5

-1

1.5

-2

0.3782

-1 0.5

0.867

0.085

0.648

Δ = 0.352

Δ = 0.041

Δ = -0.082

Δ = 0.029

Δ = 0.113

mise à jour (α=0.1)w1,3 0.5 + 0.1 * 2 * 0.029 = 0.506

w1,4 -1 + 0.1 * 2 * 0.113 = -0.977

w2,3 1.5 + 0.1 * -1 * 0.029 = 1.497

w2,4 -2 + 0.1 * -1 * 0.113 = -2.011

w3,5 1 + 0.1 * 0.378 * 0.041 = 1.002

w3,6 -1 + 0.1 * 0.378 * -0.082 = -1.003

w4,5 3 + 0.1 * 0.5 * 0.041 = 3.002

w4,6 -4 + 0.1 * 0.5 * -0.082 = -4.004

w5,7 1 + 0.1 * 0.867 * 0.352 = 1.031

w6,7 -3 + 0.1 * 0.085 * 0.352 = -2.997

Page 65: Sujets couverts

Retour sur la notion de généralisation

● Comment choisir le nombre de neurones cachés?

IFT615 Froduald Kabanza 66

Erreur

Nb. de neurones cachés

Page 66: Sujets couverts

Retour sur la notion de généralisation

● Comment choisir le nombre de neurones cachés?

IFT615 Froduald Kabanza 67

Erreur

Nb. d’itérations

Page 67: Sujets couverts

Retour sur la notion de généralisation

● Comment choisir le nombre de neurones cachés?

IFT615 Froduald Kabanza 68

Erreur

Capacité de mémoriser l’ensemble d’entraînement

On veut trouverce point, sans sous-apprentissage ni surapprentissage

Page 68: Sujets couverts

Hyper-paramètres

IFT615 Froduald Kabanza 69

● Dans tous les algorithmes d’apprentissage qu’on a vu jusqu’à maintenant, il y avait des « options » à déterminer Perceptron et régression logistique: le taux d’apprentissage , nb. itérations N réseau de neurones: taux d’apprentissage, nb. d’itérations, nombre de neurones

cachés, fonction d’activation g(.)● On appelle ces « options » des hyper-paramètres

choisir la valeur qui marche le mieux sur l’ensemble d’entraînement est en général une mauvaise idée (mène à du surapprentissage)

on ne peut pas utiliser l’ensemble de test non plus, ça serait tricher! en pratique, on garde un autre ensemble de côté, l’ensemble de validation,

pour choisir la valeur de ce paramètre● Sélectionner les valeurs d’hyper-paramètres est une forme d’apprentissage

Page 69: Sujets couverts

Autres définitions

IFT615 Froduald Kabanza 70

● Capacité d’un modèle : habilité d’un modèle à réduire son erreur d’entraînement, à mémoriser ces données

● Modèle paramétrique: modèle dont la capacité n’augmente pas avec le nombre de données (Perceptron, régression logistique, réseau de neurones avec un nombre de neurones fixe)

● Modèle non-paramétrique: l’inverse de paramétrique, la capacité augmente avec la taille de l’ensemble d’entraînement (réseau de neurones avec un nombre de neurones adapté aux données d’entraînement)

● Époque: une itération complète sur tous les exemples d’entraînement● Fonction d’activation: fonction non-linéaire g(.) des neurones cachés

Page 70: Sujets couverts

Applications

IFT615 Froduald Kabanza 71

● Problèmes de classification (visages, textes, sons, …)● Jeux

Contrôle - Par exemple, contrôler une voiture de course, un avion Évaluation de la menace – Entrée: configuration du jeu. Sortie: niveau de

menace, unités menacés.» Cadre bien avec le concept de « influence map »

http://www.onlamp.com/pub/a/onlamp/2004/09/30/AIforGameDev.html

● Bien d’autres …● Il existe plusieurs packages implémentant les algorithmes d’apprentissage

sur Internet

http://www.onlamp.com/pub/a/onlamp/2004/09/30/AIforGameDev.html

Page 71: Sujets couverts

IFT615 Froduald Kabanza 72

Exemple 2

NEAT Coevolution Robots

Page 72: Sujets couverts

Objectifs du cours

IFT615 Froduald Kabanza 73

agents intelligents

recherche heuristique

recherche locale

recherche à deux adversaires

satisfaction de contraintes

Algorithmes et concepts

raisonnement probabiliste

processus de décision markovien

apprentissage automatique peut servir dans plusieurs contextes

apprentissage automatique

apprentissage d’heuristique

apprentissage de modèles probabilistes

Page 73: Sujets couverts

Apprentissage automatique : pour quel type d’agent?

IFT615 Froduald Kabanza 74

Simple reflex Model-based reflex

Goal-based Utiliy-based

Page 74: Sujets couverts

Vous devriez être capable de...

● Simuler les algorithmes vus Perceptron régression logistique réseau de neurones

● Comprendre les notions de sous-apprentissage et surapprentissage

● Savoir ce qu’est un hyper-paramètre

IFT615 Froduald Kabanza 75

Page 75: Sujets couverts

BACKGROUNDDérivées partielles

IFT615 Froduald Kabanza 76

Page 76: Sujets couverts

Recherche locale pourla minimisation d’une perte

IFT615 Froduald Kabanza 77

? ?

Page 77: Sujets couverts

Dérivées

● On peut obtenir la direction de descente via la dérivée

● Le signe de la dérivée est la direction d’augmentation de signe positif indique que augmente lorsque augmente signe négatif indique que diminue lorsque augmente

● La valeur absolue de la dérivée est le taux d’augmentation de

● Plutôt que , je vais utiliser le symbole

IFT615 Froduald Kabanza 78

Page 78: Sujets couverts

Dérivées

● Les dérivées usuelles les plus importantes sont les suivantes:

IFT615 Froduald Kabanza 79

et sontdes constantes

Page 79: Sujets couverts

Dérivées

● On peut obtenir des dérivées de composition de fonctions

IFT615 Froduald Kabanza 80

et sontdes constantes

Page 80: Sujets couverts

Dérivées

● Exemple 1:

IFT615 Froduald Kabanza 81

Page 81: Sujets couverts

Dérivées

● Exemple 2:

IFT615 Froduald Kabanza 82

Page 82: Sujets couverts

Dérivées

● Pour des combinaisons plus complexes:

IFT615 Froduald Kabanza 83

Page 83: Sujets couverts

Dérivées

● Exemple 3:

IFT615 Froduald Kabanza 84

Page 84: Sujets couverts

Dérivées

● Exemple 4:

IFT615 Froduald Kabanza 85

Page 85: Sujets couverts

Dérivées

● Exemple 4:

IFT615 Froduald Kabanza 86

dérivation alternative!

Page 86: Sujets couverts

IFT615 Froduald Kabanza 87

Algorithme de descente de gradient

Page 87: Sujets couverts

Dérivée partielle et gradient

● Dans notre cas, la fonction à optimiser dépend de plus d’une variable elle dépend de tout le vecteur

● Dans ce cas, on va considérer les dérivées partielles, c.-à-d. la dérivée par rapport à chacune des variables en supposant que les autres sont constantes:

IFT615 Froduald Kabanza 88

Page 88: Sujets couverts

Dérivée partielle et gradient

● Exemple de fonction à deux variables:

● Dérivées partielles:

IFT615 Froduald Kabanza 89

traitecomme une constante

traitecomme une constante

Page 89: Sujets couverts

Dérivée partielle et gradient

● Un deuxième exemple:

● Dérivée partielle :

équivaut à faire la dérivée de

où et on a des constantes et

IFT615 Froduald Kabanza 90

Page 90: Sujets couverts

Dérivée partielle et gradient

● Un deuxième exemple:

IFT615 Froduald Kabanza 91

Page 91: Sujets couverts

Dérivée partielle et gradient

● Un deuxième exemple:

où , ,

● On remplace:

IFT615 Froduald Kabanza 92

Page 92: Sujets couverts

Dérivée partielle et gradient

● Un troisième exemple:

● Dérivée partielle :

équivaut à faire la dérivée de

où et on a une constante

IFT615 Froduald Kabanza 93

Page 93: Sujets couverts

Dérivée partielle et gradient

● Un troisième exemple:

IFT615 Froduald Kabanza 94

Page 94: Sujets couverts

Dérivée partielle et gradient

● Un troisième exemple:

où ,

● On remplace:

IFT615 Froduald Kabanza 95

Page 95: Sujets couverts

Dérivée partielle et gradient

● On va appeler gradient d’une fonction le vecteur contenant les dérivées partielles de par rapport à toutes les variables

● Dans l’exemple avec la fonction :

IFT615 Froduald Kabanza 96

Page 96: Sujets couverts

BACKGROUNDDescente du gradient

IFT615 Froduald Kabanza 97

Page 97: Sujets couverts

Descente de gradient

● Le gradient donne la direction (vecteur) ayant le taux d’accroissement de la fonction le plus élevé

IFT615 Froduald Kabanza 98

Page 98: Sujets couverts

Descente de gradient

● La direction opposée au gradient nous donne la direction à suivre

IFT615 Froduald Kabanza 99

Page 99: Sujets couverts

Descente de gradient

● La direction opposée au gradient nous donne la direction à suivre

IFT615 Froduald Kabanza 100

Page 100: Sujets couverts

Apprentissage vue comme la minimisation d’une perte

IFT615 Froduald Kabanza 101

● En apprentissage automatique, on souhaite optimiser:

● Le gradient par rapport à la perte moyenne contient les dérivées partielles:

● Devrait calculer la moyenne des dérivées sur tous les exemples d’entraînement avant de faire une mise à jour des paramètres!

Page 101: Sujets couverts

Descente de gradient stochastique

IFT615 Froduald Kabanza 102

● Descente de gradient stochastique: mettre à jour les paramètres à partir du (c.-à-d. des dérivées partielles) d’un seul exemple, choisi aléatoirement:

● Cette procédure est beaucoup plus efficace lorsque l’ensemble d’entraînement est grand on fait mises à jour des paramètres après chaque parcours de l’ensemble

d’entraînement, plutôt qu’une seule mise à jour avec la descente de gradient normale

- Initialiser aléatoirement- Pour T itérations

- Pour chaque exemple d’entraînement

-

Page 102: Sujets couverts

EXEMPLESApprentissage supervisé

IFT615 Froduald Kabanza 103