Curriculumleren: hoe kunstmatige intelligentie leert als een schoolkind
Stel je een kind voor dat leert rekenen. Niemand begint met differentiaalvergelijkingen; eerst komen optellen en aftrekken, dan vermenigvuldigen, en pas veel later de ingewikkelde wiskunde. Deze opbouw van makkelijk naar moeilijk noemen we een curriculum, en precies dat principe wordt sinds enkele jaren ook toegepast bij het trainen van kunstmatige intelligentie. Bij curriculumleren (in het Engels: curriculum learning) krijgt een machine-learningmodel tijdens de training niet willekeurige voorbeelden te zien, maar een zorgvuldig geordende reeks die begint bij simpele gevallen en geleidelijk moeilijker wordt.
Het idee klinkt bijna te simpel om vermeldenswaardig te zijn, maar de impact is groot. Een zelfrijdende auto die leert rijden, doet dat bijvoorbeeld eerst in een rustige simulatie met weinig verkeer, voordat de simulatie drukke kruispunten en slecht weer toevoegt. Een taalmodel kan eerst korte, eenvoudige zinnen te verwerken krijgen voordat het lange, complexe teksten leert begrijpen. Door de leerstof te ordenen, blijkt een AI-systeem vaak sneller te trainen en soms ook beter te presteren dan wanneer het meteen met de volledige, chaotische mix van moeilijke en makkelijke voorbeelden wordt geconfronteerd.
Wat is het precies?
Bij het trainen van de meeste machine-learningmodellen, met name neurale netwerken, worden trainingsvoorbeelden normaal gesproken in willekeurige volgorde aangeboden. Het model past bij elk voorbeeld zijn interne parameters een klein beetje aan om de uitkomst te verbeteren, een proces dat bekendstaat als gradient descent (het stapsgewijs bijstellen van de rekenwaarden in het netwerk om de fout te verkleinen).
Curriculumleren grijpt in op de volgorde van die voorbeelden. Het proces verloopt doorgaans in een paar stappen. Eerst wordt bepaald hoe 'moeilijk' elk voorbeeld in de trainingsdataset is; dat kan bijvoorbeeld de lengte van een zin zijn, het aantal objecten in een afbeelding, of hoe onzeker een voorlopige versie van het model al over dat voorbeeld is. Vervolgens worden de voorbeelden gerangschikt van makkelijk naar moeilijk. Daarna traint het systeem eerst op de eenvoudigste subset, en wordt geleidelijk meer complexiteit toegevoegd naarmate het model beter wordt.
Er bestaan verschillende varianten. Bij zelfgestuurd leren (self-paced learning) bepaalt het model zelf, op basis van zijn eigen prestaties, wanneer het toe is aan moeilijkere stof. Bij automatisch curriculumleren stelt een apart 'lesgevend' algoritme, soms een tweede neuraal netwerk, steeds de moeilijkheidsgraad bij op basis van hoe goed het leerlingmodel presteert, vergelijkbaar met een docent die het tempo aanpast aan een klas. Deze aanpak wordt ook wel teacher-student curriculum learning genoemd.
Wat wil men ermee bereiken?
De kernbelofte van curriculumleren is efficiëntie: modellen die met een goed opgebouwd curriculum trainen, hebben in sommige experimenten minder trainingstijd en minder rekenkracht nodig om hetzelfde niveau te bereiken als modellen die met willekeurige volgorde trainen. Rekenkracht is in de AI-industrie een schaarse en dure hulpbron, dus elke methode die trainingskosten verlaagt is welkom.
Een tweede doel is stabiliteit. Sommige leertaken zijn zo moeilijk of schaars aan positieve voorbeelden dat een model vanaf het begin vastloopt of nooit een bruikbaar signaal oppikt, het zogeheten 'cold start'-probleem. Denk aan een robotarm die moet leren een object op te pakken: als de beloning alleen komt wanneer de taak volledig lukt, ervaart het systeem in het begin bijna nooit succes. Door eerst simpelere versies van de taak aan te bieden, bijvoorbeeld een object dat al dichtbij de gripper ligt, krijgt het systeem sneller een leersignaal.
Ten derde hopen onderzoekers dat curricula, net als bij mensen, tot betere generalisatie leiden: een model dat basisconcepten eerst stevig beheerst, zou robuustere en overdraagbaardere kennis kunnen opbouwen dan een model dat alles door elkaar leert. Dit is deels geïnspireerd door onderwijskunde en ontwikkelingspsychologie, waar gefaseerd leren al decennia een uitgangspunt is.
Voorbeelden uit de praktijk
Het formele startpunt van het onderzoeksveld is het artikel "Curriculum Learning" van Yoshua Bengio en collega's (Jérôme Louradour, Ronan Collobert, Jason Weston), gepresenteerd op de ICML-conferentie in 2009. Zij toonden aan dat neurale netwerken sneller en met een beter eindresultaat trainden op zowel een kunstmatige vormherkenningstaak als op taalmodellen, wanneer voorbeelden van eenvoudig naar complex werden aangeboden.
In de reinforcement learning, waarbij systemen leren door beloningen te maximaliseren in een omgeving, is curriculumleren inmiddels gangbaar. OpenAI gebruikte in 2019 een vorm van automatische curriculumopbouw bij het project Dactyl, waarbij een robothand leerde een Rubiks kubus te draaien; de moeilijkheidsgraad van de simulatie (bijvoorbeeld hoeveel de fysieke eigenschappen van de kubus varieerden) werd automatisch verhoogd naarmate het systeem beter presteerde, een techniek die nauw verwant is aan curriculumleren en bekendstaat als automatic domain randomization.
DeepMind paste vergelijkbare opbouwprincipes toe bij AlphaStar, het systeem dat in 2019 het strategiespel StarCraft II op professioneel niveau leerde spelen: het systeem trainde eerst tegen eenvoudigere tegenstanders en ingebouwde scripts, voordat het via zelfspel tegen steeds sterkere versies van zichzelf streed.
In de taalverwerking onderzochten Emmanouil Antonios Platanios en collega's van Carnegie Mellon University in 2019 competentiegebaseerd curriculumleren voor automatische vertaalsystemen, waarbij zinnen van eenvoudige naar complexe grammaticale structuur werden aangeboden, met meetbare snelheidswinst tijdens training.
Ook in de robotica-simulatieomgeving POET (Paired Open-Ended Trailblazer), gepubliceerd door Uber AI Labs in 2019, genereert het systeem zelf steeds moeilijkere hindernisparcours en koppelt die aan agents die daar net aan toe zijn, een vorm van automatisch, open-eindig curriculumleren.
Hoe ver is de techniek?
Curriculumleren is geen losstaand product of platform, maar een trainingsmethode die inmiddels op veel plekken in de praktijk wordt toegepast, vooral in reinforcement learning en bij het trainen van grote taalmodellen. Veel moderne taalmodellen gebruiken impliciete vormen van curriculumopbouw, bijvoorbeeld door trainingsdata te filteren op kwaliteit of door in latere trainingsfasen moeilijkere, specialistischere teksten toe te voegen.
Toch is het geen wondermiddel met gegarandeerd effect. Onderzoek laat wisselende resultaten zien: in sommige taken verbetert een curriculum de prestaties merkbaar, in andere taken maakt het nauwelijks verschil, en in een klein aantal gevallen werkt zelfs het omgekeerde beter, eerst moeilijke voorbeelden aanbieden (anti-curriculumleren). Er bestaat geen algemene, wiskundig bewezen regel voor wanneer en waarom een curriculum werkt; veel van de verklaringen blijven empirisch en taakafhankelijk.
Een praktisch obstakel is dat het bepalen van 'moeilijkheid' zelf lastig is. Voor beeldherkenning of taal is dit soms te schatten met simpele maatstaven zoals lengte of ruis, maar voor complexere taken is een goede moeilijkheidsmaat niet vanzelfsprekend en vereist vaak handmatig ontwerp of een extra model. Automatische curriculumsystemen proberen dit probleem te omzeilen, maar voegen op hun beurt weer een laag complexiteit en rekenkosten toe. Kortom: de techniek is volwassen genoeg om breed te worden gebruikt, maar nog niet zo uitontwikkeld dat er één standaardrecept bestaat dat voor elke toepassing werkt.
Wie werken eraan?
Het academische fundament komt van Yoshua Bengio en zijn onderzoeksgroep, verbonden aan Mila (Quebec Artificial Intelligence Institute) en de Université de Montréal, een van de invloedrijkste AI-onderzoekscentra ter wereld. Daarnaast hebben grote AI-laboratoria het concept praktisch verder uitgewerkt: DeepMind (onderdeel van Alphabet, gevestigd in Londen) paste het toe in spelomgevingen zoals StarCraft II, OpenAI (San Francisco) gebruikte automatische moeilijkheidsopbouw in robotica-experimenten, en Uber AI Labs ontwikkelde met POET een open-eindige variant.
Ook universiteiten zoals Carnegie Mellon University en Stanford University publiceren regelmatig onderzoek naar curriculumstrategieën, met name voor taalmodellen en vertaalsystemen. In China investeren onderzoeksgroepen aan onder meer Tsinghua University en techbedrijven als Baidu en Tencent in vergelijkbare technieken, vaak toegepast op spraakherkenning en aanbevelingssystemen. Omdat curriculumleren een trainingsmethode is en geen patenteerbaar product, wordt het over het algemeen open gepubliceerd in wetenschappelijke tijdschriften en op conferenties zoals ICML, NeurIPS en ICLR, waardoor kennis relatief vrij tussen instituten en landen circuleert.