Tout le journal

Comment un réseau de neurones apprend-il ?

De l’erreur aux gradients : observer comment les poids s’ajustent.

3 min de lectureUne expérience à ton rythme
Des sphères vertes et claires sont reliées par des tiges bleues et corail en plusieurs couches.

La propagation avant donne une sortie avec les réglages actuels. L'apprentissage ajoute une réponse attendue, une mesure d'erreur et une manière d'ajuster ces réglages. Pour voir comment, suivons un exemple dans le réseau de la partie 2.

Comparer la sortie à une cible

En apprentissage supervisé, chaque exemple possède une réponse attendue : la cible. Notre atelier fixe cette cible à 1. Au départ, le réseau produit environ 0,668.

Une fonction de perte mesure l'écart. Ici, elle vaut la moitié du carré de la différence entre sortie et cible : la perte initiale est d'environ 0,055. Pour cet exemple, une perte plus petite signifie une sortie plus proche de 1. Cela ne dit encore rien des autres exemples.

Trouver le sens de la correction

Le réseau contient six poids et trois biais. Comment savoir lesquels augmenter ou diminuer ? On calcule, pour chaque paramètre, la sensibilité de la perte à une petite variation. Ces neuf nombres forment son gradient.

Pour un paramètre, un gradient positif indique que l'augmenter légèrement ferait monter la perte : on essaie donc de le diminuer. Un gradient négatif indique le sens inverse. Ce signe est celui de la sensibilité, pas celui du poids lui-même.

Pourquoi repartir de la sortie ?

Un poids caché influence la perte à travers les calculs qui le suivent. La rétropropagation remonte ces dépendances : elle calcule d'abord les sensibilités à la sortie, puis les utilise pour les couches précédentes. La règle de chaîne du calcul différentiel permet de combiner ces effets ; si plusieurs chemins contribuent, on additionne leurs contributions.

Ce n'est pas la même erreur distribuée à toutes les connexions. Chacune reçoit une sensibilité calculée selon sa place et les valeurs du réseau.

Les paramètres restent fixes pendant ce calcul. Ensuite vient la descente de gradient, qui effectue la mise à jour :

Nouveau paramètre = ancien paramètre − taux × son gradient.

Le taux d'apprentissage règle l'ampleur du pas. Trop grand, il peut faire augmenter la perte. Dans cet atelier, les neuf paramètres sont ajustés ensemble, avec les gradients calculés avant toute modification.

Deux connexions, deux sens

La connexion v₂, de h₂ vers la sortie, a un poids négatif. L'augmenter — le rendre moins négatif — augmente la sortie, puisque h₂ est positif. Comme on vise 1, son gradient est négatif : la mise à jour augmente v₂.

Pour w₂₁, de x₁ vers h₂, c'est l'inverse. L'augmenter augmente h₂ ; mais la connexion suivante, v₂, est négative, donc la sortie diminue. Son gradient est positif : la mise à jour diminue w₂₁. Le calcul tient compte de toute cette chaîne.

Observer un vrai pas

Réinitialise, garde la cible à 1 et avance phase par phase. Sélectionne v₂, puis w₂₁ : compare les signes de leurs gradients. Avant la dernière phase, prédis le sens de chaque correction.

Après la mise à jour, la sortie passe d'environ 0,668 à 0,685, et la perte de 0,055 à 0,050. Les valeurs affichées pour les gradients sont celles utilisées pour ce pas. Lance un second cycle pour observer un nouvel ajustement.

COMPRENDRE EN ESSAYANT

La rétropropagation, un pas à la fois

Suis une prédiction, la perte, le retour des gradients et une vraie mise à jour des neuf paramètres. Choisis une cible, observe un poids, puis compare avant et après. Cet atelier entraîne un seul exemple.

À ton rythme. Essaie, observe, recommence.Expérience interactive · v7

Apprendre un exemple n'est pas généraliser

Une perte basse sur cet exemple ne garantit pas de bonnes réponses ailleurs. Il faut entraîner sur plusieurs exemples pertinents, puis évaluer sur des données qui n'ont pas servi à l'entraînement. Leur qualité et leur diversité comptent aussi.

La rétropropagation calcule les gradients ; la descente de gradient ajuste les paramètres. Refaire cette boucle peut améliorer les résultats, sans garantie d'infaillibilité. Voilà ce que signifie « apprendre » dans notre petit modèle : modifier des nombres selon un objectif mesuré.

Sources