Contents — find the section you need

La couche l peut s'écrire h_{l+1}=\phi(W_lh_l+b_l). Sans transformation non linéaire \phi, les couches empilées se réduisent à une seule transformation linéaire. L'apprentissage rétropropage le gradient de la fonction de perte L et effectue les mises à jour via \theta\leftarrow\theta-\eta\nabla_\theta L.

Diagram 1 · Use the button to switch views
Forward and backward neural network flowInput passes through hidden layers to prediction and loss; gradients flow in reverse.input xhidden hprediction ŷloss L

Schéma : Duskcoil, conceptuel plutôt qu'une architecture mesurée particulière.

Activation, normalisation, connexions résiduelles, représentation et optimisation des changements d'attention. L'augmentation des données, la décroissance des poids, l'arrêt précoce et la division valide contribuent à surveiller la généralisation ; une perte d'entraînement plus faible ne garantit pas la sécurité. ou équité.

Élément Rôle Attention à
Activation Ajoute une représentation non linéaire saturation et unités mortes
Optimiseur Met à jour les paramètres à partir des gradients taux d'apprentissage et stabilité numérique
Régularisation Favorise la généralisation ne peut empêcher la fuite de test

Fonctions de perte, couches de sortie et stabilité numérique

Placer la fonction softmax à la fin d'un classificateur transforme la probabilité de la classe k en p_k=\exp z_k/\sum_j\exp z_j. Avec l'étiquette réelle sous forme one-hot y, l'entropie croisée est L=-\sum_k y_k\log p_k. Les implémentations évitent de calculer directement \exp z, préférant utiliser une astuce de somme logarithmique et d'exponentielle qui soustrait le logit maximal. Cela évite le dépassement de capacité de l'exposant pour les grands logits et la transformation de la perte en NaN. Pour la régression, l'erreur quadratique, sensible aux valeurs aberrantes, n'est pas la seule option : la perte de Huber est également envisageable. Une perte n'est pas simplement « une expression qui réduit un nombre » ; c'est une spécification des erreurs opérationnelles qui doivent être plus fortement pénalisées.

L'optimisation par mini-lots introduit du bruit d'échantillonnage. Les optimiseurs adaptatifs tels qu'Adam peuvent faciliter l'entraînement initial, mais le taux d'apprentissage, la régularisation des poids, la taille des lots et l'ordonnancement affectent tous la généralisation. Fixer une graine aléatoire seule est insuffisant lorsque les noyaux GPU, l'ordre des données, le prétraitement et les versions des bibliothèques diffèrent. Archivez les données, le code, l'environnement, les poids et le code d'évaluation dans une seule version.

Comparaison des architectures courantes

Architecture Points forts Entrée typique Défaillance courante
MLP Simple pour les caractéristiques de longueur fixe tableaux et caractéristiques de capteurs ignore la structure spatiale ou temporelle
CNN Exploite la localité images et grilles Décalage de résolution et d'acquisition

Modèle RNN/espace d'état | Conservation de l'état ordonné | Séries temporelles et audio | Dépendances et initialisation longues |

Transformateur | Conditionnement à long terme | Texte, images, entrée multimodale | Calcul, provenance, sortie non prise en charge |

Une architecture plus élaborée ne peut corriger une étiquette ambiguë. Une étiquette d'échec créée après une maintenance, par exemple, peut autoriser l'intégration de champs post-événement dans l'entraînement. La précision hors ligne mesure alors l'accès au futur. L'entraînement et le déploiement doivent partager le code des fonctionnalités, et la disponibilité de chaque fonctionnalité doit être vérifiée à la date limite de prédiction.

Exemple d'échec : l'illusion d'une précision élevée

Le fractionnement aléatoire des images peut placer le même produit, le même arrière-plan ou des images vidéo adjacentes dans les ensembles d'entraînement et de test. Le réseau mémorise alors les conditions d'acquisition. Des fuites similaires se produisent avec les moyennes mobiles futures, les patients ou machines répétés et les sites géographiques voisins. Excluez les périodes futures, les installations, les appareils ou les entités indépendants.

Une autre erreur consiste à traiter une probabilité comme une décision. Un score de 0,9 n'est pas automatiquement dangereux. Vérifiez si les exemples ayant un score proche de 0,9 sont positifs à ce niveau. Définissez la fréquence, puis choisissez les seuils en fonction des coûts de fausse alarme, de non-détection et de révision. Prévoyez une voie d'abstention lorsque la qualité des données d'entrée est insuffisante ou que le cas est hors distribution.

