Découvrez comment l'apprentissage continu permet à l'IA d'acquérir de nouvelles compétences sans les oublier. Explorez les stratégies clés et mettez à jour vos modèles Ultralytics pour l'IA de pointe.
L'apprentissage continu (CL), souvent appelé apprentissage tout au long de la vie, décrit la capacité d'un modèle d'intelligence artificielle à apprendre de nouvelles tâches ou à acquérir de nouvelles connaissances au fil du temps sans oublier les informations apprises précédemment . Contrairement aux pipelines d'apprentissage automatique traditionnels, où les modèles sont formés une seule fois sur un ensemble de données statique puis déployés, l'apprentissage continu imite la capacité humaine à s'adapter à de nouveaux environnements et à apprendre continuellement de nouvelles expériences . Le principal défi dans ce domaine consiste à surmonter l'oubli catastrophique, un phénomène où l'entraînement d'un réseau neuronal sur de nouvelles données entraîne une dégradation drastique de ses performances sur les tâches plus anciennes, car les poids optimisés pour les anciennes tâches sont écrasés.
Dans les environnements dynamiques du monde réel, les distributions de données restent rarement statiques. Par exemple, un système de perception visuelle sur un véhicule autonome doit s'adapter aux changements de saison, aux nouvelles réglementations routières ou aux différents aménagements urbains sans perdre la capacité de reconnaître les panneaux routiers de base appris lors de sa formation initiale. La reformationtraditionnelle à partir de zéro sur un ensemble de données cumulatives est souvent coûteuse en termes de calcul et peu pratique en raison des contraintes de stockage ou des préoccupations liées à la confidentialité . L'apprentissage continu résout ces problèmes en permettant aux modèles de se mettre à jour de manière incrémentielle, ce qui les rend plus efficaces et évolutifs pour les applications d'IA de pointe où les ressources sont limitées.
Pour atténuer l'oubli catastrophique, les chercheurs ont recours à plusieurs stratégies. Les méthodes de régularisation ajoutent des contraintes à la fonction de perte afin d'éviter des changements significatifs aux pondérations importantes identifiées dans les tâches précédentes. Les méthodes de relecture stockent un petit sous-ensemble de données précédentes (ou génèrent des échantillons synthétiques à l'aide d'une IA générative) et les mélangent avec de nouvelles données pendant l'entraînement. Enfin, l'isolation des paramètres consacre des sous-ensembles spécifiques des paramètres du modèle à différentes tâches, garantissant ainsi que les mises à jour pour une nouvelle tâche n'interfèrent pas avec les paramètres optimisés pour les tâches précédentes. Les avancées récentes en 2024 et 2025 se sont concentrées sur l'utilisation de modèles de langage visuel afin de mieux identifier les caractéristiques génériques et celles spécifiques à une tâche.
Il est important de distinguer l'apprentissage continu de l' apprentissage par transfert. Dans l'apprentissage par transfert, un modèle pré-entraîné sert de point de départ pour résoudre une nouvelle tâche spécifique, et les performances sur la tâche d'origine sont généralement sans importance. L'objectif est de maximiser les performances dans le domaine cible. En revanche, l'objectif de l' apprentissage continu est d'obtenir de bons résultats à la fois pour la nouvelle tâche et pour toutes les tâches précédentes. De même, alors que l' apprentissage actif se concentre sur la sélection des points de données les plus informatifs à étiqueter pour l'entraînement, l'apprentissage continu se concentre sur le processus de mise à jour du modèle lui-même au fil du temps.
Bien que l'apprentissage continu véritable nécessite des ajustements architecturaux spécialisés, les utilisateurs peuvent simuler ce flux de travail en affinant les modèles à partir de nouvelles données mélangées à un tampon de données anciennes. Ultralytics simplifie la gestion de ces ensembles de données et la gestion des versions des modèles. Voici un exemple illustrant comment mettre à jour un modèle à l'aide de Python :
from ultralytics import YOLO
# Load a model previously trained on 'dataset_v1.yaml'
model = YOLO("yolo26n-v1.pt")
# Train the model on a new dataset containing new and old samples
# This helps mitigate catastrophic forgetting by "replaying" old data
results = model.train(
data="dataset_v2_combined.yaml",
epochs=50,
imgsz=640,
lr0=0.001, # Lower learning rate for fine-tuning
)
Malgré les progrès réalisés, l'apprentissage continu reste un domaine de recherche actif. Il est difficile de déterminer le bon équilibre entre plasticité et stabilité, c'est-à-dire entre la capacité d' apprendre de nouvelles choses (plasticité) et celle de conserver les anciennes (stabilité). De plus, l'évaluation de ces systèmes nécessite des mesures de performance robustes qui tiennent compte à la fois du transfert vers l'avant (vitesse d'apprentissage de nouvelles tâches) et du transfert vers l'arrière (impact sur les anciennes tâches). À mesure que les modèles de base deviennent plus importants, des méthodes d'adaptation continue efficaces telles que l'adaptation de rang faible (LoRA) deviennent cruciales pour personnaliser les systèmes à grande échelle sans avoir à les réentraîner entièrement.