Découvrez comment les poids des modèles agissent comme la connaissance de l'IA. Explorez comment Ultralytics utilise des poids optimisés pour un apprentissage et une inférence plus rapides et plus précis.
Les poids du modèle sont les paramètres apprenables d'un modèle d'apprentissage automatique qui transforment les données d'entrée en prédictions . Dans un réseau neuronal, 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 et faibles, ce qui signifie que le modèle « ne sait » rien. Grâce à un processus appelé apprentissage, 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. Vous pouvez considérer les poids du modèle comme la « mémoire » ou les « connaissances » de l'IA ; ils stockent ce que le système a appris à partir de ses données d'apprentissage.
L'objectif principal de l'entraînement d'un réseau neuronal est de trouver l'ensemble optimal de poids du modèle qui minimise l'erreur entre les prédictions du modèle et la vérité terrain réelle. Ce processus consiste à faire passer les données à travers le réseau — une étape appelée « passage en avant » — puis à calculer une valeur de perte à l'aide d'une fonction de perte spécifique. Si la prédiction est incorrecte, un algorithme d'optimisation tel que la descente stochastique du gradient (SGD) ou le nouvel optimiseur Muon utilisé dans YOLO26 calcule dans quelle mesure chaque poids a contribué à l'erreur.
Grâce à une technique appelée rétropropagation, l' algorithme met légèrement à jour les poids afin de réduire l'erreur pour la prochaine fois. Ce cycle se répète des milliers, voire des millions de fois jusqu'à ce que les poids du modèle se stabilisent et que le système atteigne un haut niveau de précision. Une fois l'apprentissage terminé, les poids sont « gelés » et enregistrés, ce qui permet de déployer le modèle pour l' inférence sur de nouvelles données inconnues.
Il est important de distinguer weights and biases, car ils fonctionnent ensemble mais ont des objectifs différents. Alors 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 de décaler la fonction d'activation vers la gauche ou vers la droite. Ce décalage garantit que le modèle peut mieux s'adapter 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 d'architectures telles que les réseaux neuronaux convolutifs (CNN).
Les poids des modèles sont le composant central qui permet aux systèmes d'IA de fonctionner dans divers secteurs. Voici deux exemples concrets de leur application :
En pratique, travailler avec les poids du modèle implique d'enregistrer les paramètres entraînés dans un fichier et de les charger ultérieurement pour la
prédiction ou ajustement finDans l'écosystème Ultralytics
, ceux-ci sont généralement stockés sous forme de .pt (PyTorch) fichiers.
Voici un exemple simple illustrant comment charger des poids pré-entraînés dans un YOLO et exécuter 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.")
L'un des aspects les plus puissants des poids des modèles est leur portabilité. Au lieu de former un modèle à partir de zéro, ce qui nécessite des ensembles de données massifs et une puissance de calcul importante, les développeurs ont souvent recours au transfert d'apprentissage. Cela consiste à prendre un modèle dont les poids ont été pré-entraînés sur un grand ensemble de données comme COCO ou ImageNet et de l'adapter à une tâche spécifique.
Par exemple, vous pouvez prendre les poids d'un détecteur d'objets général et les affiner sur un ensemble de données plus petit de panneaux solaires. Comme les poids pré-entraînés comprennent déjà les contours, les formes et les textures, le modèle converge beaucoup plus rapidement et nécessite moins de données étiquetées. Des outils tels que la Ultralytics simplifient ce processus, permettant aux équipes de gérer des ensembles de données, d'entraîner des modèles sur le cloud et de déployer de manière transparente des poids optimisés sur des appareils périphériques.
La recherche moderne en IA se concentre souvent sur la réduction de la taille des fichiers de poids des modèles sans sacrifier les performances, un processus connu sous le nom de quantification des modèles. En réduisant la précision des poids (par exemple, de 32 bits en virgule flottante à 8 bits en entier), les développeurs peuvent réduire considérablement l' utilisation de la mémoire et améliorer la vitesse d'inférence. Ceci est crucial pour le déploiement de modèles sur du matériel aux ressources limitées, comme les téléphones mobiles ou les appareils Raspberry Pi. De plus, des techniques telles que l'élagage suppriment les poids qui contribuent peu au résultat, rationalisant ainsi davantage le modèle pour les applications en temps réel.