cours apprentissage 2 : perceptron
TRANSCRIPT
Les reseaux de neurones
Cours Apprentissage 2 : Perceptron
Ludovic DENOYER - [email protected]
23 mars 2012
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones
Episode precedent
Apprentissage
Au lieu de programmer un ordinateur manuellement, donner al’ordinateur les moyens de se programmer lui-meme
Pourquoi
Problemes trop complexe
pas d’expert ou expert trop couteux
Personnalisation de l’information, grande quantited’information
Parce que c’est rigolo....
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones
Episode precedent
Apprentissage
Au lieu de programmer un ordinateur manuellement, donner al’ordinateur les moyens de se programmer lui-meme
Apprentissage supervise
On se limite a la problematique de classification binaire
Fournir au systeme un ensemble d’exemples etiquetesd’apprentissage
fθ : RN → [−1; +1]
Se programmer lui-meme = trouver les parametres optimaux
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones
Exemple : KNN
Parametres
fθ = k-plus-proches voisins
θ = ensemble des exemples d’apprentissage
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones
Generalisation
Generalisation
Un bon modele d’apprentissage est un modele qui generalisebien :
Evaluation du modele sur une base de test
Compromis entre un modele complique et un modele simple
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones
Generalisation
K = 1
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones
Generalisation
K = 3
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones
Generalisation
K = 5
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones
Generalisation
K = 20
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones
Generalisation
K = 100
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones
Generalisation
K = 200
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones
Exemple : KNN
Parametres
fθ = k-plus-proches voisins
θ = ensemble des exemples d’apprentissage
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones
Problematique du jour
Constat
1-NN est un modele :
Trop complexe
Qui possede beaucoup trop de parametres
Problematique
Quel modele (de classification) utiliser qui soit :
Simple
Peu de parametres
Efficace
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones
Inspiration Biologique
Neurone
Machine simple (en apparence)
qui permet d’apprendre
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones Pourquoi les reseaux de neurones ?
Inspiration biologique
Le cerveau naturel : un modele tres seduisant
Robuste et tolerant aux fautesFlexible. Facilement adaptableS’accomode d’informations incompletes, incertaines, vagues,bruitees...Massivement paralleleCapable d’apprentissage
Neurones
1011 neurones dans le cerveau humain104 connexions (synapses + axones) / neuronePotentiel d’action / periode refractaire / neuro-transmetteursSignaux excitateurs / inhibiteurs
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones Pourquoi les reseaux de neurones ?
Inspiration biologique
Le cerveau naturel : un modele tres seduisant
Robuste et tolerant aux fautesFlexible. Facilement adaptableS’accomode d’informations incompletes, incertaines, vagues,bruitees...Massivement paralleleCapable d’apprentissage
Neurones
1011 neurones dans le cerveau humain104 connexions (synapses + axones) / neuronePotentiel d’action / periode refractaire / neuro-transmetteursSignaux excitateurs / inhibiteurs
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones Pourquoi les reseaux de neurones ?
Les attraits pratiques
Neurones
Calculs parallelisables
Implantables directement sur circuits dedies
Robustes et tolerants aux fautes (calculs et representationsdistribues)
Algorithmes simples
D’emploi tres general
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones Pourquoi les reseaux de neurones ?
Les defauts
Opacite des raisonnements
Opacite des resultats
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones Pourquoi les reseaux de neurones ?
Historique
Premisses
Mc Culloch & Pitts (1943) : 1er modele de neurone formel.Rapport neurone et calcul logique : base de l’intelligenceartificielle.Regle de Hebb (1949) : apprentissage par renforcement ducouplage synaptique
Premieres realisations
Adaline (Widrow-Hoff, 1960)Perceptron (Rosenblatt, 1958-1962)Analyse de Minsky & Papert (1969)
Nouveaux modeles
Kohonen (apprentissage competitif), ...Hopfield (1982) (reseau boucle)Perceptron Multi-Couches (1985)
Analyse et developpements
Theorie du controle, de la generalisation (Vapnik), ...
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones Pourquoi les reseaux de neurones ?
Historique
Premisses
Mc Culloch & Pitts (1943) : 1er modele de neurone formel.Rapport neurone et calcul logique : base de l’intelligenceartificielle.Regle de Hebb (1949) : apprentissage par renforcement ducouplage synaptique
Premieres realisations
Adaline (Widrow-Hoff, 1960)Perceptron (Rosenblatt, 1958-1962)Analyse de Minsky & Papert (1969)
Nouveaux modeles
Kohonen (apprentissage competitif), ...Hopfield (1982) (reseau boucle)Perceptron Multi-Couches (1985)
Analyse et developpements
Theorie du controle, de la generalisation (Vapnik), ...
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones Pourquoi les reseaux de neurones ?
Historique
Premisses
Mc Culloch & Pitts (1943) : 1er modele de neurone formel.Rapport neurone et calcul logique : base de l’intelligenceartificielle.Regle de Hebb (1949) : apprentissage par renforcement ducouplage synaptique
Premieres realisations
Adaline (Widrow-Hoff, 1960)Perceptron (Rosenblatt, 1958-1962)Analyse de Minsky & Papert (1969)
Nouveaux modeles
Kohonen (apprentissage competitif), ...Hopfield (1982) (reseau boucle)Perceptron Multi-Couches (1985)
Analyse et developpements
Theorie du controle, de la generalisation (Vapnik), ...
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones Pourquoi les reseaux de neurones ?
Historique
Premisses
Mc Culloch & Pitts (1943) : 1er modele de neurone formel.Rapport neurone et calcul logique : base de l’intelligenceartificielle.Regle de Hebb (1949) : apprentissage par renforcement ducouplage synaptique
Premieres realisations
Adaline (Widrow-Hoff, 1960)Perceptron (Rosenblatt, 1958-1962)Analyse de Minsky & Papert (1969)
Nouveaux modeles
Kohonen (apprentissage competitif), ...Hopfield (1982) (reseau boucle)Perceptron Multi-Couches (1985)
Analyse et developpements
Theorie du controle, de la generalisation (Vapnik), ...
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones Pourquoi les reseaux de neurones ?
Inspiration Biologique
Neurone
Machine simple (en apparence)
qui permet d’apprendre
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones Pourquoi les reseaux de neurones ?
Perceptron de Rosenblatt (1960)
Perceptron de Rosenblatt
C’est le premier systeme artificiel capable d’apprendre parexperience, y compris lorsque son instructeur commet quelqueserreurs (ce en quoi il differe nettement d’un systemed’apprentissage logique formel).
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones Pourquoi les reseaux de neurones ?
Percetron de Rosenblatt (1960)
Fonction de decision
fθ(x) = g(x1∗θ1+x2∗θ2+x3∗θ3+x4∗θ4+x5∗θ5+x6∗θ6+x7∗θ7)Decision : fθ(x) > 0?
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones Pourquoi les reseaux de neurones ?
Percetron de Rosenblatt (1960)
Fonction de decision
fθ(x) = g(N∑i=1
xi ∗ θi )
Si g(x) = x : fθ(x) = 〈x ; θ〉
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones Pourquoi les reseaux de neurones ?
Percetron de Rosenblatt (1960)
Fonction de decision
fθ(x) = 〈x ; θ〉
θ = (1; 1)
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones Pourquoi les reseaux de neurones ?
Percetron de Rosenblatt (1960)
Fonction de decision
fθ(x) = 〈x ; θ〉
θ = (0.3;−0.5)
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones Pourquoi les reseaux de neurones ?
Percetron de Rosenblatt (1960)
Fonction de decision
Le perceptron est une machine de classification lineaire. Ilmodelise un hyperplan dans un espace vectoriel a
aUn truc tout droit qui coupe en deux
Perceptron KNN
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones Pourquoi les reseaux de neurones ?
2 parametres 600 parametres
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones Pourquoi les reseaux de neurones ?
Temps de calcul tres cours Temps de calcul prohibitif
Probleme
Le perceptron modelise une frontiere lineaire..... Est-ce que capeut apprendre quelquechose ?
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones Pourquoi les reseaux de neurones ?
Probleme
Le perceptron modelise une frontiere lineaire..... Est-ce que capeut apprendre quelquechose ?
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones Pourquoi les reseaux de neurones ?
Lineairement spearable
Probleme
Le perceptron modelise une frontiere lineaire..... Est-ce que capeut apprendre quelquechose ?
Informations....
3 points en dimension 2 sont toujours lineairement separablesLudovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones Pourquoi les reseaux de neurones ?
Lineairement spearable
Informations....
3 points en dimension 2 sont toujours lineairement separables4 points en dimension 3 sont toujours lineairement separables...n points en dimension n−1 sont toujours lineairement separables
Le perceptron est un modele adapte a l’apprentissage dans lesespaces de grande dimension.
texte
image
series financieres
...
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones Pourquoi les reseaux de neurones ?
L’algorithme du perceptron
Algorithme d’apprentissage
Initialiser θ aleatoirement
Repeter :Pour i = 1 a N
Si y i ∗ (< θ; x i >) ≤ 0 alors θ = θ + ε.y i .x i
Jusqu’a convergence
Algorithme de correction d’erreur
ε peut etre fixe ou variable (decroissant)
Demonstration
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones Pourquoi les reseaux de neurones ?
L’algorithme du perceptron
Algorithme d’apprentissage
Initialiser θ aleatoirement
Repeter :Pour i = 1 a N
Si y i ∗ (< θ; x i >) ≤ 0 alors θ = θ + ε.y i .x i
Jusqu’a convergence
DEMONSTRATION ! ! !
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones Pourquoi les reseaux de neurones ?
Theoreme de convergence du perceptron - Novikov 1962
Si :
∃R/∀x , ||x || ≤ Rles donnees peuvent etre speree avec une marge ρ
supθminiyi . < x i ; θ >≥ ρ (1)
L’ensemble d’apprentissage peut etre presente un nombresuffisant de fois
Alors :
L’algorithme converge apres au plus R2
ρ2corrections
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones Pourquoi les reseaux de neurones ?
Proprietes sur l’erreur de generalisation
Si :
Les donnees sont separablesElles sont en nombre infini: apres la k eme correction, les mk = 1+2 ln k−ln η
− ln(1−ε) donnees
presentees sont reconnues correctement
Alors :
Le perceptron converge en l ≤1+4 ln R
ρ−ln η
− ln(1−ε) .R2
ρ2etapes
avec une probabilite 1− η, l’erreur de test est ≤ ε
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones Pourquoi les reseaux de neurones ?
Perceptron : resume
Perceptron
Invente en 1960 - premier modele d’apprentissage...
...dont on a une preuve de converge (il apprend quelquechose).
Permet de faire de la classification lineaire...
... ce qui est bien suffisant en grande dimension.
Algorithme iteratif d’apprentissage...
...ne corrige que si il y a une erreur.
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones Pourquoi les reseaux de neurones ?
Reseau de neurones
Idee...
Si on en mettait plusieurs bout a bout ?
Reseau de neurones
Apparition en 1986
Constitue de plusieurs couches de neurones
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones Pourquoi les reseaux de neurones ?
Reseau de neurones
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones Pourquoi les reseaux de neurones ?
Reseau de neurone
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron
Les reseaux de neurones Pourquoi les reseaux de neurones ?
Conclusion
Le perceptron :
Classification lineaire
Modelisation par un hyper-plan
Algorithme d’apprentissage iteratif
TD/TP :
Implementation et comparaison avec KNN
Ludovic DENOYER - [email protected] Cours Apprentissage 2 : Perceptron