Transfer learning
Wat is transfer learning?
Transfer learning is een model dat op één taak getraind is hergebruiken als startpunt voor een verwante taak. In plaats van vanaf nul te trainen, neem je een model dat al nuttige patronen leerde uit een grote dataset en pas je het aan jouw eigen, meestal kleinere, probleem aan. Dat spaart data, tijd en rekenkracht.
Denk aan iemand die al Spaans spreekt en Italiaans oppikt. Die leert veel sneller dan een beginner die van niets vertrekt, want een groot deel van het voorwerk draagt over. Transfer learning doet net hetzelfde voor modellen: de algemene kennis uit de eerste taak geeft de tweede taak een voorsprong.
Het werkt omdat de eenvoudige, onderliggende vaardigheden gedeeld zijn tussen taken. Een vision-model dat op miljoenen foto's getraind is, heeft al randen, texturen en vormen geleerd. Die zijn nuttig of je nu defecte onderdelen op een productielijn wil opsporen of productfoto's in een catalogus wil sorteren. Je houdt die geleerde basis en leert alleen het nieuwe, specifieke stuk aan.
Hoe werkt transfer learning?
Er zijn twee hoofdmanieren om een voorgetraind model te hergebruiken, en ze verschillen in hoeveel je eraan verandert.
Feature extraction. Je bevriest het voorgetrainde model en gebruikt het zoals het is, laat het je invoer omzetten in nuttige kenmerken, en traint alleen een kleine nieuwe laag erbovenop voor jouw taak. Het is snel en goedkoop, en het werkt goed als je dataset klein is of sterk lijkt op wat het originele model zag.
Fine-tuning. Je ontdooit een deel of alle voorgetrainde lagen en blijft trainen op je eigen data, zodat de gewichten verschuiven en beter bij je taak passen. Dat haalt een hogere accuraatheid, maar vraagt meer data en meer rekenkracht. Fine-tuning is één specifieke techniek binnen het bredere idee van transfer learning, geen apart iets.
Waar kom je transfer learning tegen?
Transfer learning komt het meest voor in deep learning, omdat diepe netwerken kenmerken in lagen leren, en de onderste lagen doorgaans herbruikbaar zijn. Het is de motor achter foundation models en large language models: een basismodel wordt één keer voorgetraind op brede data, en daarna passen talloze teams het aan hun eigen taak aan in plaats van elk een gigantisch model vanaf nul te trainen. Hetzelfde patroon zie je bij beeldherkenning met een voorgetraind basisnetwerk, bij spraakherkenning en in veel andere domeinen waar goede gelabelde data schaars is.
Een verwant maar ander idee is distillatie, waarbij een groot model een kleiner model leert om het na te bootsen. Distillatie verplaatst gedrag naar een kleiner model om de draaikosten te drukken; transfer learning verplaatst kennis naar een nieuwe taak. Soms worden ze gecombineerd.
Transfer learning versus vanaf nul trainen
Vanaf nul trainen geeft je volledige controle en een model dat helemaal door jouw data gevormd is, maar het vraagt een grote gelabelde dataset en serieuze rekenkracht, die veel teams niet hebben. Met transfer learning krijg je een werkend model met veel minder data en veel minder tijd, en daarom is het vandaag het standaard startpunt voor de meeste beeld- en taaltoepassingen.
De keerzijde is dat je het bronmodel erbij erft. Zijn aannames, zijn blinde vlekken en elke bias in zijn originele trainingsdata komen mee, dus een aangepast model heeft nog altijd tests op je echte gevallen nodig.
Waar moet je op letten bij transfer learning?
De taken moeten verwant zijn. Transfer werkt als de bron en het doel structuur delen. Hergebruik een model op iets wat er te ver van staat en de geleende kennis kan actief schaden, een probleem dat negatieve transfer heet.
Je erft de gebreken van de bron. Gaten en bias in de originele trainingsdata dragen over naar jouw model. Het aanpassen wist niet uit wat het eerder leerde.
Te hard fine-tunen wist vaardigheid uit. Duw je de training te agressief door, dan vergeet het model de algemene vaardigheden die het net de moeite van het hergebruiken waard maakten. Test op een bredere set dan je eigen taak voor je erop vertrouwt.
Check de licentie. Voorgetrainde gewichten komen met voorwaarden. Bevestig dat je een bepaald model voor jouw doel mag gebruiken, zeker commercieel, voor je erop verderbouwt.