Een nieuwe manier om kleine neurale netwerken te bouwen, kan krachtige AI op je telefoon creëren

MEVR. TECH mevrouw Tech





Neurale netwerken zijn de kernsoftware van deep learning. Hoewel ze zo wijdverbreid zijn, worden ze echt slecht begrepen. Onderzoekers hebben hun opkomende eigenschappen waargenomen zonder het echt te begrijpen waarom ze werken zoals ze doen.

nu een nieuw papier van MIT heeft een belangrijke stap gezet in de richting van het beantwoorden van deze vraag. En in het proces hebben de onderzoekers een eenvoudige maar dramatische ontdekking gedaan: we hebben neurale netwerken gebruikt die veel groter zijn dan we eigenlijk nodig hebben. In sommige gevallen zijn ze 10 tot zelfs 100 keer groter, dus het trainen ervan kost ons orden van grootte meer tijd en rekenkracht dan nodig is.

Anders gezegd, binnen elk neuraal netwerk bestaat een veel kleiner netwerk dat kan worden getraind om dezelfde prestaties te bereiken als zijn extra grote ouder. Dit is niet alleen spannend nieuws voor AI-onderzoekers. De bevinding heeft het potentieel om nieuwe toepassingen te ontgrendelen - waarvan we sommige nog niet kunnen doorgronden - die ons dagelijks leven zouden kunnen verbeteren. Daarover later meer.



Maar laten we eerst eens kijken hoe neurale netwerken werken om te begrijpen waarom dit mogelijk is.

Een afbeelding van een neuraal netwerkontwerp.

Een diagram van een neuraal netwerk dat een leeuw leert herkennen. JEFF CLUNE/SCREENSHOT

Hoe neurale netwerken werken

Je hebt misschien neurale netwerken gezien die zijn afgebeeld in diagrammen zoals die hierboven: ze zijn samengesteld uit gestapelde lagen van eenvoudige rekenknooppunten die zijn verbonden om patronen in gegevens te berekenen.



De verbindingen zijn wat belangrijk is. Voordat een neuraal netwerk wordt getraind, krijgen deze verbindingen willekeurige waarden tussen 0 en 1 toegewezen die hun intensiteit vertegenwoordigen. (Dit wordt het initialisatieproces genoemd.) Terwijl het netwerk tijdens de training een reeks van, laten we zeggen, dierenfoto's krijgt, past het die intensiteiten aan en stemt het af - een beetje zoals de manier waarop je hersenen verschillende neuronverbindingen versterken of verzwakken terwijl je ervaring opdoet en kennis. Na de training worden de uiteindelijke verbindingsintensiteiten vervolgens voor altijd gebruikt om dieren op nieuwe foto's te herkennen.

Hoewel de mechanica van neurale netwerken goed wordt begrepen, is de reden waarom ze werken zoals ze werken een mysterie gebleven. Door veel experimenten hebben onderzoekers echter twee eigenschappen van neurale netwerken waargenomen die nuttig zijn gebleken.

Observatie #1. Wanneer een netwerk wordt geïnitialiseerd vóór het trainingsproces, is er altijd een kans dat de willekeurig toegewezen verbindingssterkten in een niet-trainbare configuratie terechtkomen. Met andere woorden, het maakt niet uit hoeveel dierenfoto's je het neurale netwerk voedt, het zal geen behoorlijke prestaties leveren en je moet het gewoon opnieuw initialiseren naar een nieuwe configuratie. Hoe groter het netwerk (hoe meer lagen en knooppunten het heeft), hoe minder waarschijnlijk dat is. Terwijl een klein neuraal netwerk slechts in één op de vijf initialisaties kan worden getraind, kan een groter netwerk in vier van de vijf worden getraind. Nog een keer, waarom dit gebeurt was een mysterie, maar daarom gebruiken onderzoekers doorgaans zeer grote netwerken voor hun diepgaande leertaken. Ze willen hun kansen op het realiseren van een succesvol model vergroten.



Observatie #2. Het gevolg is dat een neuraal netwerk meestal groter begint dan nodig is. Als het eenmaal klaar is met trainen, blijft meestal slechts een fractie van zijn verbindingen sterk, terwijl de anderen behoorlijk zwak worden - zo zwak dat je ze daadwerkelijk kunt verwijderen of snoeien zonder de prestaties van het netwerk te beïnvloeden.

Al vele jaren maken onderzoekers gebruik van deze tweede observatie om hun netwerken te verkleinen na training om de tijd en de rekenkosten voor het uitvoeren ervan te verlagen. Maar niemand dacht dat het mogelijk was om hun netwerken te verkleinen voordat opleiding. Er werd vanuit gegaan dat je moest beginnen met een oversized netwerk en dat het opleidingsproces zijn beloop moest hebben om de relevante connecties te scheiden van de irrelevante.

Jonathan Frankle, de MIT-promovendus die co-auteur was van het artikel, trok die veronderstelling in twijfel. Als je veel minder verbindingen nodig hebt dan waarmee je begon, zegt hij, waarom kunnen we dan niet gewoon het kleinere netwerk trainen zonder de extra verbindingen? Het blijkt dat je het kunt.



Michael Carbin en Jonathan Frankle, de auteurs van het artikel, poseren op een trap.

Michael Carbin (links) en Jonathan Frankle (rechts), de auteurs van het artikel. Jason Dorfman, MIT CSAIL

