0% ont trouvé ce document utile (0 vote)
1 vues12 pages

PmcNotes

Le document présente un cours complet sur le Perceptron Multi-Couches (PMC) dans le cadre de l'apprentissage automatique. Il couvre des concepts fondamentaux tels que l'intelligence artificielle, le neurone biologique et artificiel, ainsi que des techniques comme la rétropropagation de l'erreur et l'implémentation en Python. Le cours est structuré en plusieurs sections détaillant les modèles mathématiques, l'architecture du PMC et ses applications.

Transféré par

lougdalihalima6
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
1 vues12 pages

PmcNotes

Le document présente un cours complet sur le Perceptron Multi-Couches (PMC) dans le cadre de l'apprentissage automatique. Il couvre des concepts fondamentaux tels que l'intelligence artificielle, le neurone biologique et artificiel, ainsi que des techniques comme la rétropropagation de l'erreur et l'implémentation en Python. Le cours est structuré en plusieurs sections détaillant les modèles mathématiques, l'architecture du PMC et ses applications.

Transféré par

lougdalihalima6
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Machine Learning

Cours complet — Perceptron Multi-Couches

Contenu du cours :
1. Intelligence Artificielle et Apprentissage Automatique
2. Le Neurone Biologique et Artificiel
3. Le Perceptron Simple
4. Le Perceptron Multi-Couches (PMC)
5. La Rétropropagation de l’Erreur
6. Exemple Numérique Complet
7. Implémentation en Python

Mohammed Madiafi
ENSA Safi — Université Cadi Ayyad

13 mars 2026
Génie Informatique et Intelligence Artificielle Machine Learning — PMC

Table des matières


1 Intelligence Artificielle et Apprentissage Automatique 2
1.1 Définition de l’Intelligence Artificielle . . . . . . . . . . . . . . . . . . . . . 2
1.2 Apprentissage Automatique (Machine Learning) . . . . . . . . . . . . . . . 2
1.3 Types d’apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Le Neurone Biologique 3

3 Le Perceptron Simple 3
3.1 Modèle mathématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.2 La fonction d’activation sigmoïde . . . . . . . . . . . . . . . . . . . . . . . 3
3.3 Représentation graphique du perceptron . . . . . . . . . . . . . . . . . . . 4

4 Le Perceptron Multi-Couches (PMC) 4


4.1 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4.2 Propagation des signaux d’entrée . . . . . . . . . . . . . . . . . . . . . . . 4
4.3 Applications du PMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

5 La Rétropropagation de l’Erreur 5
5.1 Pourquoi la rétropropagation ? . . . . . . . . . . . . . . . . . . . . . . . . . 5
5.2 Calcul de l’erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5.2.1 Erreur locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5.2.2 Erreur globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5.3 Dérivée de la fonction sigmoïde . . . . . . . . . . . . . . . . . . . . . . . . 6
5.4 Mise à jour des poids — Couche de sortie . . . . . . . . . . . . . . . . . . . 6
5.5 Mise à jour des poids — Couches cachées . . . . . . . . . . . . . . . . . . . 7
5.6 Algorithme complet de rétropropagation . . . . . . . . . . . . . . . . . . . 7

6 Exemple Numérique Complet 8


6.1 Étape 1 : Propagation avant . . . . . . . . . . . . . . . . . . . . . . . . . . 8
6.2 Étape 2 : Calcul de l’erreur . . . . . . . . . . . . . . . . . . . . . . . . . . 8
6.3 Étape 3 : Rétropropagation . . . . . . . . . . . . . . . . . . . . . . . . . . 8
6.4 Résumé des corrections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

7 Implémentation en Python 9
7.1 Classe Neurone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
7.2 Classe Couche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
7.3 Classe PMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Conclusion 11

1
Génie Informatique et Intelligence Artificielle Machine Learning — PMC

1 Intelligence Artificielle et Apprentissage Automatique


1.1 Définition de l’Intelligence Artificielle
Définition
Intelligence Artificielle (IA) : simulation des aptitudes des êtres vivants par un
système informatique. Elle regroupe la capacité d’un système à :
— Interagir avec son environnement,
— S’adapter à ses changements.
Un système intelligent prend des décisions de manière logique en se basant sur
des données, contrairement à l’homme qui se base sur les émotions.

1.2 Apprentissage Automatique (Machine Learning)


Définition
L’apprentissage automatique est l’aptitude d’un système à améliorer ses perfor-
mances concernant la réalisation d’une tâche bien déterminée, par interaction avec
son environnement.
Il nécessite :
— Un algorithme d’apprentissage,
— Des données (base d’apprentissage).

