ift 615 – intelligence artificielle apprentissage supervisé froduald kabanza département...

74
Sujets couverts Introduction Classification linéaire avec le Perceptron et la régression logistique Réseau de neurones artificiel IFT615 Froduald Kabanza 2

Upload: ferrand-dias

Post on 04-Apr-2015

162 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Sujets couverts

● Introduction

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

● Réseau de neurones artificiel

IFT615 Froduald Kabanza 2

Page 2: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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

1

w0

Page 3: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 4: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 5: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 6: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 7: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 8: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 9: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 10: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 11: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 12: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

RÉGRESSION LOGISTIQUEClassifieurs linéaires

IFT615 Froduald Kabanza 35

Page 13: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 14: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 15: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

LIMITATIONS DES CLASSIFIEURS LINÉAIRES

Classifieurs linéaires

IFT615 Froduald Kabanza 38

Page 16: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 17: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

IFT615 Froduald Kabanza 40

xi wi xi wi

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

1 1 0 1 1 1

1 0 -1 0 0 1

0 1 -1 0 0 1

0 0 -2 0 -1 0

Exemples de neurones

Page 18: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

RÉSEAU DE NEURONES ARTIFICIELS

IFT615 Froduald Kabanza 42

Page 19: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 20: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 21: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 22: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 23: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 24: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 25: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 26: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 27: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

IFT615 Froduald Kabanza 51

(pour simplifier notation)

Page 28: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Exemple

IFT615 Froduald Kabanza 52

● Exemple: ,

1

-3

2

-1

1

-1

3

-4

0.5

-1

1.5

-2

propagation avant

Page 29: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 30: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 31: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 32: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 33: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 34: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 35: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 36: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 37: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 38: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 39: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 40: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 41: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 42: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 43: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 44: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 45: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 46: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

IFT615 Froduald Kabanza 72

Exemple 2

NEAT Coevolution Robots

Page 47: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 48: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Apprentissage automatique : pour quel type d’agent?

IFT615 Froduald Kabanza 74

Simple reflex Model-based reflex

Goal-based Utiliy-based

Page 49: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 50: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

EXTRADérivées partielles, descente du gradient

IFT615 Froduald Kabanza 76

Page 51: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Recherche locale pourla minimisation d’une perte

IFT615 Froduald Kabanza 77

? ?

Page 52: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 53: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Dérivées

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

IFT615 Froduald Kabanza 79

et sontdes constantes

Page 54: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Dérivées

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

IFT615 Froduald Kabanza 80

et sontdes constantes

Page 55: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Dérivées

● Exemple 1:

IFT615 Froduald Kabanza 81

Page 56: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Dérivées

● Exemple 2:

IFT615 Froduald Kabanza 82

Page 57: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Dérivées

● Pour des combinaisons plus complexes:

IFT615 Froduald Kabanza 83

Page 58: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Dérivées

● Exemple 3:

IFT615 Froduald Kabanza 84

Page 59: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Dérivées

● Exemple 4:

IFT615 Froduald Kabanza 85

Page 60: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Dérivées

● Exemple 4:

IFT615 Froduald Kabanza 86

dérivation alternative!

Page 61: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

IFT615 Froduald Kabanza 87

Algorithme de descente de gradient

Page 62: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 63: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 64: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 65: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Dérivée partielle et gradient

● Un deuxième exemple:

IFT615 Froduald Kabanza 91

Page 66: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Dérivée partielle et gradient

● Un deuxième exemple:

où , ,

● On remplace:

IFT615 Froduald Kabanza 92

Page 67: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 68: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Dérivée partielle et gradient

● Un troisième exemple:

IFT615 Froduald Kabanza 94

Page 69: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Dérivée partielle et gradient

● Un troisième exemple:

où ,

● On remplace:

IFT615 Froduald Kabanza 95

Page 70: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 71: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Descente de gradient

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

IFT615 Froduald Kabanza 97

Page 72: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Descente de gradient

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

IFT615 Froduald Kabanza 98

Page 73: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Apprentissage vue comme la minimisation d’une perte

IFT615 Froduald Kabanza 100

● 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 74: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Descente de gradient stochastique

IFT615 Froduald Kabanza 101

● 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

-