Vous êtes sur la page 1sur 26

Réseaux de neurones multicouches

RCP208 1 2017-2018
Le neurone formel
• Système Nerveux : environ 100 milliards de neurones et 10 000 synapses par neurone

• Un modèle et non une copie du neurone biologique

RCP208 2 2017-2018
Le neurone produit scalaire
wij : poids synaptique d’un neurone j vers un neurone i. Les poids synaptiques jouent
un rôle de pondération des valeurs d’entrée d’un neurone
wi0 : seuil (ou biais) du neurone i

La fonction d’activation du neurone s’appliquera sur le résultat du produit scalaire


entre les entrées du neurone et les poids synaptiques correspondant, auquel on ajoute wi0

RCP208 3 2017-2018
Fonctions d’activation (exemples)

RCP208 4 2017-2018
Fonctions sigmoı̈de

1
1+e−kAi

1−e−kAi
a 1+e−kAi

RCP208 5 2017-2018
Classification

• Connaissant la position d’un point, déterminer automatiquement sa classe


• D’un point de vue géométrique
→ déterminer les surfaces séparatrices entre les classes
Solution
→ Rechercher des surfaces séparatrices parmi une famille paramétrée donnée
Apprentissage
→ Déterminer les bons paramètres pour réaliser au mieux la tâche de séparation

RCP208 6 2017-2018
Quelle famille de surfaces choisir ?
• Cas simple : une séparation linéaire

• Les surfaces séparatrices peuvent être (plus) complexes

RCP208 7 2017-2018
Exemple : 2 classes
Séparation par hyperplans
x ∈ Rn (entrée)


n
Hyperplan dans Rn défini par l’équation : (H) wi x i + w0 = 0
i=1

RCP208 8 2017-2018
Distance algébrique h de x à l’hyperplan


n
• Si on pose : g(x) = wi xi + w0 alors g(x) = 0 ⇔ x ∈ (H)
i=1

• L’hyperplan (H) sépare l’espace en 2 demi-espaces qui correspondent à :


D1 = {x/g(x) > 0} D2 = {x/g(x) < 0}
• g : fonction de décision
→ décider C1 si g(x) = W t X ≥ 0
→ décider C2 si g(x) = W t X < 0
Remarque : si w0 = 0 alors H passe par l’origine

RCP208 9 2017-2018
Formulation neuronale : cas de 2 classes

g : fonction de décision
→ décider C1 si g(x) ≥ 0
→ décider C2 si g(x) < 0

RCP208 10 2017-2018
Le perceptron : présentation

RCP208 11 2017-2018
Le perceptron : Illustartion : calcul du OU

RCP208 12 2017-2018
Le perceptron
Apprentissage
• On commence par initialiser les poids W de façon aléatoire
• A chaque présentation d’un exemple d’apprentissage k
– Calculer l’erreur : E k = dki − yik
dki : réponse attendue pour k
yik : sortie calculée par le réseau pour k
– Corriger les poids selon l’erreur
Si E k ̸= 0 Alors wij t t−1
= wij + ϵE k xj
ϵ : taux (pas) d’apprentissage
t : itération de minimisation
+ Seul les exemples en erreur contribuent à la correction des poids

RCP208 13 2017-2018
Le perceptron
• Le perceptron ne peut résoudre que des problèmes linéairement séparables.
• Le << OU>> est séparable linéairement

• Le <<XOR>> ne l’est pas

RCP208 14 2017-2018
Règle de Widrow-Hoff

RCP208 15 2017-2018
Comparaison des deux approches
Dans le cas dun problème de classification linéairement séparable
• Le perceptron s’arrêtera à la première
solution trouvée. Cette solution peut ne pas
être robuste (moins efficiente pour classer un
exemple qui n’a pas participé à l’apprentissage
,→ c’est la notion de généralisation)
• Avec la règle de Widrow-Hoff, on obtient
une solution qui est souvent plus robuste
Si le problème n’est pas linéairement séparable
• Avec Widrow-Hoff, on aboutit
toujours à une solution acceptable
• Le perceptron, par contre, ne trouve
pas une solution finale sur laquelle
s’arrêter, il oscille entre plusieurs
solutions possibles.

RCP208 16 2017-2018
Éléments d’apprentissage du Perceptron

RCP208 17 2017-2018
Exemple du ET logique

RCP208 18 2017-2018
Paysage de la fonction d’erreur

RCP208 19 2017-2018
Quelles famille de surfaces choisir ?

Si le problème n’est pas linéairement séparable les performances de la classification,


obtenues par un perceptron, seront mauvaises.

RCP208 20 2017-2018
Réseaux multicouches

• Les neurones d’entrées n’ont pas de fonctions d’activation


,→ leurs états étant imposés de l’extérieur
• Les neurones des couches cachées ont des fonctions d’activation sigmoı̈des
• Les neurones de sorties, suivant les applications, ont des fonctions d’activation
sigmoı̈des, linéaires, softmax · · ·

RCP208 21 2017-2018
Réseaux multicouches

• Souvent, les connexions sont complètes entre couches. Elles sont orientées d’une
couche i vers une couche j supérieur à i (j > i).
• Il n’y a donc pas de connexion d’une cellule vers une cellule de niveau inférieur
(donc pas de boucle), ni de connexion entre cellules d’une même couche.

RCP208 22 2017-2018
Réseaux multicouches

• Tous les neurones, sauf ceux d’entrées, sont également affectés d’une connexion de
seuil.

RCP208 23 2017-2018
Propagation avant des états

• On présente un vecteur input x = (x1 , x2 , · · · , xn ) à la couche d’entrée


,→ il sera propagé d’une couche à une autre vers la couche de sortie
y : étant le vecteur de sortie ”output” calculé.
G : fonction définie par le réseau : y = G(x, W)
W représente l’ensemble des poids synaptiques et des seuils

RCP208 24 2017-2018
Réseaux multicouches
Exemple de propagation avant
On suppose que les neurones 3, 4 et 5 ont la même fonction d’activation f.

Etat des neurones


S3 = f (w3,1 x1 + w3,2 x2 + w3,0 )
S4 = f (w4,1 x1 + w4,2 x2 + w4,0 )
S5 = f (w5,3 S3 + w5,4 S4 + w5,0 )

Ainsi dans ce cas :


Y = G(X, W )
= f [w5,3 f (w3,1 x1 + w3,2 x2 + w3,0 ) + w5,4 f (w4,1 x1 + w4,2 x2 + w4,0 ) + w5,0 ]

RCP208 25 2017-2018
Apprentissage
• On dispose d’un ensemble d’apprentissage
App = {(xk , dk ); k = 1, · · · , N}
,→ xk : représentation d’un individu
,→ dk : réponse désirée correspondante
• Le réseau définit une fonction Y = G(X, W)
• Pour un individu xk le réseau calcule la sortie yk
yk = G(xk , W)
• L’apprentissage consiste à trouver les poids W de façon que pour tout xk
yk ≈ dk

RCP208 26 2017-2018