Le carnet On est
Chapitre 1 · encre bleue

Les réseaux de neurones

Une fonction de ℝⁿ dans ℝᵐ apprise par correction d'erreur. De la boîte noire au perceptron, de la sigmoïde à la rétropropagation.

~ 35 min de lecture TD — OR / AND / XOR · Python (Keras), R (nnet) 14 flashcards
🚫 Hors programme du DS final
Le prof d'IA a annoncé que le partiel ne porte que sur CM2 Convnet · CM3 RNN · CM4 Renforcement · CM5 NLP. Ce chapitre est conservé comme base théorique mais peut être passé en révision — focus sur les 4 CMs au programme.

📄 Ressources du cours

📥 Télécharger les slides  ·  🔗 Ouvrir dans un nouvel onglet  ·  📝 Ouvrir le TD/TP

🎥 Vidéos recommandées

1. Qu'est-ce qu'un RN ?

Vu comme une boîte noire Un réseau de neurones est un système ayant des entrées numériques et des sorties numériques. Du point de vue mathématique : un RN est une fonction de ℝⁿ dans ℝᵐ.

Notations : entrées $(x_1, \ldots, x_n)$ et sorties $(\hat{y}_1, \ldots, \hat{y}_m)$.

🧮 Régression
Étant donné une instance $X = (x_1, \ldots, x_n)$, le RN calcule une valeur $f(X) \in \mathbb{R}^m$.
→ $n$ entrées, $m$ sorties dont la signification est immédiate.
🏷️ Classification
Étant donné $X$, le RN détermine sa classe dans $\{C_1, \ldots, C_m\}$.
→ $n$ entrées, nombre de sorties dépend de $m$.

Un RN est utilisé en apprentissage supervisé, aussi bien en classification qu'en régression.

2. Architecture interne

Un RN se compose d'une suite de couches :

  • Couche d'entrée — introduit les données dans le réseau
  • Couches cachées — reçoivent les entrées de la précédente, font des calculs, transmettent à la suivante
  • Couche de sortie — fait les derniers calculs et transmet les résultats à l'extérieur
x₁ x₂ x₃ Couche 1 (entrée) Couche 2 (cachée) Couche 3 (cachée) ŷ₁ ŷ₂ Couche L (sortie)

Un RN feedforward totalement connecté à 4 couches.

🚦 Deux propriétés clés
• Sens unique de circulation → réseau qualifié de feedforward.
• Chaque neurone de la couche $l+1$ est connecté à chaque neurone de la couche $l$ → totalement connecté (fully connected).

3. Zoom sur le neurone

Un neurone est une unité de calcul. Voici son fonctionnement :

  1. Il reçoit en entrée $n_1$ valeurs $x_1, \ldots, x_{n_1}$ issues d'autres neurones.
  2. Il a $n_1$ poids $w_i$ et un biais $b$ qui lui sont propres.
  3. Il calcule la valeur $z = \sum_i w_i \cdot x_i + b$.
  4. Il calcule sa sortie $y = g(z)$ où $g$ est la fonction d'activation.
Règle d'or Tous les neurones d'une même couche ont la même fonction d'activation.

Notations formelles à mémoriser

SymboleSignification
$L$Nombre de couches (1 = entrée, $L$ = sortie)
$n_l$Nombre de neurones de la couche $l$
$(l, j)$Position d'un neurone : couche $l$, indice $j$
$w_{jk}^l$Poids de la connexion entre $(l-1, k)$ et $(l, j)$
$b_j^l$Biais du neurone $(l, j)$
$x_j^{(l)}$Sortie du neurone $(l, j)$ — pour $l = L$ : $x_j^{(L)} = \hat{y}_j$
$z_j^{(l)}$Somme pondérée du neurone $(l, j)$ (weighted input)

Formule fondamentale

$$z_j^{(l)} = \sum_k w_{jk}^{(l)} \cdot x_k^{(l-1)} \qquad x_j^{(l)} = g_l(z_j^{(l)})$$

4. Premiers exemples · OR, AND, XOR

Le RN pour le OU logique

