Model Weights
Apprends comment les poids de modèle agissent comme la connaissance de l'IA. Explore comment Ultralytics YOLO26 utilise des poids optimisés pour un entraînement et une inférence plus rapides et précis.
Les poids du modèle sont les paramètres apprenables au sein d'un modèle d'apprentissage automatique qui transforment les données d'entrée en prédictions. Dans un réseau de neurones, ces poids représentent la force des connexions entre les neurones à travers différentes couches. Lorsqu'un modèle est initialisé, ces poids sont généralement définis sur des valeurs aléatoires faibles, ce qui signifie que le modèle ne « sait » rien. Grâce à un processus appelé entraînement, le modèle ajuste ces poids de manière itérative en fonction des erreurs qu'il commet, apprenant progressivement à reconnaître des modèles, des caractéristiques et des relations au sein des données. Tu peux considérer les poids du modèle comme la « mémoire » ou la « connaissance » de l'IA ; ils stockent ce que le système a appris de ses données d'entraînement.
Link to this sectionLe rôle des poids dans l'apprentissage#
L'objectif principal de l'entraînement d'un réseau de neurones est de trouver l'ensemble optimal de poids de modèle qui minimise l'erreur entre les prédictions du modèle et la réalité terrain. Ce processus implique de faire passer des données à travers le réseau — une étape appelée passe avant (forward pass) — puis de calculer une valeur de perte à l'aide d'une fonction de perte spécifique. Si la prédiction est incorrecte, un algorithme d'optimisation comme la Stochastic Gradient Descent (SGD) ou le nouvel optimiseur Muon utilisé dans YOLO26 calcule la contribution de chaque poids à l'erreur.
Grâce à une technique appelée rétropropagation, l'algorithme met à jour les poids légèrement pour réduire l'erreur lors de la prochaine itération. Ce cycle se répète des milliers ou des millions de fois jusqu'à ce que les poids du modèle se stabilisent et que le système atteigne une grande précision. Une fois l'entraînement terminé, les poids sont « gelés » et enregistrés, permettant au modèle d'être déployé pour l'inférence sur de nouvelles données inédites.
Link to this sectionPoids du modèle vs. biais#
Il est important de distinguer les poids des biais, car ils fonctionnent ensemble mais servent des objectifs différents. Tandis que les poids du modèle déterminent la force et la direction de la connexion entre les neurones (contrôlant la pente de l'activation), les biais permettent à la fonction d'activation d'être décalée vers la gauche ou vers la droite. Ce décalage garantit que le modèle peut mieux s'ajuster aux données, même lorsque toutes les caractéristiques d'entrée sont nulles. Ensemble, les poids et les biais forment les paramètres apprenables qui définissent le comportement des architectures telles que les Convolutional Neural Networks (CNNs).
Link to this sectionApplications concrètes#
Les poids du modèle sont le composant essentiel qui permet aux systèmes d'IA de fonctionner dans divers secteurs. Voici deux exemples concrets de leur application :
- Vision par ordinateur dans le commerce de détail : Dans un système de supermarché intelligent, un modèle comme YOLO26 utilise ses poids entraînés pour identifier les produits en rayon. Les poids ont « appris » des caractéristiques visuelles — comme la forme d'une boîte de céréales ou la couleur d'une canette de soda — permettant au système de détecter des articles, de gérer les stocks et même de faciliter efficacement les processus de paiement automatisés.
- Analyse d'images médicales : Dans le domaine de la santé, les modèles d'apprentissage profond utilisent des poids spécialisés pour analyser des radiographies ou des IRM. Par exemple, un modèle entraîné pour la détection de tumeurs utilise ses poids pour distinguer les tissus sains des anomalies potentielles. Ces poids capturent des modèles complexes et non linéaires dans les données de pixels qui pourraient être subtils pour l'œil humain, aidant les radiologues à poser des diagnostics plus rapides.
Link to this sectionEnregistrer et charger des poids#
En pratique, travailler avec les poids d'un modèle implique d'enregistrer les paramètres entraînés dans un fichier et de les charger plus tard pour la prédiction ou le fine-tuning. Dans l'écosystème Ultralytics, ceux-ci sont généralement stockés sous forme de fichiers .pt (PyTorch).
Voici un exemple simple pour charger des poids pré-entraînés dans un modèle YOLO et effectuer une prédiction :
from ultralytics import YOLO
# Load a model with pre-trained weights (e.g., YOLO26n)
model = YOLO("yolo26n.pt")
# Run inference on an image using the loaded weights
results = model("https://ultralytics.com/images/bus.jpg")
# Print the number of detected objects
print(f"Detected {len(results[0].boxes)} objects.")Link to this sectionApprentissage par transfert et fine-tuning#
L'un des aspects les plus puissants des poids de modèle est leur portabilité. Au lieu d'entraîner un modèle à partir de zéro — ce qui nécessite des jeux de données massifs et une puissance de calcul importante — les développeurs utilisent souvent l'apprentissage par transfert. Cela implique de prendre un modèle avec des poids pré-entraînés sur un grand jeu de données comme COCO ou ImageNet et de l'adapter à une tâche spécifique.
Par exemple, tu pourrais prendre les poids d'un détecteur d'objets général et les affiner (fine-tuning) sur un plus petit jeu de données de panneaux solaires. Comme les poids pré-entraînés comprennent déjà les bords, les formes et les textures, le modèle converge beaucoup plus rapidement et nécessite moins de données étiquetées. Des outils comme la plateforme Ultralytics simplifient ce processus, permettant aux équipes de gérer des jeux de données, d'entraîner des modèles sur le cloud et de déployer facilement des poids optimisés sur des appareils de périphérie.
Link to this sectionCompression et optimisation#
La recherche moderne en IA se concentre souvent sur la réduction de la taille des fichiers des poids de modèle sans sacrifier les performances, un processus connu sous le nom de quantification de modèle. En réduisant la précision des poids (par exemple, de nombres à virgule flottante 32 bits à des entiers 8 bits), les développeurs peuvent réduire considérablement l'utilisation de la mémoire et améliorer la vitesse d'inférence. Cela est crucial pour déployer des modèles sur du matériel aux ressources limitées comme les téléphones portables ou les appareils Raspberry Pi. De plus, des techniques comme l'élagage suppriment les poids qui contribuent peu au résultat, rationalisant davantage le modèle pour les applications en temps réel.






