Sujets couverts
This presentation is the property of its rightful owner.
Sponsored Links
1 / 74

Sujets couverts PowerPoint PPT Presentation


  • 45 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

Sujets couverts

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Sujets couverts

Sujets couverts

  • Introduction

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

  • Réseau de neurones artificiel

Froduald Kabanza


Perceptron rosenblatt 1957

Perceptron(Rosenblatt, 1957)

  • 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

w0

. . .

1

Froduald Kabanza


Perceptron rosenblatt 19571

Perceptron(Rosenblatt, 1957)

  • 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:

    • pour chaque paire

      • calculer

      • si

        • (mise à jour des poids et biais)

    • 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

Froduald Kabanza


Perceptron rosenblatt 19572

Perceptron(Rosenblatt, 1957)

  • 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:

    • pour chaque paire

      • calculer

      • si

        • (mise à jour des poids et biais)

    • 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

Froduald Kabanza


Exemple 1

Exemple 1

ensembleentraînement

D

  • 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

Froduald Kabanza


Exemple 11

Exemple 1

ensembleentraînement

D

  • 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]

Froduald Kabanza


Exemple 12

Exemple 1

ensembleentraînement

D

  • 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]

Froduald Kabanza


Exemple 13

Exemple 1

ensembleentraînement

D

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

Froduald Kabanza


Surface de s paration

Surface de séparation

  • 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

surface

de décision

Froduald Kabanza


Convergence et s parabilit

Convergence et séparabilité

  • 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

Froduald Kabanza


Courbe d apprentissage

Courbe d’apprentissage

  • 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

Froduald Kabanza


R gression logistique

Classifieurslinéaires

RégressionLogistique

Froduald Kabanza


R gression logistique1

Régression logistique

  • 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

. . .

Froduald Kabanza


D rivation de la r gle d apprentissage

Dérivation de la règle d’apprentissage

  • 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 gradientce qui donne

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

Froduald Kabanza


Limitations des classifieurs lin aires

Classifieurslinéaires

Limitations des classifieurslinéaires

Froduald Kabanza


Limitation des classifieurs lin aires

Limitation des classifieurs linéaires

  • 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!

AND

OR

XOR

?

1

1

1

0

0

0

1

1

1

0

0

0

Froduald Kabanza


Exemples de neurones

Exemples de neurones

xi wi

xi wi

Froduald Kabanza


R seau de neurones artificiels

Réseau de neurones artificiels

Froduald Kabanza


Neurone artificiel

Neurone artificiel

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

x1

w1

. . .

Logistic

wn

xn

aj

w0

x0

Neurone Biologique Neurone artificiel (Perceptron)

cellule (soma) neurone

dendrites entrées

synapses poids

axonsortie

Froduald Kabanza


R seau de neurones

Réseau de neurones

  • Cerveau humain :

    • 10 milliards de neurones

    • 60 milliards de connexions (synapses)

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

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

Froduald Kabanza


D rivation de la r gle d apprentissage1

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:

. . .

w0

x0

gradient de la somme p/r

au poids

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

gradient du coût p/r au neurone

Logistic

. . .

Froduald Kabanza


D rivation de la r gle d apprentissage2

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)

gradient de la somme p/r

au poids

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

gradient du coût p/r au neurone

. . .

w0

x0

Logistic

. . .

Froduald Kabanza


R tropropagation des gradients

Rétropropagation des gradients

  • 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+1où et

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

(pour simplifier notation)

Froduald Kabanza


Visualisation de la r tropropagation

Visualisation de la rétropropagation

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

w3,5

w1,3

x1=

1

w5,7

w3,6

w1,4

7

4

6

5

3

w4,5

w2,3

w6,7

x2=

2

w4,6

w2,4

Froduald Kabanza


Visualisation de la r tropropagation1

Visualisation de la rétropropagation

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

w3,5

w1,3

x1=

1

w5,7

w3,6

w1,4

7

4

6

5

3

w4,5

w2,3

w6,7

x2=

2

w4,6

w2,4

Froduald Kabanza


Visualisation de la r tropropagation2

