ift 615 – intelligence artificielle apprentissage supervisé froduald kabanza département...
TRANSCRIPT
![Page 1: IFT 615 – Intelligence artificielle Apprentissage supervisé Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/1.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/2.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/3.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/4.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/5.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/6.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/7.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/8.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/9.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/10.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/11.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/12.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/14.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/15.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/16.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/17.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/18.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/19.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/20.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/21.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/22.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/23.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/24.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/25.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/26.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/27.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/28.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/29.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/30.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/31.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/32.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/33.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/34.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/35.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/36.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/37.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/38.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/39.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/40.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/41.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/42.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/43.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/44.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/45.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/46.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/47.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/48.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/49.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/50.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/51.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/52.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/53.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/54.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/55.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/56.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/57.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/58.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/59.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/60.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/61.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/62.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/63.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/64.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/65.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/66.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/67.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/68.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/69.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/70.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/71.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/72.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/73.jpg)
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](https://reader031.vdocuments.pub/reader031/viewer/2022012320/551d9db5497959293b8d9bc3/html5/thumbnails/74.jpg)
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
-