Cinq ans après AlexNet, le deep learning veut quitter le laboratoire

Les tutoriels de réseaux profonds se multiplient. Quelques lignes dans TensorFlow peuvent lancer un entraînement et donner l’impression que l’intelligence artificielle est devenue easy. Le code cache chargement des données, graphe de calcul, gradients, GPU et évaluation. Le vrai travail commence souvent avant et après fit.

Pour classifier des images de pièces conformes ou défectueuses, il faut définir l’unité, l’étiquette et le coût d’erreur. Les images sont séparées par lot ou période afin qu’une même pièce presque identique ne se retrouve pas à la fois dans entraînement et test.

Construire un essai reproductible

Le cycle serait :

  1. versionner images et règles d’étiquetage;
  2. séparer entraînement, validation et test;
  3. normaliser taille et pixels;
  4. entraîner avec mini-lots sur GPU;
  5. suivre perte d’entraînement et validation;
  6. choisir seuil sur la validation;
  7. ouvrir le test une seule fois;
  8. examiner faux positifs et faux négatifs;
  9. exporter modèle, prétraitement et version.

La convolution applique de petits filtres sur l’image et partage les poids selon la position. Les premières couches apprennent contours et textures; les suivantes combinent des formes. La rétropropagation calcule comment chaque poids contribue à l’erreur, puis l’optimiseur l’ajuste.

Si la perte d’entraînement baisse pendant que la validation monte, le modèle surapprend. L’augmentation de données, la régularisation et un modèle plus petit peuvent aider. Plus de couches n’est pas automatiquement mieux.

La production change la distribution

L’éclairage, la caméra ou la matière peuvent différer de l’échantillon. Une précision de 98 % en laboratoire peut tomber. Je conserve les scores, la version et un échantillon des erreurs autorisé, puis je surveille taux de défaut prédit, confiance et performance confirmée par des inspections humaines.

Le seuil dépend du coût. Pour ne pas laisser passer un défaut critique, on accepte davantage de faux rejets et une revue humaine. La matrice de confusion et précision/rappel parlent mieux que l’exactitude globale lorsque les défauts sont rares.

L’inférence a un budget de latence et de mémoire. Le prétraitement doit être identique à l’entraînement. Une image mal formée ne doit pas planter la chaîne; elle va en quarantaine. Le modèle est signé, son accès contrôlé et un rollback conserve la version précédente.

Séparer le modèle du service de décision

Le fichier de poids reçoit une image et produit un score. Un service autour applique prétraitement, seuil, règle de revue, version et audit. Cette séparation permet de changer un seuil sans réentraîner et de comparer deux modèles sur le même trafic. Le service refuse une taille ou un format inattendu, limite le débit et surveille latence. Un registre garde modèle, données, code et résultats d’évaluation; le déploiement référence une empreinte immuable. Si la dérive augmente, on revient à l’ancienne version ou passe davantage de cas à l’humain. La production devient ainsi un système contrôlé plutôt qu’un notebook laissé ouvert derrière une API.

Je commencerais avec une baseline simple, un échantillon représentatif et un protocole écrit avant l’entraînement. Si le réseau ne bat pas une règle claire sur le test fermé et les cas importants, je garderais la règle. Le deep learning devient utile lorsqu’on peut relier donnée, modèle, seuil, erreur et décision en production.