En résumé
Andrej Karpathy décrit l’entraînement neuronal comme une abstraction qui laisse passer de nombreuses erreurs.
L’inspection des données doit précéder toute écriture de code dédié au réseau neuronal.
Un modèle simple permet de vérifier les pertes, les prédictions et les dépendances avant d’ajouter de la complexité.
Le signal : Andrej Karpathy recommande de suradapter un seul lot avant de passer à un modèle plus complexe.
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 progressive pour entraîner des réseaux neuronaux et réduire les erreurs difficiles à détecter. Son approche part de deux constats sur la pratique du deep learning. D’abord, l’entraînement constitue une abstraction imparfaite, contrairement à des interfaces logicielles plus prévisibles. Ensuite, un réseau mal configuré peut continuer à s’entraîner sans produire d’exception. Les erreurs peuvent concerner les étiquettes, les gradients, les poids préentraînés ou les paramètres d’optimisation. Karpathy recommande donc de formuler des hypothèses concrètes, puis de les vérifier avec des expériences simples. Cette démarche cherche à éviter l’introduction simultanée de nombreuses complexités non vérifiées. Lire la méthode complète.
Les erreurs silencieuses dominent une partie du risque technique. Une augmentation d’image peut conserver une étiquette incorrecte après retournement horizontal. Un modèle autorégressif peut aussi recevoir par erreur la valeur qu’il doit prédire. Le rognage des gradients peut enfin être remplacé par un rognage de la perte, ce qui ignore certains exemples atypiques. D’autres écarts viennent d’une moyenne absente lors du chargement d’un point de contrôle préentraîné, d’un taux d’apprentissage mal réglé ou d’une régularisation inadaptée. Ces défauts restent souvent compatibles avec une exécution normale. Karpathy conseille donc une attitude patiente, défensive et très attentive aux visualisations pendant chaque étape d’entraînement.
L’inspection précède le modèle dans le processus décrit par Karpathy. Il recommande d’examiner des milliers d’exemples afin d’identifier leur distribution, leurs répétitions et leurs anomalies. Cette étape lui a notamment permis de repérer des doublons, des images corrompues et des étiquettes incorrectes. L’analyse doit aussi rechercher les déséquilibres, les biais et le niveau de bruit des annotations. Des filtres peuvent classer les exemples selon le type d’étiquette, la taille des annotations ou leur nombre. La visualisation des valeurs extrêmes aide ensuite à localiser des défauts dans les données ou leur prétraitement. Cette lecture qualitative renseigne aussi sur le besoin de contexte global, de détails ou de position spatiale.
Un squelette simple vient ensuite remplacer les architectures ambitieuses. Karpathy recommande d’abord un classifieur linéaire ou un très petit réseau convolutif. Le code doit fixer la graine aléatoire et désactiver les fonctions inutiles, notamment l’augmentation des données. L’évaluation doit couvrir l’ensemble du jeu de test, avec suffisamment de chiffres significatifs. La perte initiale doit correspondre à une valeur attendue, comme -log(1/n_classes) pour une sortie softmax correctement initialisée. Les biais finaux doivent aussi refléter la moyenne d’une régression ou le ratio de classes. Enfin, une mesure compréhensible par un humain, comme l’exactitude, complète la perte et permet une vérification indépendante.
Un seul lot suffit pour tester la cohérence minimale du réseau. Karpathy conseille de suradapter quelques exemples, parfois seulement deux, en augmentant la capacité du modèle. La perte doit alors atteindre son niveau le plus bas possible, avec des prédictions alignées sur les étiquettes. Si cette expérience échoue, le processus doit s’arrêter avant l’ajout de nouvelles fonctions. Il faut également vérifier que la perte d’entraînement diminue lorsque la capacité augmente légèrement. Les données doivent être visualisées immédiatement avant leur entrée dans le réseau, au niveau exact du tenseur transmis au modèle. Une visualisation d’un lot de test fixe montre ensuite les mouvements des prédictions pendant l’entraînement et révèle les instabilités liées au taux d’apprentissage.
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