Ga naar de hoofdinhoud
BVDNET
Arnhem · websites & automatiseringBVDNET
Kernconcepten

Transfer learning

Transfer learning is het hergebruiken van wat een AI-model op één taak leerde als startpunt voor een andere, zodat een verwante taak veel minder eigen voorbeelden vraagt.

Ook bekend als: domain adaptation

Transfer learning betekent dat je wat een AI-model op de ene taak heeft geleerd, hergebruikt als startpunt voor een andere. Een model dat al heeft geleerd van ruim een miljoen foto's of heel veel tekst, heeft maar een kleine set eigen voorbeelden nodig om een verwante taak te leren, zoals het sorteren van je klantmails. De grote AI-modellen achter chatbots zijn op dit idee gebouwd.

Hoe werkt het?

Onderzoekers van Stanford omschrijven het idee als de kennis die op de ene taak is geleerd, zoals objecten herkennen in foto's, toepassen op een andere, zoals handelingen herkennen in video's (Bommasani e.a., 2021). In deep learning gaat dat meestal via pre-training: een model leert eerst een algemene taak op een grote dataset en wordt daarna aangepast aan de taak waar het jou om gaat. Volgens hen maakt transfer learning foundation models mogelijk, en maakt hun schaal ze sterk.

De collegeaantekeningen van CS231n van Stanford beschrijven het klassieke geval met beelden. Een netwerk dat is voorgetraind op ImageNet, 1,2 miljoen foto's in 1.000 categorieën, wordt op een van twee manieren gebruikt. Als vaste feature-extractor blijft het bevroren en wordt alleen een nieuwe laatste classificatielaag op jouw data getraind. Bij fine-tuning gaat de training door het hele netwerk verder, meestal met een kleinere learning rate, zodat de voorgetrainde gewichten niet te snel en te sterk veranderen. Taalmodellen voegen twee opties toe: LoRA, dat een paar kleine toegevoegde matrices traint, en in-context learning, dat het model met een prompt aanpast, zonder enige training.

Formeel gebruikt transfer learning wat in een brondomein en brontaak is geleerd om een doeltaak te leren waarbij het domein of de taak verschilt (Ruder, 2017, naar Pan en Yang, 2010). Documenten in een andere taal zijn een geval van cross-lingual adaptation; documenten over andere onderwerpen een geval van domain adaptation.

Waarom werkt het?

In netwerken die op foto's zijn getraind, leren de eerste lagen algemene kenmerken, zoals detectoren voor randen en kleurvlakken, die voor veel taken bruikbaar zijn, terwijl de laatste lagen specifiek worden voor de oorspronkelijke taak. Yosinski e.a. (2014) maten dat laag voor laag. Kenmerken lieten zich slechter overdragen naarmate de twee taken verder uit elkaar lagen, maar zelfs kenmerken van een verre taak deden het beter dan beginnen met willekeurige gewichten.

Hoeveel data scheelt het?

Howard en Ruder (2018) fine-tunden een voorgetraind taalmodel om filmrecensies van IMDb te classificeren. Met maar 100 gelabelde voorbeelden deed het net zo goed als een model dat vanaf nul was getraind op 10 keer zoveel; met 50.000 ongelabelde recensies erbij evenaarde het een model dat op 100 keer zoveel was getraind. CS231n geeft een vuistregel: bij een kleine dataset die op de oorspronkelijke lijkt, train je alleen een classificatielaag bovenop, en bij een grote dataset fine-tune je het hele netwerk.

Wanneer gaat het mis?

Als de bron te ver van het doel af staat, kan overdracht het resultaat slechter maken dan leren zonder overdracht. Onderzoekers noemen dat negative transfer (Wang e.a., 2018). Fine-tuning kan ook aantasten wat het model eerst kon (catastrophic forgetting).

Voorbeeld

Stel: een webshop wil binnenkomende klantmails sorteren in retouren, vragen over de bezorging en klachten. Hij heeft veel te weinig tekst om een taalmodel vanaf nul te trainen. Hij neemt een voorgetraind model, labelt een paar honderd eigen mails en traint er een kleine classificatielaag bovenop, of fine-tunet het model. Het voorgetrainde model weet al hoe taal werkt; de voorbeelden van de webshop hoeven het alleen de drie categorieën te leren.