Visualisation de la rétropropagation

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

w3,5

w1,3

x1=

1

w5,7

w3,6

w1,4

7

4

6

5

3

w4,5

w2,3

w6,7

x2=

2

w4,6

w2,4

Froduald Kabanza


Sujets couverts

(pour simplifier notation)

Froduald Kabanza


Exemple

Exemple

  • Exemple: ,

1

0.5

2

1

-1

-1

3

1.5

-3

-1

-4

-2

propagation avant

Froduald Kabanza


Exemple1

Exemple

  • Exemple: ,

1

0.5

2

0.378

1

-1

-1

3

1.5

-3

-1

-4

-2

propagation avant

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

Froduald Kabanza


Exemple2

Exemple

  • Exemple: ,

1

0.5

2

0.378

1

-1

-1

3

1.5

-3

-1

0.5

-4

-2

propagation avant

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

Froduald Kabanza


Exemple3

Exemple

  • Exemple: ,

1

0.5

2

0.867

0.378

1

-1

-1

3

1.5

-3

-1

0.5

-4

-2

propagation avant

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

Froduald Kabanza


Exemple4

Exemple

  • Exemple: ,

1

0.5

2

0.867

0.378

1

-1

-1

3

1.5

-3

-1

0.5

0.085

-4

-2

propagation avant

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

Froduald Kabanza


Exemple5

Exemple

  • Exemple: ,

1

0.5

2

0.867

0.378

1

-1

-1

0.648

3

1.5

-3

-1

0.5

0.085

-4

-2

propagation avant

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

Froduald Kabanza


Exemple6

Exemple

  • Exemple: ,

1

0.5

2

0.867

0.378

1

-1

-1

Δ = y - a

0.648

3

1.5

-3

-1

0.5

0.085

-4

-2

rétropropagation

Froduald Kabanza


Exemple7

Exemple

  • Exemple: ,

1

0.5

2

0.867

0.378

1

-1

-1

Δ = 1- 0.648

0.648

3

1.5

-3

-1

0.5

0.085

-4

-2

rétropropagation

Froduald Kabanza


Exemple8

Exemple

  • Exemple: ,

1

0.5

2

0.867

0.378

1

-1

-1

Δ = 0.352

0.648

3

1.5

-3

-1

0.5

0.085

-4

-2

rétropropagation

Froduald Kabanza


Exemple9

Exemple

  • Exemple: ,

Δ = 0.041

1

0.5

2

0.867

0.378

1

-1

-1

Δ = 0.352

0.648

3

1.5

-3

-1

0.5

0.085

-4

-2

rétropropagation

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

Froduald Kabanza


Exemple10

Exemple

  • Exemple: ,

Δ = 0.041

1

0.5

2

0.867

0.378

1

-1

-1

Δ = 0.352

0.648

Δ = -0.082

3

1.5

-3

-1

0.5

0.085

-4

-2

rétropropagation

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

Froduald Kabanza


Exemple11

Exemple

  • Exemple: ,

Δ = 0.041

Δ = 0.029

1

0.5

2

0.867

0.378

1

-1

-1

Δ = 0.352

0.648

Δ = -0.082

3

1.5

-3

-1

0.5

0.085

-4

-2

rétropropagation

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

Froduald Kabanza


Exemple12

Exemple

  • Exemple: ,

Δ = 0.041

Δ = 0.029

1

0.5

2

0.867

0.378

1

-1

-1

Δ = 0.352

0.648

Δ = 0.113

Δ = -0.082

3

1.5

-3

-1

0.5

0.085

-4

-2

rétropropagation

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

Froduald Kabanza


Exemple13

Exemple

  • Exemple: ,

Δ = 0.041

Δ = 0.029

1

0.5

2

0.867

0.378

1

-1

-1

Δ = 0.352

0.648

Δ = 0.113

Δ = -0.082

3

1.5

-3

-1

0.5

0.085

-4

-2

mise à jour (α=0.1)

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

w1,3 0.5 + 0.1 * 2 * 0.029 = 0.506

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

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

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

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

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

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

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

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

Froduald Kabanza


