Académique Documents
Professionnel Documents
Culture Documents
et connexionnisme
résumé de cours et exercices
couche de sortie
couche « cachée »
couche d’entrée
0 1 -7 4.2
entrées
Un premier neurone formel
i1
w1
I = ∑k =1 wk * ik
n
i2 w2
y
1
f (I ) =
i3 w3
1 + e−I
wn ⎧ f ( I ) si f ( I ) > T ⎫
in y=⎨ ⎬
⎩0 sin on ⎭
Une première illustration avec
JavaNNS
• Démarrez javaNNS
• Chargez le réseau font.net
– 576 neurones d’entrées
– 2 paquets de 24 neurones cachés
• 1 pour les lignes
• 1 pour les colonnes
– 75 neurones de sorties
– 150 patterns de 75 caractères (2 par caractères)
– Au chargement, le réseaux reconnaît ces caractères
– Vérifiez le
– Réinitialisez-le
– Tester l’apprentissage tel qu’il est configuré en observant la
progression des erreurs
Le perceptron
Le Perceptron
Warren Mc Culloh et Walter Pitts 1943
⎛ + 1, siI >= T ⎞
I = ∑k =1 wk * ik
n
y = ⎜⎜ ⎟⎟
⎝ − 1, siI < T ⎠
classiquement T = 0
w1 w2
• Apprentissage (Rossenblatt 1958) x1 x2
– Pour chaque nouvel exemple :
wnew = wold + β * y * x
⎛ + 1 si la réponse est correcte ⎞
β = ⎜⎜ ⎟⎟
⎝ − 1 si elle est fausse ⎠
Le Perceptron
exercices
w1
w0
A1
Catégorie A (+1) Catégorie B (-1) B1 A2
A1=(0.3,0.7) B1=(-0.6, 0.3)
A2=(0.7,0.3) B2=(-0.2, -0.8) B2
Départ : w0 =(-0.6,0.8)
A1(0.3,0.7) → I=0.38 → y=1 exemple bon
w1 =(-0.6+1*1*0.3,0.8+1*1*0.7)
w1 =(-0.3,1.5)
A2(0.7,0.3)
w2 =
B1(-0.6,0.3) terminez l’apprentissage
w3 = le résultat final re-classe-t-il tous les patterns ?
B2(-0.2,-0.8)
w4 =
Le Perceptron
exercices
• Tester la classification de nouveaux points. Comment sont-ils classés ?
Observer cette valeur relativement au vecteur des poids.
• Implémenter un algorithme de calcul de sortie d’un perceptron (java).
• Implémenter un algorithme d’apprentissage du perceptron.
• Utiliser cet algorithme pour répondre aux questions suivantes :
• Au fur et à mesure que l’on ajoute des points, que se passe-t-il pour le vecteur
des poids ?
• Quand le vecteur des poids est à peu près bon, est-ce que quelque chose peut
l’amener à diminuer ? Si oui quoi ?
• Quelle conséquence cela a sur l’écriture d’un programme informatique?
• Quelles sont vos remarques concernant l’utilisation du perceptron comme
modèle biologique du système neuronal ?
• Que se passe-t-il si un point noté +1 doit désormais être noté -1 ?
• Décrire un problème que le perceptron ne peut pas résoudre.
Apprentissage par minimisation
d’erreur
Minimisation d’erreur : Adaptive
linear element. Bernard Widrow et Ted Hoff 1960
⎛ + 1, siI >= T ⎞
I = ∑k =1 wk * ik y = ⎜⎜ ⎟⎟
n
⎝ − 1, siI < T ⎠
T =0
x1 w1
y Valeur désirée
x2 w
2
β *E*x
wnew = wold + 2
x
comparaison β = taux d ' apprentissage (0 < β < 1)
correction
Erreur : E delta-rule
Minimisation d’erreur : Adaptive linear
element. Bernard Widrow et Ted Hoff 1960
• W=(0.7,0.1)
• Il n’y a plus d’erreur pour B1
– Car I=-0.39 -> Y=-1
• Il n’y a pas non plus d’erreur pour A1, donc
c’est terminé
Adaline
exercices
• Tracer l’évolution du vecteur des poids lors
d’un apprentissage d’Adaline sur les
exemples suivants :
A = +1 B = -1
A1=(0.3,0.7) B1=(-0.6,0.3)
A2=(0.4,0.9) B2=(-0.4,-0.2)
A3=(0.5,0.5) B3=(0.3,-0.4)
A4=(0.7,0.3) B4=(-0.2,-0.8)
0 y = f ( I ) souvent sigmoide
0 1
1
f (I ) =
couche de sortie 1 + Exp(− I )
dérivée simple :
couche « cachée »
f ' ( I ) = f ( I ) − (1 − f ( I ))
∆wij = β * E * f ( I ) (0 < β < 1)
couche d’entrée
erreur en sortie :
0 1 -7 4.2 E sortie
j = y desiré
j − y actuel
j
w3 Erreur3
o j (t ) = f out (a j (t ))
– Exemple : Act_logistic :
1
a j (t + 1) = _( ∑ wij o j ( t ) −θ j )
1+ e i
SNNS : Fonctions d’activations
• Fonction Nom Usuel Expression
• Stimulus/réponse inconditionnels et
conditionnels (Pavlov)
• Aspect dynamique
• Oui mais …
– Dans quelle proportion (vitesse, borne)?
– Comment diminuer les liens non significatifs ?
– Neo-hebbian learning
Neo-hebbian learning seuil
n
y j (t + 1) − y j (t ) = ∆y j (t ) = − Ay j (t ) + I j (t ) + ∑ wij (t )[ yi (t − τ ) − T ]
i =1
i
outstar j
instar Stimulus
Stimulus inconditionné externe
Réponse inconditionnée
Stimulus conditionné
Réponse conditionnée
Apprentissage Hebbien différentiel
∆wij = β * ∆ yi * ∆ yj
Drive-Reinforcement Theory
• Se rapprocher de l’apprentissage naturel
– Apprentissage non linéaire
• Lent au début et rapide ensuite par accumulation
d’expérience
– Mémorisation des stimulus
• Le stimulus conditionnel avant l’inconditionnel
favorise l’apprentissage
τ
∆wij (t ) = ∆y j (t )∑ β wij (t − k ) ∆yi (t − k )
k =1
mémorisation
Apprentissage compétitif
Apprentissage compétitif
• Pas de feed-back : systèmes auto-organisés
• Exemple : Kohonen (inhibition latérale)
Liens d’organisation
Renforce les voisins
Inhibe les neurones éloignés
excitation
carte
Auto-organisatrice Distance
du neurone gagant
Kohonen
• Vision et ouïe du chat
• Topologie : les neurones activés par les hautes
fréquences sont localisés à l'opposé des neurones
sensibles au basses fréquences
• Un neurone va représenter une classe
– Identification de relief
– Identification de couleurs
– Deux neurones proches représentent des informations
similaires
Carte topologique ?
Carte topologique
Election d’un gagnant
1 j =1
wi1
wi2 Si les poids valent les entrées
2 wiM Neurone i la distance est nulle
M
Entrée : I couche de kohonen
Apprentissage
• Selection du neurone gagnant par calcul des
distances
• Modification des poids fonction de la
distance du gagnant
• La carte s’organise pour
• Si k est le neurone gagnant
I = ∑k =1 wk *ik
n
-4
• Modèle simplifié :
y = 0 si I ≤ 0
y = −1 si I > 0
Mémoire auto-associative
Apprentissage
• Loi de Hebb
– Sur p exemples
wij = ∑k =1 xik * x kj
p