Entrée : 2 valeurs binaires $x_1, x_2$. Sortie : $y = x_1 \vee x_2$. 2 neurones d'entrée, 1 neurone de sortie, sans couche cachée.

Sortie : $h(w_1 x_1 + w_2 x_2 + b)$ avec $h$ = fonction de Heaviside :

$$h(x) = \begin{cases} 1 & \text{si } x > 0 \\ 0 & \text{sinon} \end{cases}$$

Il existe une infinité de droites qui séparent les points $y=0$ des points $y=1$.

Perceptron · séparabilité linéaire

Définition — séparabilité linéaire Soit $f : \mathbb{R}^n \to \{0, 1\}$. $f$ est linéairement séparable ssi il existe un hyperplan qui sépare les points dont l'image vaut 1 de ceux dont elle vaut 0. Autrement dit, il existe $(a_1, \ldots, a_n, b)$ tels que : $\forall (x_1, \ldots, x_n), \quad f(x) = 1 \iff a_1 x_1 + \cdots + a_n x_n + b > 0$.
Définition — perceptron Un perceptron est un RN sans couche cachée, dont la couche de sortie a un seul neurone et dont la fonction d'activation est la Heaviside.
🎯 Théorème central
Une fonction $f : \mathbb{R}^n \to \{0,1\}$ peut être représentée par un perceptron si et seulement si elle est linéairement séparable.

Le XOR — pourquoi il faut une couche cachée

La fonction XOR n'est pas linéairement séparable. Solution : un RN avec une couche cachée à 2 neurones.

OR — séparable AND — séparable XOR — IMPOSSIBLE

Les verts = sortie 1, les rouges = sortie 0. Sur la dernière case, aucune droite ne peut séparer les verts des rouges — XOR exige une couche cachée.

🪄 Le tour de magie
La couche cachée transforme $(x_1, x_2)$ en $(y_1, y_2)$ : c'est une nouvelle représentation où les points deviennent linéairement séparables. Choix possible : $y_1 = x_1 \vee x_2$, $y_2 = x_1 \wedge x_2$.

5. Paramètres vs hyperparamètres

Hyperparamètres Fixés par le concepteur. On essaye plusieurs valeurs et on ajuste. Ex : nb de couches, nb de neurones par couche, fonction d'activation par couche.
Paramètres Poids et biais. Le concepteur n'a pas la main : ils sont appris par un algorithme à partir de l'ensemble d'apprentissage $D = \{(X_i, Y_i)\}$.

Le nombre de neurones en entrée et en sortie n'est pas un vrai hyperparamètre :

  • Couche d'entrée = nombre de variables indépendantes.
  • Couche de sortie = se déduit du nombre de variables dépendantes.

Couches de sortie — règles

ProblèmeNb neurones sortieInterprétation
Régression (1 ou plusieurs sorties)$m$ = nb variables à prédireValeurs réelles
Classification binaire1Probabilité d'une classe de référence
Multi-classes / multi-étiquettes$m$ = nb de classesProbabilité de chaque classe

6. Fonctions d'activation

📐 Heaviside
Sortie binaire. Inconvénients : ne peut exprimer une probabilité, non continue en 0 (donc non dérivable).
🟪 Sigmoïde  ·  $\sigma(x) = \dfrac{1}{1 + e^{-x}}$
Version « lissée » de Heaviside.
Continue + dérivable + valeurs entre 0 et 1 → interprétables comme probabilités.
Utilisée en couche de sortie en classif binaire et dans les couches cachées.
📏 Linéaire  ·  $f(x) = \lambda \cdot x$ (identité si $\lambda = 1$)
Simple, usage limité. Typiquement couche de sortie en régression.
🌊 Tangente hyperbolique  ·  $\tanh(x) = \dfrac{e^x - e^{-x}}{e^x + e^{-x}}$
Mêmes propriétés que sigmoïde, mais valeurs entre $-1$ et $1$, centrée sur 0.
Utilisée dans les couches cachées.

Cas particulier · couche Softmax

Utilisée comme fonction d'activation de la couche de sortie en multi-classification à $m$ classes. Pour chaque neurone $j$ :

