Variationele autoencoder: hoe AI leert generaliseren én genereren
Stel je een portrettekenaar voor die duizenden gezichten heeft bestudeerd. Na verloop van tijd kent deze tekenaar niet elk gezicht uit het hoofd, maar heeft hij een gevoel ontwikkeld voor de onderliggende kenmerken: gezichtsvorm, oogafstand, haarkleur, leeftijd. Met dat gevoel kan hij niet alleen een bestaand gezicht natekenen, maar ook een volledig nieuw, geloofwaardig gezicht verzinnen door die kenmerken op een net iets andere manier te combineren. Een variationele autoencoder, meestal afgekort tot VAE, doet in essentie hetzelfde, maar dan met een neuraal netwerk in plaats van een tekenaar.
Een VAE is een type kunstmatige-intelligentiemodel dat leert om data zoals afbeeldingen, geluid of tekst samen te vatten in een compacte, wiskundige 'kern' en vanuit die kern weer nieuwe, vergelijkbare data te genereren. Getraind op duizenden foto's van handgeschreven cijfers kan een VAE bijvoorbeeld nieuwe cijfers tekenen die niemand ooit zo heeft geschreven, maar die toch overduidelijk als cijfer herkenbaar zijn. Dat vermogen om te generaliseren én te generen, maakt de VAE tot een van de fundamentele bouwstenen van moderne generatieve AI.
Wat is het precies?
Om een VAE te begrijpen, helpt het eerst een gewone autoencoder te begrijpen. Dat is een neuraal netwerk dat uit twee delen bestaat: een encoder en een decoder. De encoder perst een invoer, bijvoorbeeld een foto van 1.000 pixels, samen tot een veel kleinere reeks getallen, de zogeheten latente ruimte (van het Latijnse 'latens', verborgen). De decoder doet vervolgens het omgekeerde: hij probeert vanuit die compacte reeks getallen de oorspronkelijke foto zo goed mogelijk te reconstrueren. Door dit duizenden keren te herhalen en de fouten steeds bij te sturen, leert het netwerk welke kenmerken van de data er werkelijk toe doen.
Een gewone autoencoder comprimeert elke invoer naar één vast punt in die latente ruimte. Het probleem is dat de ruimte tussen die punten willekeurig en chaotisch kan zijn: als je zomaar een punt tussen twee bekende punten kiest en dat laat decoderen, komt er vaak onzin uit. Een VAE lost dit op door niet naar één punt te encoderen, maar naar een kansverdeling: voor elke invoer berekent de encoder een gemiddelde en een spreiding (hoeveel variatie er rond dat gemiddelde toegestaan is). Vervolgens wordt er willekeurig een punt uit die verdeling getrokken om te decoderen. Deze truc, bekend als de 'reparameterisatietruc', maakt het mogelijk om het hele systeem toch met gewone wiskundige technieken te trainen, ondanks die ingebouwde willekeur.
Tijdens het trainen wordt het netwerk op twee dingen tegelijk afgerekend. Ten eerste moet de reconstructie zo dicht mogelijk bij het origineel liggen. Ten tweede wordt de verdeling die de encoder aanmaakt, actief in de richting van een standaardverdeling (een nette, symmetrische 'bel' rond nul) geduwd, met een wiskundig hulpmiddel dat Kullback-Leiblerdivergentie heet en simpelweg meet hoe ver twee kansverdelingen van elkaar afliggen. Dit tweede onderdeel is wat de latente ruimte ordelijk en 'glad' maakt: punten die dicht bij elkaar liggen, leveren na decodering ook gelijkende resultaten op. Precies daardoor kun je, eenmaal getraind, willekeurige punten uit die nette ruimte trekken en er telkens een nieuw, plausibel resultaat uit laten rollen, zonder dat er ooit een encoder-invoer nodig is geweest.
Wat wil men ermee bereiken?
Het belangrijkste doel van een VAE is het leren van een bruikbare, gestructureerde representatie van complexe data, waarmee je vervolgens nieuwe voorbeelden kunt genereren die op de trainingsdata lijken zonder ze te kopiëren. Dat generatieve vermogen wordt onder meer ingezet voor het maken van afbeeldingen, muziek, tekst en zelfs moleculen.
Daarnaast is de geordende latente ruimte op zichzelf waardevol. Omdat vergelijkbare data dicht bij elkaar terechtkomen, kun je tussen twee punten 'interpoleren': geleidelijk van het ene gezicht naar het andere overvloeien, of stap voor stap tussen twee muzieksamples bewegen. Ook kun je met eenvoudige wiskunde kenmerken isoleren, zoals 'voeg een bril toe' of 'maak iemand ouder', door in een specifieke richting in die ruimte te bewegen.
Een ander praktisch doel is afwijkingsdetectie. Omdat een VAE leert hoe 'normale' data eruitziet, reconstrueert hij afwijkende of foutieve data juist slecht. Die reconstructiefout kan dan gebruikt worden als signaal om bijvoorbeeld defecte producten, frauduleuze transacties of medische afwijkingen te herkennen. Tot slot dient de VAE als compressietechniek en als bouwsteen binnen grotere AI-systemen, waaronder de tekst-naar-beeldmodellen die de afgelopen jaren veel aandacht kregen.
Voorbeelden uit de praktijk
De VAE werd in 2013 geïntroduceerd door Diederik P. Kingma en Max Welling in het paper 'Auto-Encoding Variational Bayes', destijds geschreven aan de Universiteit van Amsterdam. Dit paper geldt inmiddels als een van de meest invloedrijke publicaties uit de moderne machine learning.
In de scheikunde ontwikkelden onderzoekers van onder meer Harvard University en de University of Cambridge in 2018 een variant die bekendstaat als de 'chemical VAE'. Door moleculen om te zetten naar een continue latente ruimte kon het model nieuwe, chemisch plausibele molecuulstructuren voorstellen, wat interessant is voor medicijnontwikkeling.
Onderzoekers van DeepMind presenteerden in 2017 de VQ-VAE, een variant met een discrete in plaats van continue latente ruimte. Deze aanpak werd later gebruikt als beeld-'tokenizer' in OpenAI's eerste versie van DALL-E uit 2021, het model dat afbeeldingen op basis van tekstuele beschrijvingen genereerde.
Een VAE vormt ook een cruciaal, minder zichtbaar onderdeel van Stable Diffusion, het beeldgeneratiemodel dat in 2022 werd uitgebracht door onder meer het CompVis-lab van de LMU München, in samenwerking met Stability AI en Runway. Voordat het eigenlijke diffusieproces plaatsvindt, comprimeert een VAE de afbeelding naar een kleinere latente ruimte, waardoor het geheel veel minder rekenkracht vraagt. Deze aanpak staat bekend als 'latent diffusion'.
Buiten de beeldwereld gebruikte Netflix in 2018 een op VAE's gebaseerde methode om aanbevelingssystemen te verbeteren, door kijkgedrag te modelleren als een kansverdeling in plaats van als vaste voorkeuren.
Hoe ver is de techniek?
De VAE is inmiddels een volwassen en breed onderwezen techniek binnen machine learning, met stabiele en goed gedocumenteerde trainingsmethoden. Voor zuivere beeldkwaliteit werd de VAE in de jaren na 2017 echter grotendeels ingehaald door generative adversarial networks (GAN's) en later door diffusiemodellen: VAE-reconstructies zijn van nature vaak wat waziger, doordat de gebruikte verliesfunctie gemiddelden bevordert in plaats van scherpe details.
Toch verdween de VAE niet naar de achtergrond; hij verschoof grotendeels naar een ondersteunende rol. Zoals bij Stable Diffusion is de VAE tegenwoordig vaak de onzichtbare motor die grote modellen behapbaar maakt, door data te comprimeren voordat een zwaarder generatief proces begint. Onderzoek naar verbeterde varianten gaat door: hiërarchische modellen zoals NVAE van Nvidia (2020) en VQ-VAE-2 van DeepMind proberen scherpere en gedetailleerdere output te bereiken door meerdere lagen van latente representaties te combineren.
Een bekend technisch obstakel is 'posterior collapse': het decoder-netwerk wordt soms zo krachtig dat het de latente variabelen grotendeels negeert, waardoor het model minder leert van de structuur in de data. Onderzoekers werken nog altijd aan trainingstechnieken om dit te voorkomen. Over het algemeen geldt de VAE als een uitontwikkelde, betrouwbare techniek, maar niet als het huidige state-of-the-art voor fotorealistische beeldgeneratie op zichzelf.
Wie werken eraan?
De basis werd gelegd aan de Universiteit van Amsterdam, waar Max Welling als hoogleraar machine learning werkzaam was en waar Diederik Kingma promoveerde. Welling is nadien verbonden geweest aan bedrijven als Qualcomm en Microsoft, terwijl Kingma na zijn promotie onderzoek deed bij Google en later bij OpenAI.
DeepMind (onderdeel van Google) heeft met varianten als de VQ-VAE en de bèta-VAE belangrijke bijdragen geleverd, onder meer gericht op het scheiden van betekenisvolle kenmerken in de latente ruimte. OpenAI paste deze technieken toe in zijn beeldgeneratiemodellen. Het CompVis-lab van de LMU München, samen met Stability AI en Runway, bouwde de VAE-component die Stable Diffusion tot een van de bekendste open generatieve modellen maakte. Ook chipfabrikant Nvidia investeert in VAE-onderzoek, gericht op hogere beeldkwaliteit via hiërarchische architecturen.
Daarnaast blijft veel fundamenteel onderzoek naar VAE's plaatsvinden aan universiteiten wereldwijd, vaak gepubliceerd via preprint-platform arXiv en gepresenteerd op grote AI-conferenties zoals NeurIPS, ICML en ICLR.