Architecture, Fonctions d’Activation, Propagation Avant et Arrière

Author Profile - Paul Claret

By Paul Claret

10 minutes read - 12/12/24

Les réseaux neuronaux artificiels (ANNs) doivent leur puissance à leur architecture, à leurs fonctions d’activation et à leur capacité à s’entraîner grâce à des processus de propagation avant et arrière. Cet article explore ces concepts en se concentrant sur leur rôle clé dans le fonctionnement des ANNs.

1. Architecture d’un réseau neuronal

Un réseau neuronal est une structure composée de couches de neurones connectés par des poids. Les principales couches sont :

  1. Couche d’entrée :
    Reçoit les données initiales (par exemple, un vecteur représentant une image ou des caractéristiques d’un problème).

  2. Couches cachées :
    Effectuent des transformations non linéaires grâce aux poids et aux fonctions d’activation. Ces couches permettent au réseau d’apprendre des représentations complexes.

  3. Couche de sortie :
    Génère le résultat final, tel qu’une probabilité, une classification ou une régression.

Pasted image 20241212073120.png

Structure typique :

Les réseaux peuvent être denses (chaque neurone connecté à tous les neurones de la couche suivante) ou inclure des structures spécialisées comme les réseaux convolutifs ou récurrents.

Voici un example réseaux de neurones convolutifs VGG 16: Pasted image 20241212081046.png L’architecture utilise des couches de convolution et à la fin, des couches denses (des ANN classique). Nous verrons les couches de convolution et CNN dans les prochains articles de la roadmap ne vous en faites pas 🙂.

2. Fonctions d’activation : transformer les données

Les fonctions d’activation introduisent la non-linéarité dans un réseau, permettant de modéliser des relations complexes. Après le calcul \(Z = W \cdot X + b\), la sortie \(A\) est obtenue en appliquant une fonction d’activation à \(Z\).

Pasted image 20241212081335.png Example de non linéarité

Principales fonctions d’activation

  1. Sigmoïde :
    Transforme les valeurs en un intervalle entre 0 et 1. \[ \sigma(Z) = \frac{1}{1 + e^{-Z}} \] Pasted image 20241212081428.png Utilité : Sorties probabilistes (classification binaire).
    Limitation : Saturation pour des valeurs extrêmes (gradient proche de zéro).

  2. Tanh :
    Transforme les valeurs en un intervalle entre -1 et 1. \[ \tanh(Z) = \frac{e^Z - e^{-Z}}{e^Z + e^{-Z}} \] Pasted image 20241212081526.png

Utilité : Couches cachées dans les anciens réseaux.
Avantage : Centré sur 0, donc plus efficace que la sigmoïde pour certaines tâches.

  1. ReLU (Rectified Linear Unit) :
    Retourne \(Z\) si \(Z > 0\), sinon \(0\). \[ \text{ReLU}(Z) = \max(0, Z) \]
    Pasted image 20241212081644.png

Utilité : Très populaire pour les couches cachées.
Avantage : Simplicité et calcul rapide.
Limitation : Ne traite pas les valeurs négatives (problème de neurones “morts”).

  1. Leaky ReLU :
    Variante de ReLU qui permet des petites valeurs négatives. \[ \text{Leaky ReLU}(Z) = \begin{cases} Z & \text{si } Z > 0 \\ \alpha Z & \text{sinon, avec } \alpha > 0 \end{cases} \] Pasted image 20241212081746.png

Utilité : Résout le problème des neurones morts.

  1. Softmax :
    Transforme un vecteur en probabilités sommant à 1 (sorties multiclasses). \[ \text{Softmax}(z_i) = \frac{e^{z_i}}{\sum_j e^{z_j}} \]
Pasted image 20241212081828.png

Utilité : Couches de sortie pour des problèmes de classification avec plusieurs classes.

3. Propagation avant : calcul des sorties

La propagation avant (forward propagation) est le processus par lequel les données passent à travers le réseau pour produire une prédiction.

Étapes principales :

  1. Entrée : Les données brutes (vecteurs ou matrices) sont fournies à la couche d’entrée.
  2. Couches cachées : Chaque couche calcule :\(Z = W \cdot X + b\) puis applique la fonction d’activation : \(A = \text{Activation}(Z)\)\(A\) devient l’entrée de la couche suivante.
  3. Sortie : La dernière couche fournit le résultat final, qui peut être une probabilité, une étiquette de classe ou une valeur continue.

Exemple :
Un réseau à deux couches avec des poids \(W_1, W_2\) et des biais \(b_1, b_2\) produit une sortie \(A_2\) : \[ Z_1 = W_1 \cdot X + b_1,\quad A_1 = \text{Activation}(Z_1) \] \[ Z_2 = W_2 \cdot A_1 + b_2,\quad A_2 = \text{Activation}(Z_2) \]

4. Propagation arrière : ajuster les paramètres

La propagation arrière (backpropagation) est l’algorithme qui permet d’ajuster les poids et les biais en fonction de l’erreur entre la sortie prédite et la sortie réelle. Ce processus repose sur le gradient et l’application de la règle de la chaîne (chain rule).

Pasted image 20241212075819.png

Principe général

  1. Calcul de l’erreur :
    La fonction de coût \(\mathcal{L}\) mesure l’écart entre la sortie prédite \(A_{pred}\) et la sortie réelle \(Y\). Exemple :
  1. Propagation du gradient :
    Les gradients sont calculés couche par couche en utilisant la dérivée partielle de la fonction de coût par rapport aux poids (\(W\)) et aux biais (\(b\)).

  2. Règle de la chaîne :
    Pour une couche donnée, le gradient est calculé en combinant les gradients des couches suivantes. Cela permet de propager l’erreur dans tout le réseau.

Pasted image 20241212082930.png

Formule simplifiée :
Pour un poids \(W\) : \[ \frac{\partial \mathcal{L}}{\partial W} = \frac{\partial \mathcal{L}}{\partial A} \cdot \frac{\partial A}{\partial Z} \cdot \frac{\partial Z}{\partial W} \]

  1. Mise à jour des paramètres :
    Les poids et les biais sont ajustés grâce à un optimiseur (par exemple, la descente de gradient) : \(W = W - \eta \cdot \frac{\partial \mathcal{L}}{\partial W}\)\(\eta\) est le taux d’apprentissage.

Conclusion

Les architectures des réseaux neuronaux, leurs fonctions d’activation et leurs mécanismes de propagation avant et arrière constituent les bases du deep learning. Si la propagation avant est essentiellement une série de calculs matriciels, la propagation arrière utilise des outils comme la règle de la chaîne pour ajuster les paramètres. Dans la section suivante, nous explorerons les calculs détaillés de la backpropagation pour les passionnés de mathématiques.

Vous voulez apprendre l'IA en autonomie ?

Si vous êtes nouveau sur mon site, je vous invite à aller voir ma page sur Roadmap IA qui regroupe tous mes articles dans l'ordre pour vous facilitez l'apprentissage.