Ga naar de hoofdinhoud
BVDNET
Arnhem · websites & automatiseringBVDNET
Kernconcepten

Continual learning

Bij continual learning blijft een AI-model na zijn eerste training bijleren van nieuwe informatie, zonder te vergeten wat het eerder heeft geleerd.

Ook bekend als: lifelong learning, incremental learning, continual lifelong learning

Continual learning betekent dat een AI-model na zijn eerste training blijft bijleren van nieuwe informatie, zonder te vergeten wat het al wist. Een model dat de klantmails van een webshop sorteert, moet bijvoorbeeld vragen over een nieuwe productlijn leren herkennen en retourvragen nog steeds goed afhandelen. Dat tweede deel is lastig: een model dat alleen op nieuwe voorbeelden wordt getraind, vergeet vaak de oude.

Waarom vergeet een model?

Een neuraal netwerk legt alles wat het leert vast in dezelfde gedeelde gewichten. Wijken nieuwe voorbeelden sterk af van de oude, dan overschrijft training daarop wat er al stond: catastrophic forgetting. Het overzichtsartikel van Parisi e.a. (2018) merkt op dat opnieuw trainen op alle data vanaf nul dit oplost, maar erg inefficiënt is en leren in real time in de weg zit. Het evenwicht tussen het nieuwe opnemen en het oude vasthouden heet het stabiliteit-plasticiteitsdilemma.

Hoe werkt het?

Het overzichtsartikel van De Lange e.a. (2019) verdeelt de methoden in drie families:

  1. Replay: bewaar een steekproef van oude voorbeelden en meng die door de training op nieuwe data. Bij generative replay (Shin e.a., 2017) maakt een generatief model nagebootste oude voorbeelden, zodat je de originelen niet hoeft te bewaren.
  2. Regularisatie: voeg aan het trainingsdoel een term toe die beschermt wat voor eerdere taken belangrijk was. EWC (elastic weight consolidation, Kirkpatrick e.a., 2016) remt het leren af op de gewichten die voor oude taken belangrijk waren.
  3. Parameterisolatie: geef elke taak een eigen deel van het model. Progressive networks (Rusu e.a., 2016) voegen per taak een nieuwe kolom lagen toe en bevriezen de oude. Adaptermodules (Houlsby e.a., 2019) voegen per taak een paar trainbare parameters toe, terwijl het oorspronkelijke netwerk vast blijft.

Elke familie betaalt ergens een prijs. Volgens De Lange e.a. kost replay extra rekenwerk en opslag, en kan het bewaren van ruwe voorbeelden privacyproblemen geven. Parisi e.a. waarschuwen dat extra capaciteit voor elke taak tot zeer grote netwerken kan leiden.

Hoe meet je het?

Van de Ven en Tolias (2019) beschrijven drie testscenario's, afhankelijk van wat het model bij het testen te horen krijgt:

  • Task-incremental: het model krijgt te horen welke taak het uitvoert.
  • Domain-incremental: de taak blijft gelijk en alleen de invoer verandert, dus het model hoeft niet te weten in welke situatie het zit.
  • Class-incremental: er komen steeds nieuwe klassen bij, en het model moet zelf afleiden bij welke taak een vraag hoort.

Het scenario bepaalt mee wat een resultaat zegt. In hun tests op handgeschreven cijfers (split en permuted MNIST) faalden regularisatiemethoden zoals EWC in het class-incremental scenario, en leek een vorm van replay nodig.

En bij grote taalmodellen?

Het overzichtsartikel van Wu e.a. (2024) vat de spanning samen voor grote taalmodellen: ze zijn te duur om vaak opnieuw te trainen, en toch moeten ze worden bijgewerkt om nieuwe vaardigheden te krijgen en bij te blijven met nieuwe kennis. Modelmakers brengen nieuwe versies uit die op nieuwere data zijn getraind; het modeloverzicht van Anthropic noemt bij elk Claude-model een training data cutoff, de grens van de trainingsdata. Tussen twee versies door zijn er goedkopere routes:

  • RAG bewaart veranderende feiten in documenten die het model doorzoekt. Wu e.a. zien dat als een manier om feitenkennis toe te voegen, terwijl continual learning mikt op de taal- en redeneervaardigheden van het model.
  • Adapters zoals LoRA laten de gewichten van het basismodel ongemoeid. Biderman e.a. (2024) vonden dat LoRA minder leert van een nieuw domein (programmeren, wiskunde) dan volledige fine-tuning, en meer behoudt van wat het basismodel daarbuiten kon.

Voorbeeld

Stel: de webshop uit het begin werkt zijn mailsorteerder elke maand bij door hem verder te trainen op de mails van die maand. Na een rustige maand voor retouren kan het model retourvragen slechter afhandelen, omdat de nieuwe voorbeelden een deel van het geleerde hebben overschreven. Een eenvoudige oplossing is replay: bewaar een steekproef van oudere, gelabelde mails en voeg die aan elke trainingsronde toe. Dat kost opslag, en omdat klantmails persoonsgegevens bevatten, geldt het privacypunt van De Lange e.a. hier ook.