Continual Learning
Un modèle oriente les messages des clients vers les services « commandes » et « retours ». Il sait reconnaître « Où est mon colis ? ». L’entreprise ouvre maintenant un service des réclamations. Vous poursuivez l’entraînement du modèle sur des messages qui parlent de produits endommagés. Les réclamations sont de mieux en mieux orientées, mais une partie des questions sur la livraison commence elle aussi à atterrir dans le nouveau service. Ne vérifier que les réclamations donnerait une fausse impression de progrès.
Il vous faut apprendre de nouvelles choses au modèle tout en conservant ses compétences antérieures. C’est l’objectif du Continual Learning : un apprentissage sur des données ou des tâches qui arrivent les unes après les autres, en tenant compte de ce que le modèle a appris auparavant. Le nom désigne un problème et une famille d’approches ; il ne garantit pas l’absence d’oubli. Ce besoin est décrit par Kirkpatrick et al., Overcoming catastrophic forgetting in neural networks, §1.

Ce que l’on change dans l’apprentissage et dans la vérification
Supposons que l’archive complète des exemples utilisés pour l’apprentissage précédent ne soit plus disponible. Avant sa suppression, nous en avons conservé un petit échantillon : 20 messages dont le bon service est connu. L’une des méthodes possibles consiste à mélanger cet échantillon aux nouveaux exemples de réclamations. La suite de l’apprentissage reçoit ainsi également le signal qu’il faut continuer à traiter correctement « Où est mon colis ? ». La réutilisation d’anciens exemples est l’une des stratégies décrites par van de Ven et Tolias, Three scenarios for continual learning, §3.3.
Voir aussi : Experience Replay — conserver un petit échantillon d’anciens exemples et le mélanger au nouvel apprentissage.
L’équipe d’évaluation garde à part un test d’anciens messages, que nous n’utilisons pas pour l’apprentissage. Après chaque mise à jour, nous vérifions les anciennes catégories et les nouvelles. Les chiffres ci-dessous sont un exemple inventé, pas le résultat d’une étude ; chaque test contient 100 messages.
| Variante du modèle | Anciens messages corrects | Réclamations correctes |
|---|---|---|
| Avant le nouvel apprentissage | 90/100 | 0/100 — cette catégorie n’existe pas |
| Après un apprentissage sur les seules réclamations | 40/100 | 92/100 |
| Après un apprentissage avec l’échantillon d’anciens messages | 89/100 | 87/100 |
La dernière variante conserve mieux la compétence antérieure, même si elle reconnaît moins bien les réclamations que la deuxième. Le tableau montre ce qu’il faut comparer ; il ne promet pas un tel résultat après l’ajout de 20 exemples.
Les conditions changent la difficulté
Dans notre exemple, le modèle choisit lui-même parmi tous les services qu’il connaît. Un indice du type « ce message relève de la nouvelle catégorie » faciliterait le test. La disponibilité de tels indices et des frontières entre les tâches compte lorsqu’on compare des méthodes (van de Ven et Tolias, §2–2.3). Un petit échantillon peut laisser de côté les questions rares ; une bonne moyenne ne prouve pas que chaque compétence a été conservée.
- Catastrophic Forgetting [Polski] décrit une forte dégradation des anciennes compétences ; sa démonstration montre comment un nouvel apprentissage modifie des réglages partagés.
- Fine-tuning [Polski] est la poursuite de l’entraînement d’un modèle sur des exemples choisis. Après chaque nouvel entraînement, nous vérifions aussi les capacités antérieures.
- Knowledge Distillation [Polski] peut transmettre des indications d’un modèle plus ancien au modèle mis à jour ; c’est une autre stratégie que la conservation des messages d’origine (§3.3 de l’article de van de Ven et Tolias).
Texte et illustration préparés avec l’aide de l’IA ; les messages, la taille de l’échantillon et les résultats du tableau sont un exemple pédagogique personnel. L’illustration montre l’objectif de conservation des compétences antérieures, pas la structure d’un modèle.