211service.com
Een radicaal nieuw neuraal netwerkontwerp zou grote uitdagingen in AI kunnen overwinnen
David Duvenaud et al.
David Duvenaud werkte mee aan een project met medische data toen hij op een grote tekortkoming in AI stuitte.
Als AI-onderzoeker aan de Universiteit van Toronto wilde hij een diepgaand leermodel bouwen dat de gezondheid van een patiënt in de loop van de tijd zou voorspellen. Maar gegevens uit medische dossiers zijn nogal rommelig: gedurende uw hele leven kunt u om verschillende redenen op verschillende tijdstippen naar de dokter gaan, waardoor u met willekeurige tussenpozen een paar metingen kunt genereren. Een traditioneel neuraal netwerk heeft hier moeite mee. Het ontwerp vereist dat het leert van gegevens met duidelijke observatiestadia. Het is dus een slecht hulpmiddel voor het modelleren van continue processen, vooral processen die in de loop van de tijd onregelmatig worden gemeten.
De uitdaging bracht Duvenaud en zijn medewerkers aan de universiteit en het Vector Institute ertoe om neurale netwerken zoals we die kennen opnieuw te ontwerpen. Vorige week hun papier werd onder vier anderen gekroond tot beste paper op de Neural Information Processing Systems-conferentie, een van de grootste AI-onderzoeksbijeenkomsten ter wereld.
Neurale netwerken zijn de kernmachines die deep learning zo krachtig maken. Een traditioneel neuraal netwerk bestaat uit gestapelde lagen van eenvoudige rekenknooppunten die samenwerken om patronen in gegevens te vinden. De discrete lagen zorgen ervoor dat het continue processen niet effectief kan modelleren (daar komen we op terug).
Als reactie daarop schrapt het ontwerp van het onderzoeksteam de lagen volledig. (Duvenaud merkt snel op dat ze niet met dit idee kwamen. Ze waren slechts de eersten die het op een generaliseerbare manier implementeerden.) Laten we, om te begrijpen hoe dit mogelijk is, eens kijken wat de lagen in de eerste plaats doen.

