Université Sidi Mohammed Ben Abdellah
Faculté des Sciences Dhar El Mahraz – Fès
Intelligence artificielle
Réseaux de Neurones
Artificiels (2)
Pr. EL BOURAKADI Dounia
Email:
[email protected] Année universitaire 2023/2024
Neurone artificiel
La sortie d’un neurone artificiel est égale: Oi = f(Ii) = f(∑ xjwj), avec 1 ≤ j ≤ N
Il y a toutefois un poids supplémentaire appelé "coefficient du biais/seuil" w0 ;
supposé lié à une information x0 = -1 (ou x0 = 1)
n n
f
Neurone artificiel
• Seuil des fonctions:
Le seuil de la fonction de Heaviside est en x = 0 et vaut 1.
Le seuil de la fonction sigmoïde est en x=0 et vaut 1/2.
• Seuil du neurone artificiel:
n n n
• On atteint donc le seuil de la fonction d'activation lorsque la somme
pondérée des informations d'entrée vaut le coefficient de biais.
De plus:
Neurone artificiel
• Cette équation définit un hyperplan qui sépare
l’espace des informations d'entrées en deux parties.
• Les coordonnées seront alors (x1, ..., xn).
• En dimension 2, un hyperplan est par conséquent une droite.
Types des réseaux de neurones
Il existe deux grandes catégories des RN:
• Les réseaux monocouches: Perceptron monocouche
• Les réseaux multicouches: Perceptron multicouche; Multi-
Layer Perceptron (MLP)
Perceptron monocouche
Le perceptron est le RN le plus simple qui permet une classification
binaire.
Il est décrit de la manière suivante:
•Il possède n informations en entrée et p neurones en sortie;
•Les neurones sont généralement alignés verticalement.
•Toutes les entrées sont directement connectées aux sorties.
Perceptron monocouche
Pour la suite, on notera :
•X = (xi)1 <= i <= n les n informations d'entrée ;
•wi,j pour 1 <= i <= n et 1 <= j <= p, le poids reliant l'information xi et le
neurone j puis yj l'activation (sortie) du j-ème neurone ;
•w0,j le coefficient de biais, également appelé seuil, du j-ème neurone ;
•inj la donnée d'entrée (somme pondérée) du j-ème neurone.
Pour définir notre perceptron:
•On commence par initialisation aléatoire des poids.
•Ensuite, on ajuste les poids selon un algorithme d’apprentissage jusqu’à
la convergence du processus.
•Deux types de perceptron:
1. le perceptron à seuil
2. le perceptron basé sur la descente du gradient
Perceptron monocouche à seuil
Algorithme 1: Perceptron à seuil:
1/ Initialisation des poids (y compris le bias) à des valeurs (petites) choisies
au hasard.
2/ Présentation d'une entrée X = (x0, x1, ..., xn) de la base d'apprentissage.
3/ Calcul de la sortie obtenue y pour cette entrée : x = (wi . xi)
y = f(x) = signe (x) ( si x ≥ 0 alors y = +1 sinon alors y = 0 )
4/ Si la sortie y du perceptron est différente de la sortie désirée yd pour cet
exemple d'entrée → alors modification des poids:
wi (t+1) = wi (t) + μ.Err. xi où l’erreur : Err= yd – y.
et μ est le pas de modification choisi entre 0 et 1.
5/ On répète de 2) à 4) jusqu’à la convergence du processus. On retient
alors les derniers poids .
Perceptron monocouche à seuil
Convergence ?
On peut terminer l’algorithme si le processus converge:
1. On fixe un nombre maximum d’itérations.
2. On fixe une erreur minimale à atteindre.
3. Plus aucune correction effectuée en passant toutes les données.
4. L’erreur globale ne diminue plus.
5. Les poids sont stables.
Perceptron monocouche à seuil
On peut construire des perceptrons capables de réaliser les fonctions logiques :
ET / OU. Cependant:
• Le perceptron est incapable de distinguer les patrons non linéairement
séparables.
• Exemple: le OU Exclusif (XOR): Données non linéairement séparables !
Perceptron monocouche à seuil
Exercice 1: Perceptron qui calcule le ET logique
Initialisation aléatoire des poids : w0 = 0.1; w1 = 0.2; w2 = 0.05
On suppose x0 = 1 et μ = 0,1
0.1 + 0.2 𝑥1 + 0.05 𝑥2 = 0 ⇔ 𝑥2 = −4.0 𝑥1 − 2.0
Perceptron monocouche à seuil
Perceptron monocouche à seuil
Perceptron monocouche à seuil
Perceptron monocouche à seuil
Exercice 2: Perceptron qui calcule le OU logique
Appliquer l'algorithme du perceptron à seuil sur les données suivantes:
X1 X2 Yd
0 0 0
0 1 1
1 0 1
1 1 1
On suppose:
• l’initialisation des poids: w0=0; w1 = 1; w2 = -1;
• le taux d’apprentissage 1;
• y = f(x) = 1 si x > 0 ; 0 sinon ;
• X0=1
Perceptron monocouche à seuil
Exercice 2:
Aucune entrée ne modifie le perceptron à partir de cette étape. Vous pouvez aisément
vérifier que ce perceptron calcule le OU logique sur les entrées x1 et x2.
Perceptron monocouche à seuil
Exercice 3: Apprentissage d'un ensemble linéairement séparable
X1 X2 Yd
0 2 1
2 0 0
1 1 1
3 0,5 0
1 2,5 1
On suppose:
• l’initialisation des poids: w0=0; w1 = 0; w2 = 0; et taux d’apprentissage 1;
• y = f(x) = 1 si x > 0 ; 0 sinon ;
• X0=1
Quelle est la fonction obtenue par ce perceptron? Dessinez la droite frontière et
montrer qu'elle sépare correctement les deux classes définies par cette fonction.
Perceptron monocouche à seuil
Exercice 3: Apprentissage d'un ensemble linéairement séparable
Aucune entrée ne modifie le perceptron à partir de cette étape car ce perceptron
classifie correctement tous les exemples de la base d’apprentissage. Le perceptron
de sortie associe la classe 1 aux couples (X1, X2) tels que X2>X1/3 - 1/3
Perceptron monocouche à seuil
Exercice 4:
Appliquer l'algorithme du perceptron à seuil sur les données d'apprentissage suivantes:
X1 X2 Yd
2 0 1
0 3 0
3 0 0
1 1 1
On suppose l’initialisation des poids: w0=0,5; w1 = w2 = 0; et le taux d’apprentissage 0,1.
Perceptron monocouche à sigmoïde
C’est le perceptron qui utilise la fonction sigmoïde comme
fonction d’activation.
Cette fonction possède plusieurs propriétés qui la rendent
intéressante comme fonction d’activation:
• Elle n’est pas polynomiale;
• Elle est monotone, continue et dérivable partout;
• Elle renvoie des valeurs dans l'intervalle [0 , 1];
• On peut aussi calculer sa dérivée en un point de façon très efficace à
partir de sa valeur en ce point. Ceci réduit le temps calcul nécessaire à
l'apprentissage d'un réseau de neurones: g’(x)= g(x)(1- g(x)) .
Perceptron monocouche à sigmoïde
• L’idée qui sous-tend le perceptron à sigmoïde consiste à ajuster les poids
du réseau pour minimiser la mesure de l’erreur sur l’ensemble
d’apprentissage.
• Pour un seul exemple d’apprentissage avec un vecteur entrée x et une
sortie vraie y, la mesure « classique » de l’erreur est l’erreur
quadratique qui s’écrit comme suit:
• On peut utiliser la descente de gradient pour réduire l’erreur
quadratique en calculant la dérivée partielle de E par rapport à
chaque poids. On a :
E Err
= Err
W j W j
Remarque: si f = un donc f’ = (n u n-1) . u’ = n .u n-1 . u’
Perceptron monocouche à sigmoïde
• Démonstration:
Remarque: Si f(x)=g(ax) donc f ′ (x)=a .g′(ax)
• Lorsqu’on veut réduire E, on actualise les poids comme suit :
W j = W j + Err g ' ( in ) x j
Perceptron monocouche à sigmoïde
Algorithme 2: Perceptron à sigmoide basé sur la descente du
gradient:
1/ Initialisation des poids (y compris le bias) à des valeurs (petites)
choisies au hasard.
2/ Présentation d'une entrée X = (x0, x1, ..., xn) de la base d'apprentissage.
3/ Calcul de la sortie obtenue y pour cette entrée : x = (wi . xi)
y = g (x ) =
4/ Calculer l’erreur par: Err= yd – y = yd – g(x)
Modifier les poids par: wi (t+1) = wi (t) + α.Err. g ’(x). xi
et α est le pas de modification choisi entre 0 et 1.
5/ On répète jusqu’à la convergence du processus. On retient alors les
derniers poids .