$$z_j = \sum_k w_{jk} \cdot x_k + b_j \qquad \hat{y}_j = \frac{e^{z_j}}{\sum_i e^{z_i}}$$
3 propriétés du Softmax ① Sortie entre 0 et 1 · ② Somme des sorties = 1 · ③ Sorties interprétables comme probabilités.

Particularité : chaque neurone a accès aux $z_i$ des autres → on parle de couche Softmax plutôt que de simple fonction d'activation.

7. Apprentissage par correction d'erreur

On dispose de $D = \{(X_k, Y_k), k=1,\ldots,K\}$. But : trouver poids et biais permettant, pour l'entrée $X_k$, de produire une sortie aussi proche que possible de $Y_k$.

Schéma général

Algorithme — Calcul des poids par correction des erreurs
  1. Initialiser les poids et biais de manière aléatoire.
  2. Tant que le critère d'arrêt n'est pas atteint :
    • Pour chaque exemple $(X, Y) \in D$ :
      • Calculer la sortie $\hat{y}$
      • Calculer l'erreur en comparant $Y$ et $\hat{y}$
      • Ajuster les poids et biais pour réduire l'erreur

Trois choix à faire pour passer du schéma à un algorithme :

  1. Comment calculer l'erreur ? → fonctions de perte (loss)
  2. Comment ajuster les poids et biais ? → algorithme d'optimisation
  3. Quel critère d'arrêt ? → lié à la convergence de l'optimiseur

Règle du Delta — cas simple

Cadre : RN sans couches cachées, fonction d'activation linéaire.

Erreur sur l'exemple $k$  ·  erreur globale

$$E_k = \tfrac{1}{2} \sum_j (y_{kj} - \hat{y}_{kj})^2 = \tfrac{1}{2}\, \|Y_k - \hat{y}_k\|^2 \qquad E = \sum_k E_k$$

$E$ est une fonction quadratique des poids et biais → on la minimise par descente de gradient :

$$W_{t+1} = W_t - \eta \cdot \nabla E(W_t)$$
Le terme δ Pour chaque neurone : $\delta_j = (y_j - \hat{y}_j)$. C'est le terme commun aux mises à jour de tous les poids/biais de ce neurone.

Convergence assurée car la fonction à minimiser est quadratique → minimum unique.

Critères d'arrêt possibles : $E < E_{\max}$ · valeurs successives quasi-identiques (paramètre $\varepsilon$) · idem pour l'erreur · nombre d'itérations max. Combinables.

Rétropropagation — cas général

Généralisation sur 3 axes :

  • nombre de couches quelconque
  • fonction d'activation quelconque
  • fonction de perte quelconque

Fonctions de perte (loss functions)

NomFormuleUsage
Erreur quadratique (moindres carrés)$\tfrac{1}{2} \sum_j (y_j - \hat{y}_j)^2$Régression
BCE (binary cross-entropy)$-(y \log \hat{y} + (1-y) \log(1-\hat{y}))$Classification binaire
CCE (categorical cross-entropy)$-\sum_j y_j \log \hat{y}_j$Multi-classification (Y one-hot)

Algorithme de rétropropagation

Le principe reste celui de la descente de gradient. L'application se fait couche par couche, de droite à gauche → d'où le nom « rétropropagation ».

Algorithme — Rétropropagation
  1. Initialiser $W$ et $B$ aléatoirement.
  2. Tant que le critère d'arrêt n'est pas atteint :
    • Pour $k = 1, \ldots, n$ :
      • Mettre $X_k$ à l'entrée du RN
      • Feedforward · Pour $l = 2 \to L$ : calculer les sorties de la couche $l$
      • La sortie de la couche $L$ est $\hat{y}_k$ ; calculer l'erreur $E$ avec $Y_k$ et $\hat{y}_k$
      • Rétropropagation · Pour $l = L \to 1$ :
        • Calculer $\delta_j^l$ (dépend des $\delta_i^{l+1}$)
        • Calculer $\partial E / \partial w_{jk}^l$ et $\partial E / \partial b_j^l$
        • Mettre à jour $w_{jk}^l$ et $b_j^l$