Hoe een traditioneel neuraal net een afbeelding van een leeuw omzet in de naam 'leeuw'. Jeff Clune/screenshot
Het meest gebruikelijke proces voor het trainen van een neuraal netwerk (ook wel gesuperviseerd leren genoemd) omvat het invoeren van een reeks gelabelde gegevens. Stel dat u een systeem wilde bouwen dat verschillende dieren herkent. Je zou dierenfoto's van een neuraal net voeden met bijbehorende dierennamen. Onder de motorkap begint het een gekke wiskundige puzzel op te lossen. Het kijkt naar alle afbeelding-naam-paren en bedenkt een formule die op betrouwbare wijze de ene (de afbeelding) in de andere (de categorie) verandert. Zodra het die puzzel kraakt, kan het de formule keer op keer opnieuw gebruiken om elke nieuwe dierenfoto correct te categoriseren - meestal.
Maar het vinden van een enkele formule om de volledige transformatie van afbeelding naar naam te beschrijven, zou te breed zijn en resulteren in een model met een lage nauwkeurigheid. Het zou hetzelfde zijn als proberen een enkele regel te gebruiken om katten en honden te onderscheiden. Je zou kunnen zeggen dat honden slappe oren hebben. Maar sommige honden niet en sommige katten doen, dus je zou eindigen met veel valse negatieven en positieven.
Dit is waar de lagen van een neuraal netwerk van pas komen. Ze verdelen het transformatieproces in stappen en laten het netwerk een reeks formules vinden die elk een fase van het proces beschrijven. Dus de eerste laag kan alle pixels opnemen en een formule gebruiken om uit te zoeken welke het meest relevant zijn voor katten versus honden. Een tweede laag kan een andere gebruiken om grotere patronen te construeren uit groepen pixels en erachter te komen of de afbeelding snorharen of oren heeft. Elke volgende laag zou steeds complexere kenmerken van het dier identificeren, totdat de laatste laag de hond beslist op basis van de verzamelde berekeningen. Deze stapsgewijze analyse van het proces stelt een neuraal netwerk in staat om geavanceerdere modellen te bouwen, wat op zijn beurt zou moeten leiden tot nauwkeurigere voorspellingen.
De laagbenadering heeft het AI-veld goed gediend, maar heeft ook een nadeel. Als je iets wilt modelleren dat in de loop van de tijd continu verandert, moet je het ook opdelen in discrete stappen. Als we terugkeren naar het gezondheidsvoorbeeld, zou dat in de praktijk betekenen dat u uw medische gegevens moet groeperen in eindige perioden, zoals jaren of maanden. Je zou kunnen zien hoe dit onnauwkeurig zou zijn. Als u op 11 januari en opnieuw op 16 november naar de dokter ging, zouden de gegevens van beide bezoeken onder hetzelfde jaar worden gegroepeerd.
Dus de beste manier om de werkelijkheid zo goed mogelijk te modelleren, is door meer lagen toe te voegen om de granulariteit te vergroten. (Waarom zou u uw gegevens niet opdelen in dagen of zelfs uren? U had op één dag twee keer naar de dokter kunnen gaan!) Tot het uiterste genomen, betekent dit dat het beste neurale netwerk voor deze taak een oneindig aantal lagen zou hebben om oneindig kleine te modelleren stap-veranderingen. De vraag is of dit idee überhaupt praktisch is.
Als dit bekend begint te klinken, is dat omdat we zijn aangekomen bij precies het soort probleem waarvoor calculus is uitgevonden om op te lossen. Calculus geeft je al deze mooie vergelijkingen voor het berekenen van een reeks veranderingen in oneindig kleine stappen - met andere woorden, het bespaart je de nachtmerrie van het modelleren van continue verandering in discrete eenheden. Dit is de magie van het artikel van Duvenaud en zijn medewerkers: het vervangt de lagen door calculusvergelijkingen.
Het resultaat is eigenlijk niet eens meer een netwerk; er zijn geen knooppunten en verbindingen meer, slechts één ononderbroken rekenblok. Niettemin, vasthoudend aan conventie, noemden de onderzoekers dit ontwerp een ODE-net-ODE voor gewone differentiaalvergelijkingen. (Ze moeten nog aan hun branding werken.)
Als je hersenen pijn doen (geloof me, de mijne ook), hier is een mooie analogie die Duvenaud gebruikt om alles samen te brengen. Overweeg een doorlopend muziekinstrument zoals een viool, waar je je hand langs de snaar kunt schuiven om elke gewenste frequentie te spelen; overweeg nu een discrete zoals een piano, waar je een bepaald aantal toetsen hebt om een beperkt aantal frequenties te spelen. Een traditioneel neuraal netwerk is als een piano: wat je ook probeert, je zult geen slide kunnen spelen. U kunt de dia alleen benaderen door een schaal te spelen. Zelfs als je je piano opnieuw zou stemmen zodat de nootfrequenties heel dicht bij elkaar lagen, zou je de dia nog steeds benaderen met een schaal. Overschakelen naar een ODE-net is als het overschakelen van uw piano naar een viool. Het is niet altijd het juiste gereedschap, maar het is meer geschikt voor bepaalde taken.
Naast het kunnen modelleren van continue verandering, verandert een ODE-net ook bepaalde aspecten van opleiding. Bij een traditioneel neuraal net moet je aan het begin van de training aangeven hoeveel lagen je in je net wilt hebben, en dan wachten tot de training klaar is om erachter te komen hoe nauwkeurig het model is. Met de nieuwe methode kunt u eerst uw gewenste nauwkeurigheid specificeren, en het zal de meest efficiënte manier vinden om zichzelf binnen die foutenmarge te trainen. Aan de andere kant weet je vanaf het begin hoeveel tijd een traditioneel neuraal netwerk nodig heeft om te trainen. Niet zozeer bij gebruik van een ODE-net. Dat zijn de afwegingen die onderzoekers moeten maken, legt Duvenaud uit, als ze beslissen welke techniek ze in de toekomst gaan gebruiken.
Momenteel is de papier biedt een proof of concept voor het ontwerp, maar het is nog niet klaar voor prime time, zegt Duvenaud. Zoals elke eerste techniek die in het veld wordt voorgesteld, moet deze nog worden uitgewerkt, geëxperimenteerd en verbeterd voordat deze in productie kan worden genomen. Maar de methode heeft het potentieel om het veld op te schudden - op dezelfde manier als Ian Goodfellow deed toen hij zijn paper over GAN's publiceerde.
Veel van de belangrijkste ontwikkelingen op het gebied van machine learning hebben plaatsgevonden op het gebied van neurale netwerken, zegt Richard Zemel, de onderzoeksdirecteur van het Vector Institute, die niet betrokken was bij de paper. Het artikel zal waarschijnlijk aanleiding geven tot een hele reeks vervolgwerkzaamheden, met name in tijdreeksmodellen, die fundamenteel zijn in AI-toepassingen zoals gezondheidszorg.
Onthoud alleen dat wanneer ODE-netten ontploffen, u er hier eerst over leest.
Correcties: in een eerdere versie van het artikel werd de afbeelding bovenaan het artikel onjuist weergegeven als een gewone differentiaalvergelijking. Het toont de banen van neurale gewone differentiaalvergelijkingen. Het artikel is ook bijgewerkt om naar het nieuwe ontwerp te verwijzen als een 'ODE-net' in plaats van 'ODE-oplosser', om verwarring met bestaande ODE-oplossers uit andere velden te voorkomen.
__
Dit artikel verscheen oorspronkelijk in onze AI-nieuwsbrief The Algorithm. Schrijf je hier gratis in om het direct in je inbox te krijgen.