Perceptron simpliste

Simple perceptron

Considérons le simple perceptron ci-dessous avec une fonction de transfert donnée par \( f(x)=x \) pour simplifier les calculs:

Schéma du perceptron

Fonction de transfert

La fonction de transfert est donnée par:

$$ \begin{equation} y= w_1.x_1 + w_2.x_2 + ... + w_N.x_N = \sum\limits_{i=1}^N w_i.x_i \label{eq:transfert-function} \end{equation} $$

Erreur de sortie

Dans les réseaux de neurones artificiels, l'erreur que l'on souhaite minimiser est donnée par:

$$ \begin{equation} E=(y'-y)^2 \label{eq:error} \end{equation} $$

où:

En pratique et pour simplifier la suite des équations, l'erreur est divisée par 2 :

$$ E=\frac{1}{2}(y'-y)^2 $$

Descente de gradient

L'algorithme de descente de gradient utilisé pour entraîner le réseau (i.e. mettre à jour les poids) est donné par:

$$ w_i'=w_i-\eta.\frac{dE}{dw_i} $$

où :

Dérivée de l'erreur

Dérivons l'erreur:

$$ \begin{equation} \frac{dE}{dw_i} = \frac{1}{2}\frac{d}{dw_i}(y'-y)^2 \label{eq:eq-error} \end{equation} $$

Grâce à la formule de dérivation des fonctions composées

$$ (f \circ g)'=(f' \circ g).g' $$

l'équation \( \eqref{eq:eq-error} \) peut être réécrite :

$$ \frac{dE}{dw_i} = \frac{2}{2}(y'-y)\frac{d}{dw_i} (y'-y) = -(y'-y)\frac{dy}{dw_i} $$

Comme \( y= w_1.x_1 + w_2.x_2 + ... + w_N.x_N \) :

$$ \frac{dE}{dw_i} = -(y'-y)\frac{d}{dw_i}(w_1.x_1 + w_2.x_2 + ... + w_N.x_N) = -(y'-y)x_i $$

Mise à jour des poids

Les poids peuvent être mis à jour avec la formule suivante :

$$ w_i'=w_i-\eta.\frac{dE}{dw_i} = w_i+\eta(y'-y)x_i $$

En conclusion :

$$ w_i'= w_i + \eta(y'-y)x_i $$

Voir aussi


Dernière mise à jour : 24/11/2021