3 versions selon le moment de mise à jour

📚 Batch learning
À chaque itération, calcul d'une erreur globale sur tous les exemples avant mise à jour.
🎲 Stochastique (SGD)
À chaque itération, un exemple est choisi aléatoirement, calculs + mise à jour effectués.
📦 Mini-batch
Compromis : mise à jour tous les $mb$ exemples ($mb$ = taille du mini-batch).

Réviser le chapitre

Pour vérifier ta compréhension

Pourquoi le XOR n'est-il pas représentable par un perceptron simple ?

Parce qu'il n'est pas linéairement séparable. Un perceptron est, par définition, un RN sans couche cachée à un seul neurone Heaviside : il ne peut représenter que les fonctions $f : \mathbb{R}^n \to \{0,1\}$ telles qu'un hyperplan sépare les points $f = 1$ des points $f = 0$. Or, dans le plan $(x_1, x_2)$, les points $(0,0)$ et $(1,1)$ (sortie 0) et les points $(0,1)$ et $(1,0)$ (sortie 1) ne peuvent être séparés par une seule droite.

Quelle fonction d'activation choisir pour la couche de sortie en multi-classification ?

La couche Softmax. Elle donne des sorties entre 0 et 1 dont la somme vaut 1 — interprétables comme probabilités. Particularité : chaque neurone a accès aux $z_i$ des autres neurones.

Différence entre paramètres et hyperparamètres ?

Les paramètres sont les poids et biais : appris par l'algorithme. Les hyperparamètres sont fixés par le concepteur (nb de couches, nb de neurones par couche, fonctions d'activation, taux d'apprentissage…). On n'a pas la main sur les premiers, on doit faire des choix pour les seconds.

Pourquoi la règle du Delta converge-t-elle toujours, et pas la rétropropagation ?

La règle du Delta s'applique au cas RN sans couche cachée + activation linéaire. Dans ce cas, l'erreur $E$ est quadratique en les poids → minimum unique, descente de gradient converge. Pour un RN profond avec activations non linéaires, $E$ peut avoir plusieurs minima locaux et la rétropropagation peut s'y bloquer.

Que signifie « totalement connecté » et « feedforward » ?

