Combineren van machine learning en klassieke algoritmen door middel van neurale augmentatie voor combinatorische optimalisatie

Machine learning (ML) transformeert industrieën, verbetert producten en verbetert het dagelijks leven van de consument. Je moet ML zien als een horizontale technologie die vrijwel alles zal beïnvloeden, zoals elektriciteit of internet.

Als we over ML horen, horen we vaak over data. Veel mensen denken dat het alleen zinvol is om op ML te focussen als er enorme hoeveelheden data beschikbaar zijn. Het is waar dat als er veel gegevens zijn, ML-technologie zal helpen nieuwe inzichten te verkrijgen, processen te automatiseren en dynamisch te reageren op veranderingen. Een nieuwe reeks technieken, bekend als 'deep learning', is het volgende niveau geworden van wat veel mensen kennen als 'signaalverwerking'. Veel succesvolle bedrijven hebben er tegenwoordig hun bedrijfsmodel van gemaakt om gegevens op een ongekende schaal te verzamelen en op basis daarvan modellen te trainen met tot wel 175 miljard parameters. Het trainen van deze modellen is vrij duur, omdat het moet worden gedaan met duizenden GPU's, die aanzienlijke hoeveelheden stroom verbruiken.

Waar ik het in deze blogpost over wil hebben, is het feit dat ML zelfs zonder data nuttig kan zijn. Toen DeepMind's AlphaGo de Go-wereldkampioen, Lee Sedol, versloeg, was het getraind in duizenden games die werden gespeeld door Go-grootmeesters. De volgende versies van dit stukje technologie, met name AlphaZero, gebruikten echter nul gegevens om te worden getraind. Het kende eigenlijk de regels van het spel en speelde vervolgens miljoenen spellen tegen zichzelf. Je zet je computer 's avonds aan voordat je gaat slapen met het verzoek om een ​​model te trainen in je favoriete spel, en de volgende ochtend verslaat het niet alleen jou, maar ieder mens op aarde. Geen gegevens nodig.

Hoe kan deze technologie nuttig zijn? Veel problemen die moeten worden opgelost, zijn van het soort waarbij je een doel wilt optimaliseren over een zeer groot (en ik bedoel groter dan het aantal atomen in het universum) aantal mogelijkheden. Neem bijvoorbeeld het 'voertuigrouteringsprobleem' waarbij u een strategie wilt om uw vrachtwagens in magazijnen te vullen met goederen die aan klanten moeten worden afgeleverd. Welke vrachtwagen moet welke goederen uit welke magazijnen halen, welke route nemen en bij welke klanten afleveren? Er is duidelijk een enorm aantal mogelijkheden, veel meer dan je in je leven kunt testen, zelfs op een supercomputer.

Voertuigrouteringsprobleem heeft een enorm aantal mogelijkheden om uitputtend te evalueren.

Als ander voorbeeld: hoe plaats je miljarden transistors op een chip zodat ze voldoen aan prestatiecriteria terwijl het totale gebied wordt geminimaliseerd? Misschien kun je voor beide problemen begrijpen dat er een analogie is met het spelen van het spel Go, waar het aantal mogelijke spellen ook onvoorstelbaar groot is.

Om het nog erger te maken, stel je voor dat we misschien een strategie nodig hebben die onzekerheid aankan: zal de weg verstopt raken, zullen sommige vrachtwagenchauffeurs zich ziek melden, enzovoort? En daar komt nog bij dat we onze strategie wellicht on-the-fly moeten aanpassen: onze huidige strategie kan ineens mislukken omdat sommige wegen geblokkeerd zijn. Het is voor dit soort zeer moeilijke combinatorische optimalisatieproblemen dat er een nieuwe technologie begint te ontstaan. De algemene klasse van methoden staat bekend als wapeningsleren (RL). AlphaGo is daar een bijzonder voorbeeld van. En zoals ik betoogde, voor sommige problemen waarbij je de wereld kunt simuleren (zoals het spel van Go), heb je geen echte gegevens nodig om het te trainen.

Reinforcement learning is een ML-methode waarmee je een model kunt trainen zonder echte gegevens.

Maar moeten we tientallen jaren van onderzoek naar klassieke algoritmen voor combinatorische optimalisatie uit het raam gooien? Ik denk het niet. Het idee is om je favoriete klassieke oplosser te nemen en deze in te bedden in een neurale netwerkarchitectuur. Je kunt elke iteratie van de klassieke solver zien als een laag in een (terugkerend) neuraal net (RNN), waarbij de operatie vast en niet flexibel is. Het is in de loop van tientallen jaren met de hand ontworpen door ingenieurs door middel van theorie, vallen en opstaan. Maar laten we nu flexibele neurale netwerkbewerkingen toevoegen aan elke laag (of iteratie) met leerbare parameters. Het neurale netwerk kan de klassieke oplosser corrigeren, afhankelijk van de specifieke context waarin het opereert. Ik noem dit 'neurale augmentatie'.’

Illustratie van neurale augmentatie waarbij een klassieke iteratieve optimalisatie wordt gecorrigeerd door een neuraal netwerk.

Dit hybride systeem heeft veel minder parameters nodig dan een “ongestructureerde” neurale architectuur, omdat het gebruik maakt van slimme technische oplossingen. We leren de parameters ervan door middel van versterkend leren als volgt: simuleer een probleem, pas uw neurale augmented solver toe (ook wel beleid genoemd), bereken vervolgens de goedheid van uw oplossing (uw beloning), en als de oplossing goed was, versterk dan de stappen die ertoe hebben geleid (en bestraf de slechte zetten). Afspoelen en herhalen. Het resultaat hiervan is niet noodzakelijkerwijs een beleid dat altijd beter is dan de toegewijde klassieke oplossers voor een bepaald probleem. Het geleerde beleid kan echter snel worden uitgevoerd, is robuust voor een veranderende omgeving en kan natuurlijk omgaan met onzekerheid.

Kortom, combinatorische optimalisatieproblemen zijn alomtegenwoordig. Door voort te bouwen op decennia van engineering en gebruik te maken van recente vooruitgang op het gebied van machine learning, kunnen we hybride systemen bouwen die het beste van twee werelden combineren: zeer nauwkeurige, adaptieve en robuuste systemen die leren plannen zoals geen mens dat kan.

Dr. Max Welling
Vice-president, Technologie, Qualcomm

0

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *