Chapitre 4

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 21

Chapitre 4: Apprentissage

Module: Réseaux de Neurones et


Apprentissage Automatique
Chargé de cours: Dr. Makhlouf A.
2

Introduction
L'apprentissage est vraisemblablement la propriété la
plus intéressante des réseaux neuronaux. Elle ne
concerne cependant pas tous les modèles, mais les plus
utilisés.
• Définition :
L'apprentissage est une phase du développement d'un
réseau de neurones durant laquelle le comportement
du réseau est modifié jusqu'à l'obtention du
comportement désiré. L'apprentissage neuronal fait
appel à des exemples de comportement.
3

Introduction
• Dans le cas des réseaux de neurones artificiels, on ajoute souvent à la
description du modèle l'algorithme d'apprentissage. Le modèle sans
apprentissage présente en effet peu d'intérêt.
• Dans la majorité des algorithmes actuels, les variables modifiées pendant
l'apprentissage sont les poids des connexions. L'apprentissage est la
modification des poids du réseau dans l'optique d'accorder la réponse du
réseau aux exemples et à l'expérience. Il est souvent impossible de décider à
priori des valeurs des poids des connexions d'un réseau pour une application
donnée. A l'issu de l'apprentissage, les poids sont fixés : c'est alors la phase
d'utilisation. Certains modèles de réseaux sont improprement dénommés à
apprentissage permanent. Dans ce cas il est vrai que l'apprentissage ne
s'arrête jamais, cependant on peut toujours distinguer une phase
d'apprentissage (en fait de remise à jour du comportement) et une phase
d'utilisation. Cette technique permet de conserver au réseau un
comportement adapté malgré les fluctuations dans les données d'entrées.
4

Introduction
Au niveau des algorithmes d'apprentissage, il a été défini
deux grandes classes selon que l'apprentissage est dit
supervisé ou non supervisé. Cette distinction repose sur la
forme des exemples d'apprentissage. Dans le cas de
l'apprentissage supervisé, les exemples sont des couples
(Entrée, Sortie associée) alors que l'on ne dispose que des
valeurs (Entrée) pour l'apprentissage non supervisé.
Remarquons cependant que les modèles à apprentissage non
supervisé nécessite avant la phase d'utilisation une étape de
labellisation effectuée l'opérateur, qui n'est pas autre chose
qu'une part de supervision.
5

La loi de Hebb, un exemple


d'apprentissage non supervisé
La loi de Hebb (1949) s'applique aux connexions
entre neurones, comme le représente la figure 1.

Figure 1. i le neurone amont, j le neurone aval et wij le poids de la


connexion.
6

La loi de Hebb, un exemple


d'apprentissage non supervisé
Elle s'exprime de la façon suivante:
"Si 2 cellules sont activées en même temps alors la force de
la connexion augmente".
La modification de poids dépend de la coactivation des neurones
présynaptique et postsynaptique, ainsi que le montre la table 1. xi et xj
sont respectivement les valeurs d'activation des neurones i et j, wij
(dérivée partielle du poids) correspond à la modification de poids
réalisée.

Table 1. La loi de Hebb.


7

La loi de Hebb, un exemple