1.3 Types d’apprentissage


Il existe trois grandes familles d’apprentissage :

Type Description Exemple


Supervisé Données étiquetées (on Reconnaissance d’images
connaît les réponses) annotées
Non supervisé Données non étiquetées Regroupement de clients
— le système cherche des
structures cachées
Par renforcement Apprentissage par essai/er- Jeux vidéo, robots
reur avec récompenses

Analogie
Apprentissage supervisé : c’est comme apprendre à lancer une balle dans un
panier de basket. À chaque lancer raté, tu identifies ce qui n’allait pas (l’angle, la
force) et tu corriges. Quelqu’un te dit si tu as réussi ou non.
Apprentissage non supervisé : c’est comme trier des objets inconnus en groupes
sans savoir à l’avance ce que sont ces groupes.

2
Génie Informatique et Intelligence Artificielle Machine Learning — PMC

2 Le Neurone Biologique
Le neurone artificiel s’inspire du neurone biologique. Voici ses composants principaux :
— Corps cellulaire (soma) : contient le noyau avec le génome (ADN) et le plasma.
— Dendrites : jouent le rôle de récepteurs. Ils permettent au neurone de recevoir les
signaux émis par d’autres neurones.
— Axone : prolongement centrifuge qui transmet le signal vers d’autres neurones via
les synapses. La juxtaposition d’axones longs forme un nerf.

Définition
Principe de fonctionnement : lorsque l’excitation issue des dendrites dépasse
un certain seuil, le neurone s’active et génère un signal qu’il transmet à d’autres
neurones par le biais de son axone.

3 Le Perceptron Simple
3.1 Modèle mathématique
Le perceptron est le modèle mathématique du neurone biologique. Il effectue deux
opérations successives :

Formule clé
Étape 1 — Somme pondérée :
p
X
v= ωi ei + θ
i=1

Étape 2 — Fonction d’activation :

s = φ(v)

Où :
— ei : i-ème entrée (caractéristique de l’objet),
— ωi : poids synaptique associé à ei ,
— θ : biais (seuil),
— φ : fonction d’activation (ex : sigmoïde).

3.2 La fonction d’activation sigmoïde


La fonction d’activation la plus courante est la sigmoïde :