Totalement connecté : chaque neurone de la couche $l+1$ est connecté à chaque neurone de la couche $l$. Feedforward : sens de circulation unique des données (couche d'entrée → couche de sortie, jamais de retour). Ce sont les deux propriétés fondamentales du RN standard.

🃏 Flashcards éclair

Clique pour retourner.

Définition mathématique

Qu'est-ce qu'un RN au sens math ?

tourne →
Une fonction de ℝⁿ dans ℝᵐ.

Calcul d'un neurone

Sortie en fonction de $x$, $w$, $b$, $g$ ?

tourne →
z = Σ_i w_i · x_i + b
y = g(z)

Heaviside

Définition de la fonction.

tourne →
$h(x) = 1$ si $x > 0$, sinon $h(x) = 0$.
Inconvénient : non dérivable en 0.

Perceptron — définition

3 propriétés.

tourne →
① Sans couche cachée
② Couche de sortie à 1 seul neurone
③ Activation = Heaviside

Théorème central

Quand peut-on représenter $f$ par un perceptron ?

tourne →
Si et seulement si $f$ est linéairement séparable.

Sigmoïde

Formule + propriétés.

tourne →
$\sigma(x) = 1 / (1 + e^{-x})$
Continue, dérivable, valeurs ∈ [0,1] → probabilités.

Tanh

Formule + usage.

tourne →
$\tanh(x) = (e^x - e^{-x}) / (e^x + e^{-x})$
Valeurs ∈ [-1, 1], centrée sur 0. Couches cachées.

Softmax

Formule sortie $\hat{y}_j$.

tourne →
ŷ_j = exp(z_j) / Σ_i exp(z_i)

Couche sortie classif binaire

Combien de neurones ? Activation ?

tourne →
1 neurone · activation sigmoïde → probabilité de la classe de référence.

BCE

Formule pour 1 exemple.

tourne →
BCE = -(y · log(ŷ)
       + (1-y) · log(1-ŷ))

CCE

Formule pour 1 exemple, Y one-hot.

tourne →
CCE = -Σ_j y_j · log(ŷ_j)

Descente de gradient

Formule de mise à jour.

tourne →
W_{t+1} = W_t - η · ∇E(W_t)

3 versions de la rétropropagation

Différence ?

tourne →
Batch : tous les exemples
Stochastique : un exemple aléatoire
Mini-batch : tous les $mb$ exemples

Pourquoi le delta de la règle du Delta converge ?

Raison mathématique.

tourne →
L'erreur $E$ est quadratique en les poids → minimum unique. La descente de gradient converge.

✎ Quiz éclair

test rapide · 6 questions
0 / 6
1.Pourquoi le perceptron ne peut-il pas représenter XOR ?
  • Parce qu'il n'a qu'une couche cachée
  • Parce qu'il utilise la sigmoïde
  • Parce que XOR n'est pas linéairement séparable
  • Parce que XOR a 2 entrées
Définition : perceptron = sans couche cachée + 1 neurone Heaviside ⇔ peut représenter $f$ ssi $f$ est linéairement séparable. XOR ne l'est pas.
2.Pour la couche de sortie en classification binaire, on choisit :
  • 2 neurones avec softmax
  • 1 neurone avec sigmoïde
  • 1 neurone linéaire
  • 1 neurone Heaviside
1 neurone qui donne la probabilité de la classe de référence entre 0 et 1 → sigmoïde.
3.Le softmax a une particularité par rapport aux autres activations :
  • Il est non dérivable
  • Il est utilisé en couche cachée
  • Il donne toujours 0 ou 1
  • Chaque neurone a accès aux $z_i$ des autres
D'où l'appellation « couche Softmax » plutôt que simple fonction d'activation : la normalisation se fait au niveau de la couche.
4.Dans un RN standard, les paramètres appris par l'algorithme sont :
  • Les poids et les biais
  • Le nombre de couches et la fonction d'activation
  • Le taux d'apprentissage
  • La taille du mini-batch
Tout le reste est hyperparamètre — fixé par le concepteur.
5.La rétropropagation se fait :
  • Couche par couche, de gauche à droite
  • Couche par couche, de droite à gauche
  • Sur toutes les couches en même temps
  • Uniquement sur la dernière couche
D'où le nom : on rétropropage l'erreur de la sortie vers l'entrée.
6.Pour la classification multi-classes (Y one-hot), on utilise typiquement comme loss :
  • Erreur quadratique
  • BCE (binary cross-entropy)
  • CCE (categorical cross-entropy)
  • Hinge loss
$\text{CCE} = -\sum_j y_j \log \hat{y}_j$, avec $y$ en one-hot.

📌 À retenir

  • RN = fonction de ℝⁿ dans ℝᵐ, apprentissage supervisé
  • Architecture : entrée → cachées → sortie ; feedforward + totalement connecté
  • Neurone : $z = \Sigma w_i x_i + b$, $y = g(z)$
  • Notations : $w_{jk}^l$, $b_j^l$, $z_j^{(l)}$, $x_j^{(l)}$
  • Perceptron = sans couche cachée + 1 sortie + Heaviside
  • Perceptron représente $f$ ⇔ $f$ linéairement séparable
  • XOR non linéairement séparable → couche cachée obligatoire
  • Activations : Heaviside, Sigmoïde $\sigma$, Linéaire, Tanh, Softmax
  • Classif binaire : 1 neurone sigmoïde · Multi : $m$ softmax · Régression : $m$ linéaires
  • Hyperparamètres = choix du concepteur, paramètres = poids/biais appris
  • Loss : MSE (régression), BCE (binaire), CCE (multi)
  • Descente de gradient : $W_{t+1} = W_t - \eta \nabla E$
  • Règle du Delta : $\delta_j = (y_j - \hat{y}_j)$ — converge car $E$ quadratique
  • Rétropropagation : couche par couche, de droite à gauche
  • 3 versions SGD : batch · stochastique · mini-batch