d'apprentissage non supervisé
• La loi de Hebb peut être modélisée par les équations
suivantes (w(t+1) est le nouveau poids, wij(t) l'ancien) :

• L'algorithme d'apprentissage modifie de façon itérative


(petit à petit) les poids pour adapter la réponse obtenue
à la réponse désirée. Il s'agit en fait de modifier les poids
lorsqu'il y a erreur seulement.
8

La loi de Hebb, un exemple


d'apprentissage non supervisé
1/ Initialisation des poids et du seuil S à des valeurs (petites) choisies au hasard.
2/ Présentation d'une entrée El = (e1, ... en) de la base d'apprentissage.
3/ Calcul de la sortie obtenue x pour cette entrée :
a = Σ(wi . ei) - S (la valeur de seuil est introduite ici dans le calcul de la somme
pondérée)
x = signe (a) ( si a > 0 alors x = +1 sinon a ≤ 0 alors x = -1 )
4/ Si la sortie x est différente de la sortie désirée dl pour cet exemple d'entrée El
alors modification des poids (μ est une constante positive, qui spécifie le pas de
modification des poids) :
wij(t+1) = wij(t) + μ.(xi . xj)
5/ Tant que tous les exemples de la base d'apprentissage ne sont pas traités
correctement (i.e. modification des poids), retour à l'étape 2.
9

La loi de Hebb, un exemple


d'apprentissage non supervisé
• Exemple d'application de l'algorithme
d'apprentissage de Hebb :
Choisissons pour les neurones un comportement binaire.
Les entrées e1 et e2 sont considérées comme des
neurones (fig. 2).

Figure 2. Réseau de 3 neurones (les 2 entrées sont considérées comme deux


neurones) pour la résolution du problème exprimé table 2.
10

La loi de Hebb, un exemple


d'apprentissage non supervisé
Nous allons réaliser l'apprentissage sur un problème très
simple. La base d'apprentissage est décrite par la table 2 :

Table 2. Base d'exemples d'apprentissage


pour la loi de Hebb.
11

La loi de Hebb, un exemple


d'apprentissage non supervisé
1/ Conditions initiales : μ = +1, les poids et le seuil sont nuls.
2/ Calculons la valeur de x pour l'exemple (1) :
3/ a = w1.e1 + w2.e2 - S = 0.0 . 1 + 0.0 . 1 - 0.0 = 0 a ≤ 0 => x = -1
4/ La sortie est fausse, il faut donc modifier les poids en appliquant :
w1 = w1 + e1.x = 0.0 + 1.1 = 1
w2 = w2 + e2.x = 0.0 + 1.1 = 1
2/ On passe à l'exemple suivant (2) :
3/ a = 1.1 + 1.-1 -0.0 = 0 a ≤ 0 => x = -1
4/ La sortie est fausse, il faut donc modifier les poids en appliquant :
w1 = 1 + 1.1 = 2
w2 = 1 + 1.-1 = 0
12

La loi de Hebb, un exemple


d'apprentissage non supervisé
…/ L'exemple suivant (3) est correctement traité : a = -2 et x = -1 (la
sortie est bonne).
On passe directement, sans modification des poids à l'exemple (4).
Celui-ci aussi est correctement traité. On revient alors au début de la
base d'apprentissage : l'exemple (1). Il est correctement traité, ainsi
que le second (2). L'algorithme d'apprentissage est alors terminé :
toute la base d'apprentissage a été passée en revue sans modification
des poids.
13

La loi de Hebb, un exemple


d'apprentissage non supervisé
Question : Soit le réseau composé de 4 neurones d'entrée et d'un
neurone de sortie (w1 = w2 = w3 = w4 = S = 0) et la base d'apprentissage :

Recherchez les valeurs de poids qui résolvent le problème.


14

La loi de Hebb, un exemple


d'apprentissage non supervisé
Réponse : Cet algorithme d'apprentissage ne permet pas de
trouver une solution à ce problème. Nous ne sommes capables
d'exprimer une combinaison des activations en corrélation avec
la sortie. Pourtant, il existe des solutions comme par exemple
(w1 = -0.2, w2 = -0.2, w3 = 0.6, w4 = 0.2). Un algorithme de
calcul efficace pour ce problème est l'apprentissage sur le
modèle du Perceptron abordé au partie suivante.

Remarque : Il existe une possibilité de calculer les valeurs des


connexions à partir des exemples, sans utiliser l'algorithme
itératif. Si l'on initialise les poids à zéro et que l'on présente les
exemples de la base d'apprentissage, la valeurs des poids à
l'issue de l'apprentissage est :
wij = Σl xil . xjl où l est l'indice de l'exemple dans la base d'apprentissage
15

La règle d'apprentissage du Perceptron,


un exemple d'apprentissage supervisé

La règle de Hebb ne s'applique pas dans certain


cas, bien qu'une solution existe (cf. exercice du
paragraphe précédent). Un autre algorithme
d'apprentissage a donc été proposé, qui tient
compte de l'erreur observée en sortie.
16

La règle d'apprentissage du Perceptron,


