Le réglage fin est une technique populaire de l'apprentissage machine (ML) qui consiste à prendre un modèle déjà formé sur un grand ensemble de données (un modèle préformé) et à le former davantage sur un ensemble de données plus petit et spécifique, pertinent pour une tâche particulière. Cette approche tire parti des connaissances générales apprises par le modèle au cours de sa formation initiale, en l'adaptant pour qu'il excelle dans un domaine plus spécialisé, sans qu'il soit nécessaire de former un modèle à partir de zéro. Cela permet d'économiser beaucoup de temps et de ressources informatiques, ce qui en fait une pratique courante dans des domaines tels que la vision artificielle (CV) et le traitement du langage naturel (NLP). Des frameworks comme PyTorch et TensorFlow fournissent les outils nécessaires à la mise en œuvre du réglage fin.
Pourquoi utiliser le réglage fin ?
Le réglage fin offre plusieurs avantages clés :
- Réduction du temps de formation : commencer avec un modèle pré-entraîné réduit considérablement le temps nécessaire par rapport à une formation à partir de zéro, car le modèle comprend déjà les modèles de base.
- Exigences moindres en matière de données : Le réglage fin permet souvent d'obtenir de bons résultats même avec des données limitées spécifiques à une tâche, car il s'appuie sur les connaissances approfondies acquises grâce au vaste ensemble de données initial. Des plateformes comme Kaggle organisent souvent des concours où le réglage fin est une stratégie clé.
- Amélioration des performances : En tirant parti des caractéristiques apprises à partir de grands ensembles de données, le réglage fin peut conduire à une plus grande précision et à une meilleure généralisation sur la tâche cible, en particulier lorsque l'ensemble de données cible est petit.
- Accessibilité : Il rend les modèles de pointe accessibles aux praticiens qui ne disposent pas forcément des ressources informatiques massives requises pour le pré-entraînement initial. Hugging Face fournit un vaste répertoire de modèles pré-entraînés prêts à être affinés.
Explore d'autres conseils de formation au modèle pour optimiser le processus.
Ajustement et concepts apparentés
Il est important de faire la distinction entre le réglage fin et les concepts similaires de ML :
- Apprentissage par transfert: Il s'agit d'un concept général dans lequel les connaissances acquises dans le cadre d'une tâche sont appliquées à une tâche différente mais connexe. Le réglage fin est une méthode spécifique d'apprentissage par transfert dans laquelle les poids d'un modèle pré-entraîné sont entraînés (ajustés) sur les données de la nouvelle tâche. D'autres méthodes d'apprentissage par transfert peuvent consister à utiliser le modèle uniquement pour l'extraction de caractéristiques. Apprends-en plus grâce à des ressources telles que le cours sur l'apprentissage automatique d'Andrew Ng.
- Extraction de caractéristiques: Dans cette approche, le modèle pré-entraîné (dont les dernières couches sont souvent supprimées) est utilisé comme extracteur de caractéristiques fixes. Les sorties (caractéristiques) sont ensuite introduites dans un nouveau modèle, généralement plus simple (comme un SVM ou un petit réseau neuronal) qui est entraîné à partir de zéro sur le nouvel ensemble de données. Contrairement au réglage fin, les poids du modèle principal pré-entraîné ne sont généralement pas mis à jour.
- Réglage des hyperparamètres: Il s'agit de trouver l'ensemble optimal d'hyperparamètres (par exemple, le taux d'apprentissage, la taille du lot, le nombre d'époques, les choix d'architecture du réseau) avant le début du processus de formation ou de réglage fin. Il optimise la configuration du processus d'apprentissage, tandis que le réglage fin optimise les poids du modèle en fonction des données. Des outils comme Ultralytics Tuner automatisent la recherche d'hyperparamètres.
Applications dans le monde réel
Le réglage fin est largement utilisé dans divers domaines :
- Analyse d'images médicales: Un modèle de vision pré-entraîné sur ImageNet peut être affiné sur un plus petit ensemble de données de radiographies ou de tomodensitogrammes pour détecter des conditions spécifiques telles que la pneumonie ou les tumeurs cérébrales. Cela permet de tirer parti de la capacité acquise par le modèle à reconnaître les formes et les textures à des fins de diagnostic médical. Les recherches dans ce domaine sont souvent publiées sur des plateformes comme arXiv.
- Détection d'objets spécialisés : Un détecteur d'objets général comme YOLO, pré-entraîné sur COCO, peut être affiné pour identifier des éléments spécifiques dans des environnements de niche, comme des types particuliers de défauts dans l'IA pour le contrôle de la qualité de la fabrication, ou des espèces animales spécifiques pour la conservation de la faune et de la flore.
- Chatbots personnalisés et analyse de texte : Les grands modèles de langage comme BERT (expliqué dans le Google AI Blog) ou GPT-3 d'OpenAI peuvent être affinés sur des documents spécifiques à l'entreprise ou des journaux du service client pour créer des systèmes spécialisés de réponse aux questions ou effectuer une analyse de sentiment très précise pour des industries spécifiques. Le Stanford NLP Group est l'un des principaux contributeurs à la recherche sur le NLP.
Explore davantage d'applications au sein de la communauté de la vision par ordinateur.
Comment fonctionne le réglage fin
Le processus commence généralement par la sélection d'un modèle pré-entraîné, tel qu'un modèle d' Ultralytics YOLO d'Ultralytics formé sur un vaste ensemble de données comme COCO ou ImageNet. Ces modèles, souvent des réseaux neuronaux convolutifs (CNN) pour la vision ou des transformateurs pour le NLP, ont déjà appris à reconnaître des caractéristiques générales à partir de leurs données d'entraînement initiales. Lors du réglage fin, les poids du modèle - paramètresappris pendant la formation - sont ajustés en fonction du nouvel ensemble de données, plus petit. Souvent, les premières couches du réseau (qui apprennent des caractéristiques générales telles que les arêtes ou les textures) restent "gelées" (leurs poids ne sont pas mis à jour), tandis que les couches ultérieures, plus spécifiques à une tâche, sont réentraînées. Ce réentraînement implique généralement l'utilisation d'un taux d'apprentissage plus faible que celui utilisé lors de l'entraînement initial pour effectuer de plus petits ajustements des poids, préservant ainsi les connaissances acquises précédemment tout en s'adaptant aux nuances de la nouvelle tâche. Tu trouveras plus de détails sur les mécanismes dans des ressources telles que le cours fast.ai.