En résumé
Andrej Karpathy présente l’entraînement neuronal comme une abstraction imparfaite.
La méthode commence par l’inspection approfondie des données avant tout code neuronal.
Un petit modèle doit valider la chaîne complète avant l’ajout de complexité.
Le signal : Andrej Karpathy recommande de surentraîner un seul lot de quelques exemples avant d’ajouter de la complexité.
Vous appréciez ce genre d'analyse ?
Chaque mardi et vendredi, l'essentiel en business & IA décryptées en 5 minutes. Gratuit, sans engagement.
+11 000 fondateurs abonnés
Andrej Karpathy propose une méthode structurée pour entraîner des réseaux neuronaux et réduire les erreurs difficiles à détecter. Dans son article publié le 25 avril 2019, il explique que l’entraînement neuronal ne fonctionne pas comme une interface logicielle prête à l’emploi. Une configuration peut être correcte sur le plan syntaxique, tout en produisant un modèle moins performant. L’auteur recommande donc d’avancer de la simplicité vers la complexité. Chaque étape doit formuler une hypothèse concrète, puis la vérifier par une expérience. Cette démarche vise à limiter l’introduction simultanée de paramètres, de transformations et de composants impossibles à isoler rapidement. Lire l’article d’Andrej Karpathy.
Les erreurs restent silencieuses pendant la plupart des entraînements mal configurés, selon Karpathy. Un réseau peut continuer à apprendre après une mauvaise transformation des étiquettes, un décalage dans un modèle autorégressif ou une mauvaise application du découpage des gradients. D’autres réglages influencent aussi le résultat, notamment la régularisation, le taux d’apprentissage, sa décroissance et la taille du modèle. L’auteur oppose cette situation aux erreurs logicielles classiques, qui déclenchent souvent une exception ou peuvent être couvertes par des tests unitaires. Il recommande une attitude patiente, attentive aux détails et fortement fondée sur les visualisations. Il décrit ainsi l’entraînement rapide comme une source de difficultés plutôt qu’une méthode fiable.
La première étape exclut tout code de réseau neuronal. Karpathy conseille d’examiner des milliers d’exemples pendant plusieurs heures, afin d’identifier leur distribution, leurs motifs et leurs anomalies. Cette inspection lui a déjà permis de trouver des doublons, des images corrompues et des étiquettes incorrectes. Il recommande aussi de rechercher les déséquilibres, les biais et le niveau de bruit des annotations. Des outils simples peuvent filtrer, trier et visualiser les exemples selon le type d’étiquette, la taille des annotations ou leur nombre. Les valeurs atypiques révèlent souvent des défauts dans les données ou le prétraitement. Cette analyse aide également à déterminer l’importance du contexte global, de la position et du niveau de détail.
Le squelette complet vient ensuite, avec un modèle volontairement simple. Karpathy cite le classifieur linéaire et le très petit réseau convolutif comme points de départ. Il recommande de fixer la graine aléatoire, de désactiver les augmentations de données et d’évaluer la perte sur l’ensemble du jeu de test. La perte initiale doit correspondre à une valeur attendue, comme -log(1/n_classes) pour une sortie softmax correctement initialisée. Les biais de sortie peuvent aussi refléter une moyenne de régression ou un déséquilibre entre classes. L’équipe doit suivre des indicateurs interprétables, comme la précision, puis les comparer à une performance humaine lorsque cette mesure est possible.
Le test du lot unique constitue un contrôle central de la méthode. Karpathy conseille de faire apprendre au modèle quelques exemples seulement, parfois deux, jusqu’à atteindre la perte minimale possible. Les prédictions et les étiquettes doivent alors s’aligner visuellement. Si cet ajustement échoue, il recommande de rechercher un défaut avant de poursuivre. Un autre contrôle consiste à entraîner une référence indépendante des entrées, par exemple avec toutes les entrées mises à zéro. Cette référence doit être moins performante que le modèle utilisant les données. L’auteur conseille enfin de vérifier que la perte d’entraînement diminue lorsque la capacité du modèle augmente légèrement.
Les visualisations précèdent directement l’appel au modèle, car elles montrent les tenseurs réellement transmis au réseau. Karpathy présente cet emplacement comme le point de référence pour contrôler le décodage, les étiquettes, le prétraitement et l’augmentation des données. Il recommande aussi de suivre les prédictions sur un lot de test fixe durant l’entraînement. Leurs mouvements peuvent révéler une instabilité ou un taux d’apprentissage trop faible ou trop élevé. La méthode inclut enfin l’usage de la rétropropagation pour analyser les dépendances dans les opérations vectorisées et diffusées. Ces vérifications successives cherchent à remplacer la complexité non vérifiée par des expériences isolées et observables. Voir l’article sur la rétropropagation.
Gardez un coup d'avance en IA et tech.
Chaque mardi et vendredi, l'essentiel en business & IA décryptées en 5 minutes. Zéro spam.
+11 000 fondateurs abonnés