Google maakt PlaNet opensource: snellere AI-training met minder rekenkracht

Google stelt zijn PlaNet-raamwerk open voor ontwikkelaars. Het AI-leerplatform maakt gebruik van een slimme nieuwe aanpak waarmee modellen sneller, efficiënter en accurater getraind kunnen worden.

Google maakt zijn Deep Planning Network (PlaNet) opensource. PlaNet is een project dat model-based reinforcement learning ondersteunt. Reinforcement learning is een vorm van machine learning waarbij een AI-model zichzelf traint in de uitvoering van specifieke taken. Die aanpak vormt de basis van alle recente doorbraken in AI.

Er zijn grosso modo twee grote manieren van aanpak voor reinforcement learning. De eerste gaat door het leven als model-free reinforcement learning. Daarbij leren algoritmes al doende welke acties hen dichter bij een beoogd resultaat brengen. Een algoritme dat een (virtuele) robot bestuurt en zichzelf moet leren wandelen, zal maar wat proberen en zichzelf zo langzaamaan naar het beoogde resultaat sukkelen. Sommige bewegingen doen de robot misschien op zijn rug vallen, terwijl andere het begin van een succesvolle stap voorwaarts zijn. Training van een dergelijk model neemt veel tijd in beslag. Het resultaat is een slim algoritme, maar de weg er naartoe is best dom.

Slimmer met omgevingsmodellen

Met PlaNet wil Google een doordachter plan van aanpak populariseren: model-based reinforcement learning. De naam suggereert al waar het verschil zit. Een algoritme in een model-free traject kijkt naar inputdata, kiest een actie, en ontdekt vervolgens of die goed dan wel slecht is. Bij een modelgebaseerde aanpak probeert de AI-in-opleiding zich eerst een virtueel beeld van zijn omgeving en de regels daarin te vormen. Het stelt als het ware een digitaal model van zijn omgeving op. Ook dat gebeurt al doende, maar zodra de AI de belangrijkste regels kent die van toepassing zijn op zijn omgeving en taak, gaat het leren plots veel sneller.

Heel concreet laat PlaNet een AI toe om vooruit te plannen. In de plaats van één actie te ondernemen, en als het ware te zien wat er gebeurt, kan de AI duizenden potentiële acties vooraf visualiseren, en dat op langere termijn. Uit die kennis kiest de AI dan de best mogelijke eerstvolgende actie, waarna het algoritme de situatie opnieuw evalueert.

Zo weinig mogelijk interactie

De sleutel hiertoe is het zogenaamde Recurrent State Space Model: kort door de bocht is dat een latent en dus statisch omgevingsmodel waarin de AI zijn planning kan uitvoeren. Als de AI een bal naar een doel moet schieten, kan het algoritme binnen dat model simuleren hoe een actie volgens de regels van de omgeving een bal al dan niet richting het doel zal stuwen, zonder dat het zich daarbij telkens actief een nieuw beeld van de omgeving moet vormen.

Die aanpak vertaalt zich in een veel grotere efficiëntie in het leerproces en dat is belangrijk. Machine learning is immers een erg intensieve bezigheid die veel tijd en rekenkracht vereist. Door een beeld van de omgeving op te bouwen en vervolgens interactie met die omgeving tot een minimum te beperken in de planningsfase, kan een algoritme met de hulp van PlaNet en model-based reinforcement learning zichzelf sneller de juiste taak aanleren (wandelen met een robot, voetballen…).

Betere aanpak

Uit onderzoek van Google blijkt dat PlaNet vandaag doorgaans even efficiënt, zo niet efficiënter is dan de geijkte model-based methodes, waarbij de researchers hun opensource-methode vooral vergelijken met A3C (PlaNet is sneller) en D4PG (PlaNet is even snel).

Google wil ontwikkelaars aanzetten om vooral binnen de context van 3D-omgevingen in te zetten op PlaNet. In combinatie met de juiste hardware, en daarbij doelen de onderzoekers vooral op speciaal ontwikkelde TPU-cores, kan de aanpak in theorie een sprong voorwaarts voor AI en machine learning teweeg brengen. Dat is dan weer interessant voor allerhande toepassingen, van autonome wagens over slimme camera’s tot robotica in zijn breedste vorm.

Ontwikkelaars die aan de slag willen met PlaNet om hun slimme algoritmes te trainen, vinden de broncode op GitHub.

Lees ook: AI, machine learning en deep learning: wat is het verschil?