Classification avec un réseau de neurones
Un réseau de neurones multicouche compose des transformations affines et des fonctions d’activation non linéaires. La non-linéarité lui permet de représenter des frontières de décision qu’une seule unité logistique ne peut pas représenter.
Modèle à une couche cachée
Pour un vecteur d’entrée , des poids cachés , un biais caché , des poids de sortie et un biais de sortie :
Ici, peut être ReLU, GELU, tanh ou une autre activation cachée. Pour une classification binaire, la sortie sigmoïde est interprétée comme une probabilité prédite et peut être entraînée avec l’entropie croisée binaire :
Rétropropagation
La rétropropagation applique la règle de la chaîne depuis la perte vers les couches antérieures. Avec une sigmoïde et l’entropie croisée binaire, le gradient de préactivation de sortie se simplifie en :
Les gradients de la couche de sortie sont :
La propagation à travers l’activation cachée donne :
et donc :
Le symbole désigne la multiplication terme à terme. Les formes comptent : écrire le calcul sous forme matricielle évite une chaîne ambiguë d’indices scalaires.
Mise à jour des paramètres
La descente de gradient simple, avec un taux d’apprentissage , met à jour chaque paramètre selon :
L’entraînement pratique fonctionne généralement par mini-lots et peut employer Adam ou un autre optimiseur, mais les gradients proviennent toujours du même graphe avant et de la même règle de la chaîne.
Ce que cette note laisse de côté
Ce petit réseau suffit à montrer le calcul, pas à choisir une architecture de production. L’initialisation, la normalisation, la régularisation, l’état de l’optimiseur, les sorties multiclasse, la stabilité numérique et la qualité des données influencent tous l’entraînement. La note maintenue sur le perceptron multicouche couvre l’architecture plus largement.
Dimensions et calcul arrière complet
Pour caractéristiques et unités cachées, employer des vecteurs colonnes : , , , , et des scalaires . Chaque gradient de poids a les dimensions de sa matrice ; le produit extérieur est donc .
Pour un exemple minimal, prenons , , et ReLU, . Fixons , , , . Le passage avant donne , et . L’entrée cachée est positive, donc , d’où
Avec , mettre les quatre paramètres à jour à partir du même passage avant donne environ dans cet ordre. Le logit suivant vaut environ et la perte . Modifier les poids de sortie avant de calculer mélangerait deux états de paramètres : ce ne serait plus ce pas de gradient.
À l’entrée zéro de ReLU, la dérivée ordinaire n’existe pas ; les implémentations choisissent une convention, souvent zéro. Loin de ces points anguleux, comparer un gradient analytique à sur un exemple minuscule. Cela vérifie la différentiation, pas la capacité de l’entraînement à trouver un optimum global.
Ce que la boucle d’optimisation peut établir
La rétropropagation calcule des dérivées ; l’optimiseur choisit les changements de paramètres. Pour une perte par lot, moyenner les gradients individuels. Les gradients de mini-lots fluctuent : chaque pas ne diminue pas nécessairement la perte sur tout l’entraînement. Apprendre conjointement les poids cachés et de sortie rend généralement l’objectif non convexe, contrairement à la régression logistique à caractéristiques fixes. Des initialisations différentes peuvent mener à des régions stationnaires différentes ; une petite mise à jour peut aussi provenir d’un taux infime, d’activations saturées ou de ReLU inactives.
Vérifier les valeurs finies, fixer un budget d’itérations, suivre gradients et pertes, et utiliser un ensemble de validation pour l’arrêt anticipé. Cet arrêt limite le surapprentissage ; il ne certifie pas l’optimalité. Calculer l’entropie croisée binaire à partir des logits avec la formule stable. Deep Learning, chapitre 8 développe ces distinctions entre optimisation et généralisation.