Formule clé
1
φ(v) =
1 + e−v
Elle écrase toute valeur v dans l’intervalle ]0, 1[.

3
Génie Informatique et Intelligence Artificielle Machine Learning — PMC

Exemple
Avec une entrée v = 0.97 :
1 1
φ(0.97) = ≈ ≈ 0.725
1 + e−0.97 1 + 0.379

3.3 Représentation graphique du perceptron


e1
ω1
ω2 v s = φ(v)
e2 Σ φ s

ω3
e3

4 Le Perceptron Multi-Couches (PMC)


4.1 Architecture
Définition
Un Perceptron Multi-Couches (PMC) est un réseau de neurones organisé en
couches successives :
1. Couche d’entrée : reçoit les données brutes,
2. Couche(s) cachée(s) : transforment les données,
3. Couche de sortie : produit la prédiction finale.
Chaque neurone d’une couche est connecté à tous les neurones de la couche suivante
(connexions complètes).

4.2 Propagation des signaux d’entrée


La sortie du neurone k de la couche de sortie après propagation du signal relatif à
l’objet n est calculée comme suit :

Formule clé
cj
X
vk (n) = wkj yj (n)
j=1

 1
yk (n) = φ vk (n) =
1 + e−vk (n)
Où yj (n) est la sortie du neurone j de la couche précédente.

4
Génie Informatique et Intelligence Artificielle Machine Learning — PMC

4.3 Applications du PMC


Le PMC peut être utilisé pour :
— Classification : distinguer des catégories (ex : chat vs chien),
— Approximation de fonctions : apprendre à reproduire une courbe,
— Compression : réduire la dimensionnalité des données.

5 La Rétropropagation de l’Erreur
5.1 Pourquoi la rétropropagation ?
Analogie
Imagine que tu apprends à lancer une balle dans un panier de basket :
1. Tu lances la balle → le réseau fait une prédiction,
2. Tu rates → il y a une erreur,
3. Tu identifies que ton angle était mauvais → tu trouves le responsable,
4. Tu corriges ton angle → tu ajustes les poids.
La rétropropagation remonte de la sortie vers l’entrée, exactement comme tu
cherches la cause de l’erreur depuis le résultat final.

5.2 Calcul de l’erreur


5.2.1 Erreur locale
Formule clé
L’erreur locale au neurone k de la couche de sortie est :

ek (n) = dk (n) − yk (n)

Où dk (n) est la valeur désirée et yk (n) la valeur obtenue.

5.2.2 Erreur globale


Attention !
On ne peut pas simplement additionner les erreurs car elles peuvent s’annuler !
Exemple : e1 = +2, e2 = −3, e3 = +1 ⇒ somme = 0 (illusion d’un réseau parfait !).

La solution : mettre les erreurs au carré pour éviter les annulations.

5
Génie Informatique et Intelligence Artificielle Machine Learning — PMC

Formule clé
Erreur globale (fonction de coût) :
k c
1X
ξ(n) = e2 (n)
2 k=1 k

1
Le 2
simplifie les calculs de dérivées. Le but de l’apprentissage est de minimiser ξ.

Exemple
Avec 3 neurones de sortie ayant les erreurs e1 = 2, e2 = −3, e3 = 1 :
1 1
ξ = (22 + (−3)2 + 12 ) = (4 + 9 + 1) = 7
2 2

5.3 Dérivée de la fonction sigmoïde


La dérivée de la sigmoïde joue un rôle central dans la rétropropagation.

Formule clé
Démonstration :
φ(v) = (1 + e−v )−1
En posant u = 1 + e−v , on obtient u′ = −e−v , donc :

e−v
φ′ (v) =
(1 + e−v )2

En utilisant le fait que e−v = (1 + e−v ) − 1 :


 
′ 1 1 1 1
φ (v) = −v
− −v
= 1−
1+e (1 + e ) 2 1 + e−v 1 + e−v

φ′ (v) = φ(v) 1 − φ(v) = y(1 − y)




Définition
Interprétation : y(1 − y) mesure la sensibilité du neurone. Plus y est proche de
0 ou de 1, moins le neurone peut changer. La sensibilité maximale est atteinte pour
y = 0.5.

5.4 Mise à jour des poids — Couche de sortie


La règle de mise à jour des poids repose sur la descente de gradient :

6
Génie Informatique et Intelligence Artificielle Machine Learning — PMC

Formule clé
∂ξ(n)
∆wkj (n) = −η = η δk (n) yj (n)
∂wkj
Avec : 
δk (n) = ek (n) · yk (n) · 1 − yk (n)
Où :
— η : taux d’apprentissage (contrôle la vitesse de correction),
— δk : gradient local (responsabilité du neurone k),
— yj : sortie du neurone j de la couche précédente.

Analogie
Corriger les poids proportionnellement à leur responsabilité, c’est comme dans une
soupe trop salée : on réduit surtout le sel (le plus responsable), et peu les autres
ingrédients.

5.5 Mise à jour des poids — Couches cachées


Pour les couches cachées, le neurone ne connaît pas l’erreur directement. Il la reçoit
en remontant depuis la couche de sortie :

Formule clé

∆wji (n) = η δj (n) yi (n)


Avec : ck
X
δj (n) = yj (n) 1 − yj (n) δk (n) wkj
k=1
P
Le terme k δk · wkj représente l’erreur qui remonte depuis la couche de sortie
vers la couche cachée.

5.6 Algorithme complet de rétropropagation


Algorithme de rétropropagation
Répéter pour chaque objet n jusqu’à convergence :
1. Propagation avant : calculer les sorties de chaque couche, de l’entrée vers
la sortie.
2. Calcul de l’erreur : ek (n) = dk (n) − yk (n) pour chaque neurone de sortie.
3. Calcul des gradients locaux :
— Couche de sortie : δk = ek · yk (1 −P
yk )
— Couches cachées : δj = yj (1 − yj ) k δk wkj
4. Mise à jour des poids : w ← w + η δ y
Recommencer jusqu’à ce que ξ soit suffisamment petit.

7
Génie Informatique et Intelligence Artificielle Machine Learning — PMC

6 Exemple Numérique Complet


On considère un réseau simple :
— 1 entrée : e = 2
— 1 neurone caché avec poids w1 = 0.5
— 1 neurone de sortie avec poids w2 = 0.3
— Valeur désirée : d = 1, taux d’apprentissage η = 0.1

6.1 Étape 1 : Propagation avant


Neurone caché :
v1 = w1 × e = 0.5 × 2 = 1
1
y1 = φ(1) = ≈ 0.73
1 + e−1
Neurone de sortie :

v2 = w2 × y1 = 0.3 × 0.73 = 0.219


1
y2 = φ(0.219) = ≈ 0.554
1 + e−0.219

6.2 Étape 2 : Calcul de l’erreur

e = d − y2 = 1 − 0.554 = 0.446
1 1
ξ = e2 = (0.446)2 ≈ 0.099
2 2

6.3 Étape 3 : Rétropropagation


Gradient local de la couche de sortie :

δ2 = e × y2 (1 − y2 ) = 0.446 × 0.554 × 0.446 ≈ 0.110

Correction de w2 :

∆w2 = η × δ2 × y1 = 0.1 × 0.110 × 0.73 ≈ 0.008

w2nouveau = 0.3 + 0.008 = 0.308


Gradient local de la couche cachée :

δ1 = y1 (1 − y1 ) × δ2 × w2 = 0.73 × 0.27 × 0.110 × 0.3 ≈ 0.0065

Correction de w1 :

∆w1 = η × δ1 × e = 0.1 × 0.0065 × 2 ≈ 0.0013

w1nouveau = 0.5 + 0.0013 = 0.5013

8
Génie Informatique et Intelligence Artificielle Machine Learning — PMC

6.4 Résumé des corrections


Poids Avant Correction Après
w2 0.300 +0.008 0.308
w1 0.500 +0.001 0.501

Définition
w2 a été plus corrigé que w1 car il est plus proche de l’erreur (couche de sortie).
C’est le principe fondamental de la rétropropagation : correction proportionnelle à
la responsabilité.

7 Implémentation en Python
Voici l’implémentation complète des 3 classes représentant un PMC :

7.1 Classe Neurone

Listing 1 – Classe Neurone


1 import math
2 import random
3

4 class Neurone :
5 def __init__ ( self , nb_entrees ) :
6 # Poids aleatoires entre -1 et 1
7 self . poids = [ random . uniform ( -1 , 1) for _ in range (
nb_entrees ) ]
8 self . biais = random . uniform ( -1 , 1)
9 self . sortie = 0 # Memorise la sortie pour la
retropropagation
10

11 def calculSortie ( self , entrees ) :


12 # Etape 1 : somme ponderee
13 v = sum ( self . poids [ i ] * entrees [ i ]
14 for i in range ( len ( self . poids ) ) ) + self . biais
15 # Etape 2 : fonction sigmoide
16 self . sortie = 1 / (1 + math . exp ( - v ) )
17 return self . sortie

7.2 Classe Couche

Listing 2 – Classe Couche


1 class Couche :
2 def __init__ ( self , nb_neurones , nb_entrees ) :
3 # Une couche = liste de neurones
4 self . neurones = [ Neurone ( nb_entrees ) for _ in range (
nb_neurones ) ]

9
Génie Informatique et Intelligence Artificielle Machine Learning — PMC

6 def calculSortie ( self , entrees ) :


7 # Chaque neurone calcule sa propre sortie
8 return [ neurone . calculSortie ( entrees ) for neurone in self .
neurones ]

7.3 Classe PMC

Listing 3 – Classe PMC (Perceptron Multi-Couches)


1 class PMC :
2 def __init__ ( self , nb_entrees , nb_neurones_cache ,
nb_neurones_sortie ) :
3 # Couche cachee : recoit les entrees
4 self . couche_cachee = Couche ( nb_neurones_cache , nb_entrees )
5 # Couche de sortie : recoit les sorties de la couche cachee
6 self . couche_sortie = Couche ( nb_neurones_sortie ,
nb_neurones_cache )
7

8 def calculSortie ( self , entrees ) :


9 # Etape 1 : propager dans la couche cachee
10 sorties_cachees = self . couche_cachee . calculSortie ( entrees )
11 # Etape 2 : propager dans la couche de sortie
12 sorties_finales = self . couche_sortie . calculSortie (
sorties_cachees )
13 return sorties_finales
14

15 # --- Test ---


16 reseau = PMC ( nb_entrees =2 , nb_neurones_cache =3 , nb_neurones_sortie
=1)
17 entrees = [0.5 , 0.8]
18 print ( reseau . calculSortie ( entrees ) )

Attention !
Les poids sont initialisés aléatoirement et non à zéro. Si tous les poids étaient
à zéro, tous les neurones apprendraient la même chose et le réseau serait inutile
(problème de symétrie).

10
Génie Informatique et Intelligence Artificielle Machine Learning — PMC

Conclusion
Résumé général
1. Un neurone artificiel calcule une somme pondérée de ses entrées et ap-
plique une fonction d’activation.
2. Un PMC enchaîne plusieurs couches de neurones pour résoudre des pro-
blèmes complexes.
3. La propagation avant calcule les sorties couche par couche.
4. La rétropropagation corrige les poids en remontant de la sortie vers l’en-
trée, proportionnellement à la responsabilité de chaque poids.
5. Le but est de minimiser l’erreur globale ξ en répétant ce processus sur
de nombreux exemples.

11

Vous aimerez peut-être aussi