Procédure d'implémentation

  1. Définissez le temps de prédiction, la population, l'étiquette, la limite de latence et les coûts d'erreur.

  2. Figez les divisions prenant en compte les entités, le temps et la localisation ; effectuez le prétraitement uniquement sur les données d'entraînement.

  3. Comparez un modèle linéaire ou un petit MLP sur la même division et les mêmes métriques.

  4. Enregistrez les pertes, le taux d'apprentissage, les normes de gradient, les NaN, les écarts entre les ensembles d'entraînement et de validation, et les performances par tranches.

  5. Injectez des données manquantes, du bruit, de la latence et des entrées hors distribution ; testez l'abstention et le rollback.

Rendez les gradients observables

En cas d'échec de l'entraînement, examinez d'abord les données et le chemin du gradient. Essayez de mémoriser un petit lot ; un échec révèle souvent des étiquettes décalées, un masque incorrect, une erreur de dimension ou une mauvaise utilisation de l'API de perte. Enregistrez ensuite les activations par couche, les normes de gradient et les amplitudes des mises à jour. Valeurs manquantes Dans les couches inférieures, une perte de gradient est suggérée ; une croissance soudaine, une divergence ; et l’absence de mises à jour, un graphe détaché ou un paramètre figé.

L’initialisation vise à préserver la variance du signal utilisable entre les couches. L’initialisation de He est un point de départ courant pour les familles ReLU et l’initialisation de Xavier pour la fonction tanh, mais la normalisation et les connexions résiduelles modifient le comportement réel. L’écrêtage du gradient est une limite d’urgence, et non un moyen de masquer une fonction de perte malformée ou une mise à l’échelle incorrecte des entrées. En précision mixte, comparez une petite exécution en float32 et surveillez la mise à l’échelle de la perte, les dépassements de capacité et les sous-dépassements.

Une unité d’expérience équitable

Comparez les distributions des valeurs initiales, les courbes d’apprentissage et les budgets de calcul plutôt que le meilleur score. Un nombre égal de paramètres ne permet pas une comparaison équitable lorsque le prétraitement, le préentraînement, l’augmentation ou le post-traitement diffèrent. Ne réajustez jamais un seuil sur l’ensemble de test. En cas de déséquilibre, conservez les métriques macro et par classe ; lorsque les probabilités guident les décisions, examinez également l’étalonnage.

Observable Modèle sain Si anormal, inspecter
perte d’entraînement/de validation Les deux diminuent avec un écart stable fuite, surapprentissage, division de l'entité
norme du gradient finie sans sauts abrupts échelle, initialisation, perte
distribution des prédictions cohérente avec la tâche et la prévalence mappage des étiquettes, axe softmax, seuil
latence d'inférence la latence de queue respecte l'échéance préchauffage, traitement par lots, pré/post-traitement

Exemple d'échec : contamination de la validation

Choisir les architectures, l'augmentation et les germes après des dizaines de vérifications de validation entraîne un surapprentissage de l'ensemble de validation. Évaluez un ensemble de test intact une seule fois et enregistrez le nombre de recherches et la règle de sélection. Le fractionnement au niveau du fichier reste invalide si des images adjacentes d'une même vidéo se chevauchent. Fractionnez selon l'entité qui détermine l'indépendance : patient, véhicule, lot de production ou session d'enregistrement.

Liste de vérification avant déploiement

  1. Comparez des cas représentatifs avec des calculs manuels ou une implémentation fiable.

  2. Automatisez les tests de surapprentissage par petits lots, de gradient fini et d'équivalence de sauvegarde/rechargement.

  3. Évaluez les modèles de référence, candidats et quantifiés avec les mêmes entrées et Minuteur.

  4. Intégrez les valeurs de rejet et le comportement de repli pour les entrées invalides, manquantes ou tardives dans le contrat de l'API.

  5. Liez le modèle, les données, le commit de code, les dépendances et l'évaluation dans un seul enregistrement de version.

L'ingénierie des réseaux neuronaux consiste à rendre mesurable le cheminement des données à la décision. Ajoutez de la complexité progressivement, une modification à la fois, afin qu'une amélioration soit justifiée et qu'un incident dispose d'un point de restauration connu.

Vérifiez votre compréhension
L'ajout de couches améliore-t-il toujours les performances ?