un exemple d'apprentissage supervisé
L'algorithme d'apprentissage du Perceptron est semblable à celui utilisé pour la loi de Hebb.
Les différences se situent au niveau de la modification des poids.
1/ Initialisation des poids et du seuil S à des valeurs (petites) choisies au hasard.
2/ Présentation d'une entrée El = (e1, ... en) de la base d'apprentissage.
3/ Calcul de la sortie obtenue x pour cette entrée :
a = Σ (wi . ei) - S
x = signe (a) ( si a > 0 alors x = +1 sinon a ≤ 0 alors x = -1 )
4/ Si la sortie x du Perceptron est différente de la sortie désirée dl pour cet exemple d'entrée
El alors modification des poids (μ le pas de modification) :
wi(t+1) = wi(t) + μ.((d l - x).ei)
Rappel : dl = +1 si E est de la classe 1, dl = -1 si E est de la classe 2 et (dl - x) est une
estimation de l'erreur.
5/ Tant que tous les exemples de la base d'apprentissage ne sont pas traités correctement
(i.e. modification des poids), retour à l'étape 2.
17

La règle d'apprentissage du Perceptron,


un exemple d'apprentissage supervisé
• Exemple de fonctionnement de l'algorithme d'apprentissage
du Perceptron :
Base d'exemples d'apprentissage :
18

La règle d'apprentissage du Perceptron,


un exemple d'apprentissage supervisé
1/ Conditions initiales : w1 = -0.2, w2 = +0.1, S = 0.2, (μ = +0.1)
2/ a(1) = -0.2 + 0.1 -0.2 = -0.3
3/ x(1) = -1 (la sortie désirée d(1) = +1, d'où modification des poids)
4/ w1 = -0.2 + 0.1 . (1 + 1) . (+1) = 0
w2 = +0.1 + 0.1 . (1 + 1) . (+1) = +0.3
2/ a(2) = +0.3 - 0.2 = +0.1
3/ x(2) = +1 Faux
4/ w1 = 0 + 0.1 . (-1 - 1) . (-1) = +0.2
w2 = +0.3 + 0.1 . (-1 - 1) . (+1) = +0.1
2-3/ a(3) = -0.2 -0.1 -0.2 = -0.5 Ok
2-3/ a(4) = +0.2 - 0.1 - 0.2 = -0.1 Ok
2-3/ a(1) = +0.2 + 0.1 - 0.2 = +0.1 Ok
2-3/ a(2) = -0.2 + 0.1 - 0.2 = -0.1 Ok
5/ Tous les exemples de la base ont été correctement traités, l'apprentissage
est terminé.
19

La règle d'apprentissage du Perceptron,


un exemple d'apprentissage supervisé
Le Perceptron réalise une partition de son espace
d'entrée en 2 classes (1 et 2) selon la valeur de sa sortie
(+1 ou -1). La séparation de ces deux zones est effectuée
par un hyperplan (fig. 3). L'équation de la droite
séparatrice est :
w1.e1 +w2.e2 - S = 0
20

La règle d'apprentissage du Perceptron,


un exemple d'apprentissage supervisé

Figure 3. Partition de l'espace d'entrée de dimension


2 réalisée par un Perceptron se comportant comme
un ET booléen. Les 4 exemples de la base
d'apprentissage sont les 4 arêtes du carré. Les
paramètres du Perceptron sont : w1 = 0.2, w2 = 0.1
et S = -0.2.
21

La règle d'apprentissage du Perceptron,


un exemple d'apprentissage supervisé
Remarque : si les exemples d'apprentissage étaient
différents, par exemple représentant le OU, alors c'est le
comportement du OU qui aurait été appris avec le même
algorithme d'apprentissage. D'autre part, il est possible
de considéré que le seuil S est le poids d'une connexion
dont le neurone amont est toujours dans l'état -1. La
valeur de seuil se modifie alors en même temps que les
autres poids. La convergence de l'algorithme vers la
solution est plus rapide (si cette solution existe). On
appelle itération d'apprentissage, le passage de tous les
exemples de la base d'apprentissage une fois dans
l'algorithme.

Vous aimerez peut-être aussi