Retour sur la notion de g n ralisation

Retour sur la notion de généralisation

  • Comment choisir le nombre de neurones cachés?

Erreur

On veut trouver

ce point, sans sous-apprentissage

ni surapprentissage

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

Froduald Kabanza


Hyper param tres

Hyper-paramètres

  • 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

Froduald Kabanza


Autres d finitions

Autres définitions

  • 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

Froduald Kabanza


Applications

Applications

  • 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

Froduald Kabanza

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


Exemple 2

Exemple 2

NEAT Coevolution Robots

Froduald Kabanza


Objectifs du cours

Objectifs du cours

Algorithmes et concepts

recherche locale

  • apprentissage automatique peut servir dans plusieurs contextes

satisfaction

de contraintes

processus de

décision markovien

  • apprentissage de modèles probabilistes

agents

intelligents

raisonnement

probabiliste

recherche à

deux adversaires

recherche

heuristique

apprentissage

automatique

  • apprentissage d’heuristique

Froduald Kabanza


Apprentissage automatique pour quel type d agent

Apprentissage automatique : pour quel type d’agent?

Simple reflex

Model-based reflex

Goal-based

Utiliy-based

Froduald Kabanza


Vous devriez tre capable de

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

Froduald Kabanza


Extra

Dérivéespartielles, descente du gradient

Extra

Froduald Kabanza


Recherche locale pour la minimisation d une perte

Recherche locale pourla minimisation d’une perte

?

?

Froduald Kabanza


D riv es

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

Froduald Kabanza


D riv es1

Dérivées

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

et sont

des constantes

Froduald Kabanza


D riv es2

Dérivées

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

et sont

des constantes

Froduald Kabanza


D riv es3

Dérivées

  • Exemple 1:

Froduald Kabanza


D riv es4

Dérivées

  • Exemple 2:

Froduald Kabanza


D riv es5

Dérivées

  • Pour des combinaisons plus complexes:

Froduald Kabanza


D riv es6

Dérivées

  • Exemple 3:

Froduald Kabanza


D riv es7

Dérivées

  • Exemple 4:

Froduald Kabanza


D riv es8

Dérivées

  • Exemple 4:

dérivation alternative!

Froduald Kabanza


Algorithme de descente de gradient

Algorithme de descente de gradient

Froduald Kabanza


D riv e partielle et gradient

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:

Froduald Kabanza


D riv e partielle et gradient1

Dérivée partielle et gradient

  • Exemple de fonction à deux variables:

  • Dérivées partielles:

traite

comme une constante

traite

comme une constante

Froduald Kabanza


D riv e partielle et gradient2

Dérivée partielle et gradient

  • Un deuxième exemple:

  • Dérivée partielle :équivaut à faire la dérivée deoù et on a des constantes et

Froduald Kabanza


D riv e partielle et gradient3

Dérivée partielle et gradient

  • Un deuxième exemple:

Froduald Kabanza


D riv e partielle et gradient4

Dérivée partielle et gradient

  • Un deuxième exemple:où , ,

  • On remplace:

Froduald Kabanza


D riv e partielle et gradient5

Dérivée partielle et gradient

  • Un troisième exemple:

  • Dérivée partielle :équivaut à faire la dérivée deoù et on a une constante

Froduald Kabanza


D riv e partielle et gradient6

Dérivée partielle et gradient

  • Un troisième exemple:

Froduald Kabanza


D riv e partielle et gradient7

Dérivée partielle et gradient

  • Un troisième exemple:où ,

  • On remplace:

Froduald Kabanza


D riv e partielle et gradient8

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 :

Froduald Kabanza


Descente de gradient

Descente de gradient

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

Froduald Kabanza


Descente de gradient1

Descente de gradient

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

Froduald Kabanza


Apprentissage vue comme la minimisation d une perte

Apprentissage vue comme la minimisation d’une perte

  • 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!

Froduald Kabanza


Descente de gradient stochastique

Descente de gradient stochastique

  • 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 Titérations

    • - Pour chaque exemple d’entraînement

      • -

Froduald Kabanza


  • Login