De loterijkaarthypothese

De ontdekking hangt af van de realiteit dat de willekeurige verbindingssterktes die tijdens de initialisatie worden toegewezen, in feite niet willekeurig zijn in hun gevolgen: ze maken verschillende delen van het netwerk vatbaar om te falen of te slagen voordat de training zelfs maar plaatsvindt. Anders gezegd, de initiële configuratie is van invloed op de uiteindelijke configuratie van het netwerk.

Door zich op dit idee te concentreren, ontdekten de onderzoekers dat als je een te groot netwerk na de training snoeit, je het resulterende kleinere netwerk daadwerkelijk kunt hergebruiken om te trainen op nieuwe gegevens en hoge prestaties te behouden - zolang je elke verbinding binnen dit verkleinde netwerk terugzet naar zijn aanvankelijke kracht.

Op basis van deze bevinding stellen Frankle en zijn co-auteur Michael Carbin, een assistent-professor aan het MIT, voor wat zij de loterijkaarthypothese noemen. Wanneer u willekeurig de verbindingssterkten van een neuraal netwerk initialiseert, is het bijna alsof u een zak loten koopt. In je tas, hoop je, zit een winnend ticket, d.w.z. een initiële configuratie die gemakkelijk te trainen is en resulteert in een succesvol model.

Dit verklaart ook waarom observatie #1 waar is. Beginnen met een groter netwerk is als het kopen van meer loten. Je verhoogt niet de hoeveelheid kracht die je naar je diepgaande leerprobleem gooit; je vergroot gewoon de kans dat je een winnende configuratie hebt. Zodra je de winnende configuratie hebt gevonden, zou je deze keer op keer moeten kunnen hergebruiken, in plaats van door te gaan met het opnieuw spelen van de loterij.

Volgende stappen

Dit roept veel vragen op. Ten eerste, hoe vind je het winnende lot? In hun paper namen Frankle en Carbin een brute-force benadering van training en snoeien van een groot netwerk met één dataset om het winnende ticket voor een andere dataset te extraheren. In theorie zouden er veel efficiëntere manieren moeten zijn om vanaf het begin een winnende configuratie te vinden of zelfs te ontwerpen.

Ten tweede, wat zijn de trainingslimieten van een winnende configuratie? Vermoedelijk zouden verschillende soorten gegevens en verschillende diepgaande leertaken verschillende configuraties vereisen.

Ten derde, wat is het kleinst mogelijke neurale netwerk waarmee u weg kunt komen terwijl u toch hoge prestaties levert? Frankle ontdekte dat hij door een iteratief training- en snoeiproces het startnetwerk consequent kon verkleinen tot tussen de 10% en 20% van de oorspronkelijke grootte. Maar hij denkt dat de kans nog kleiner is.

Veel onderzoeksteams binnen de AI-gemeenschap zijn al begonnen met het uitvoeren van vervolgwerkzaamheden. Een onderzoeker bij Princeton onlangs plaagde de resultaten van een binnenkort te verschijnen document waarin de tweede vraag wordt behandeld. Een team van Uber publiceerde ook een nieuw papier op verschillende experimenten die de aard van de metaforische loten onderzoeken. Het meest verrassende was dat ze ontdekten dat zodra een winnende configuratie is gevonden, deze al aanzienlijk betere prestaties behaalt dan het oorspronkelijke ongetrainde oversized netwerk voordat welke opleiding dan ook. Met andere woorden, het snoeien van een netwerk om een ​​winnende configuratie te extraheren, is zelf een belangrijke trainingsmethode.

Neurale netwerk nirvana

Frankle stelt zich een toekomst voor waarin de onderzoeksgemeenschap een open-sourcedatabase zal hebben van alle verschillende configuraties die ze hebben gevonden, met beschrijvingen voor welke taken ze goed zijn. Hij noemt dit neurale netwerk gekscherend nirvana. Hij gelooft dat het AI-onderzoek drastisch zou versnellen en democratiseren door de kosten en snelheid van training te verlagen en door mensen zonder gigantische dataservers dit werk rechtstreeks op kleine laptops of zelfs mobiele telefoons te laten doen.

Het kan ook de aard van AI-toepassingen veranderen. Als je een neuraal netwerk lokaal op een apparaat kunt trainen in plaats van in de cloud, kun je de snelheid van het trainingsproces en de beveiliging van de gegevens verbeteren. Stel je bijvoorbeeld een op machine learning gebaseerd medisch apparaat voor dat zichzelf zou kunnen verbeteren door gebruik te maken zonder dat patiëntgegevens naar de servers van Google of Amazon hoeven te worden gestuurd.

We lopen constant tegen de rand aan van wat we kunnen trainen, zegt Jason Yosinski, een van de oprichters van Uber AI Labs die co-auteur was van de vervolgpaper van Uber, wat betekent dat de grootste netwerken die je op een GPU kunt passen of de langste die we kunnen tolereren wachten voordat we een resultaat terug krijgen. Als onderzoekers er vanaf het begin achter zouden kunnen komen hoe ze winnende configuraties kunnen identificeren, zou dat de omvang van neurale netwerken met een factor 10, zelfs 100 verminderen. Het plafond van de mogelijkheden zou dramatisch toenemen, wat een nieuwe wereld van potentiële toepassingen opent.

zich verstoppen