Découvrez comment le réglage fin adapte les modèles pré-entraînés tels que Ultralytics à des tâches spécialisées. Apprenez à tirer parti du transfert d'apprentissage pour obtenir une IA plus rapide et plus précise.
Le réglage fin est un processus fondamental dans l' apprentissage automatique (ML) qui consiste à adapter un modèle pré-entraîné à une tâche ou à un ensemble de données spécifique. Au lieu de commencer l'entraînement à partir de zéro, ce qui nécessite d'énormes quantités de données, de temps et de puissance de calcul, les développeurs partent d'un « modèle de base » qui a déjà appris les caractéristiques générales à partir d'un vaste ensemble de données tel que ImageNet. Cette approche est une mise en œuvre pratique de l' apprentissage par transfert, permettant aux systèmes d'IA d'atteindre des performances élevées sur des problèmes de niche avec beaucoup moins de ressources.
L'idée centrale derrière le réglage fin est d'exploiter les « connaissances » déjà acquises par un modèle. Un modèle de base possède généralement une solide compréhension des éléments visuels fondamentaux, tels que les contours, les textures et les formes. Au cours du processus de réglage fin, les paramètres (poids) du modèle sont légèrement ajustés pour tenir compte des nuances des nouvelles données spécialisées.
Cet ajustement est généralement réalisé par descente de gradient à l'aide d'un taux d'apprentissage inférieur . Un taux d'apprentissage conservateur garantit que les caractéristiques utiles apprises lors de la pré-formation initiale sont affinées plutôt que détruites. Dans de nombreux workflows de vision par ordinateur (CV), les ingénieurs peuvent geler les couches initiales de la colonne vertébrale, qui detect les caractéristiques universelles, et ne mettre à jour que les couches plus profondes et la tête de détection chargée de faire les prédictions finales de classe .
Le réglage fin comble le fossé entre les capacités générales de l'IA et les exigences spécifiques de l'industrie. Il permet aux modèles génériques de devenir des experts spécialisés.
Il est utile de distinguer le réglage fin de la formation complète afin de comprendre quand utiliser chacune de ces approches.
Les frameworks modernes rendent ce processus accessible. Par exemple, la Ultralytics simplifie le flux de travail en gérant automatiquement la gestion des ensembles de données et la formation dans le cloud. Cependant, les développeurs peuvent également affiner les modèles localement à l'aide de Python.
L'exemple suivant montre comment affiner un modèle pré-entraîné.
YOLO26 modèle sur un ensemble de données personnalisé. Notez que nous chargeons
yolo26n.pt (les poids pré-entraînés) plutôt qu'un fichier de configuration simplifié, ce qui indique à la
bibliothèque de lancer l'apprentissage par transfert.
from ultralytics import YOLO
# Load a pre-trained YOLO26 model (n=nano size)
# This automatically loads weights trained on COCO
model = YOLO("yolo26n.pt")
# Fine-tune the model on a custom dataset (e.g., 'coco8.yaml')
# The 'epochs' argument determines how many passes over the data occur
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# The model is now fine-tuned and ready for specific inference tasks
Pour obtenir les meilleurs résultats, la qualité du nouvel ensemble de données est primordiale. L'utilisation d'outils d' augmentation des données permet d'élargir artificiellement un petit ensemble de données en faisant pivoter, en retournant ou en ajustant la luminosité des images, ce qui évite le surajustement. De plus, la surveillance de mesures telles que la perte de validation et la précision moyenne (mAP) garantit que le modèle se généralise bien à des données non vues.
Pour ceux qui gèrent des flux de travail complexes, l'utilisation de stratégies MLOps et d'outils tels que le suivi des expériences peut aider à maintenir le contrôle des versions sur différentes itérations affinées. Que ce soit pour la détection d'objets ou la segmentation d'instances, l'ajustement reste la norme dans l'industrie pour déployer des solutions d'IA efficaces.