Fine tuning pour la reconnaissance de piétons et véhicules dans un entrepôt
Le transfer learning est une technique du deep learning qui cherche à réutiliser un réseau de neurones entraîné à une tâche pour une autre.
L'une des applications du transfer learning est le fine tuning, qui consiste à prendre un modèle existant performant sur une tâche générale et l'entraîner sur un nouveau dataset plus spécifique.
L'application la plus évidente est le fine tuning pour la reconnaissance d'objets. À partir d'un modèle capable d'identifier un grand nombre de classes, l'affiner pour qu'il reconnaisse une classe spécifique.
Les avantages du fine tuning
Le modèle d'origine est performant car il a été entraîné :
Sur un dataset de grande taille
Avec une grande puissance de calcul
Pendant longtemps On économise donc ces trois besoins, et le fine tuning se fera sur un plus petit dataset avec un moins grand besoin de puissance et de temps.
L'espoir est d'obtenir un plus haut taux de précision que le modèle général sur la nouvelle tâche qui est plus spécifique.
Comment ?
Choisir le modèle d'origine
Le modèle général doit être capable de résoudre une tâche similaire à la votre.
Ajuster l'architecture du modèle
Bien souvent, cela consiste à changer la forme de la dernière couche du modèle, pour qu'il ait le bon nombre d'output. Cette couche modifiée est initialisée avec des poids aléatoires. Le reste des couches du réseau sont gelées pour que leurs poids ne soient pas modifiés durant l'entraînement.
Entraînement
Entraîner le modèle sur le dataset spécifique. Souvent avec un petit learning rate, qui offre un apprentissage plus fin que pendant l'entraînement du modèle d'origine.
Exemple d'application
En suivant ce tutoriel de PyTorch, j'ai utilisé le fine tuning pour reconnaître des piétons et des véhicules dans un hangar.
Préparer le dataset
J'ai généré le dataset dans Blender, ce processus est détaillé dans cet article : Dataset synthétique grâce au rendu 3D dans Blender - AI Squad by Reboot Conseil (rebootia.com)
Choisir le modèle d'origine
J'ai choisis le modèle pré entraîné MaskRCNN avec ResNet50 de PyTorch, un modèle à 50 couches performant sur un grand nombre de classes.
Ajuster l'architecture du modèle
Ici, il faut identifier 3 classes : les piétons, les transpalettes et le background. La dernière couche du modèle est donc remplacée par une couche à 3 sorties.
Résultats
L'objectif a été atteint. À partir d'un modèle général, j'ai maintenant un modèle qui répond à mes besoins spécifiques. Le tout avec un faible temps d'entraînement et un petit dataset.
Articles similaires
Newsletter
Recevez nos meilleurs articles chaque mois.
Pour aller plus loin
Template Ultime pour Vidéos IA - Guide Complet
Template Ultime pour Vidéos IA - Guide Complet 📋 Table des Matières Plateformes IA Disponibles Le Template Complet Guide des Paramètres Vidéo Bibli...
ArticleLa Matrice des Agents : Votre Guide Ultime de Prompts pour l'IA
La Matrice des Agents : Votre Guide Ultime de Prompts pour l'IA Ce guide fournit une collection complète de prompts prêts à l'emploi, conçus pour ...
ArticleTemplate Ultime pour Prompts IA - Guide Complet
Template Ultime pour Prompts IA - Guide Complet 📋 Table des Matières Le Template Complet Guide des Paramètres Bibliothèque d'Options Exemples d'Uti...
ArticleDiscours par niveau de maturité
Le sujet de l'IA est déjà très complexe car il y a mille et une façons de pouvoir l'aborder : Impact sur notre société, Impact sur le monde profes...
ArticleEmbeddings ? Hein ?
Suite à l’annonce de la release de Gemini par Google cette semaine, et du bad-buzz qui a suivi sur la démo semi fakée du géant du numérique; il n’e...
ArticleQu’est-ce que Duet AI ?
Je donne en ce moment à la CCI de Strasbourg sur un sujet qui n’est pas directement lié à l’IA, en apparence: déployer des applications en mode Dev...