science >> Wetenschap >  >> Elektronica

DeepMind-onderzoekers ontwikkelen neurale rekenkundige logische eenheden (NALU)

MLP's leren de identiteitsfunctie alleen voor de bereikwaarden waarop ze zijn getraind. De gemiddelde fout loopt sterk op, zowel onder als boven het bereik van getallen die tijdens de training worden gezien. Krediet:Trask et al.

Het vermogen om numerieke grootheden weer te geven en te manipuleren kan bij veel soorten worden waargenomen, inclusief insecten, zoogdieren en mensen. Dit suggereert dat fundamenteel kwantitatief redeneren een belangrijk onderdeel is van intelligentie, wat verschillende evolutionaire voordelen heeft.

Deze mogelijkheid kan heel waardevol zijn in machines, waardoor snellere en efficiëntere voltooiing van taken waarbij nummermanipulatie betrokken is. Nog, tot dusver, neurale netwerken die zijn getraind om numerieke informatie weer te geven en te manipuleren, zijn zelden in staat geweest om ver buiten het bereik van waarden die tijdens het trainingsproces worden aangetroffen, te generaliseren.

Een team van onderzoekers van Google DeepMind heeft onlangs een nieuwe architectuur ontwikkeld die deze beperking aanpakt, het bereiken van een betere generalisatie zowel binnen als buiten het bereik van numerieke waarden waarop het neurale netwerk is getraind. hun studie, die voorgepubliceerd was op arXiv, zou de ontwikkeling van meer geavanceerde machine learning-tools kunnen helpen om kwantitatieve redeneertaken te voltooien.

"Als standaard neurale architecturen worden getraind om tot een getal te tellen, ze hebben vaak moeite om tot een hogere te tellen, "Andrew Trask, hoofdonderzoeker van het project, vertelde TechXplore. "We hebben deze beperking onderzocht en ontdekt dat deze zich ook uitstrekt tot andere rekenkundige functies, wat leidt tot onze hypothese dat neurale netwerken getallen leren die vergelijkbaar zijn met hoe ze woorden leren, als een eindige woordenschat. Dit voorkomt dat ze functies die voorheen ongeziene (hogere) getallen vereisen, goed kunnen extrapoleren. Ons doel was om een ​​nieuwe architectuur voor te stellen die beter zou kunnen extrapoleren."

De neurale accumulator (NAC) is een lineaire transformatie van zijn inputs. De transformatiematrix is ​​het elementgewijze product van tanh (Wˆ ) en σ (Mˆ ). De Neural Arithmetic Logic Unit (NALU) gebruikt twee NAC's met gekoppelde gewichten om optellen/aftrekken (kleinere paarse cel) en vermenigvuldigen/delen (grotere paarse cel) mogelijk te maken. bestuurd door een poort (oranje cel). Krediet:Trask et al.

De onderzoekers bedachten een architectuur die een meer systematische extrapolatie van getallen aanmoedigt door numerieke grootheden weer te geven als lineaire activeringen die worden gemanipuleerd met behulp van primitieve rekenkundige operatoren, die worden bestuurd door aangeleerde poorten. Ze noemden deze nieuwe module de neurale rekenkundige logische eenheid (NALU), geïnspireerd door de rekenkundige logische eenheid in traditionele processors.

"Getallen worden meestal gecodeerd in neurale netwerken met behulp van one-hot of gedistribueerde representaties, en functies over getallen worden geleerd binnen een reeks lagen met niet-lineaire activeringen, Trask legde uit. "We stellen voor dat getallen in plaats daarvan worden opgeslagen als scalairen, het opslaan van een enkel nummer in elk neuron. Bijvoorbeeld, als u het nummer 42 wilt opslaan, je zou gewoon een neuron moeten hebben met een activatie van precies '42, ' in plaats van een reeks 0-1 neuronen die het coderen."

De onderzoekers hebben ook de manier veranderd waarop het neurale netwerk functies leert over deze getallen. In plaats van standaardarchitecturen te gebruiken, die elke functie kan leren, ze bedachten een architectuur die voorwaarts een vooraf gedefinieerde set functies verspreidt die als potentieel nuttig worden beschouwd (bijv. vermenigvuldigen of delen), met behulp van neurale architecturen die aandachtsmechanismen leren over deze functies.

"Deze aandachtsmechanismen beslissen dan wanneer en waar elke potentieel nuttige functie kan worden toegepast in plaats van die functie zelf te leren, "Zei Trask. "Dit is een algemeen principe voor het creëren van diepe neurale netwerken met een wenselijke leervooroordeel over numerieke functies."

(hierboven) Frames van de gridworld-tijdregistratietaak. De agent (grijs) moet op een bepaald tijdstip naar de bestemming (rood) gaan. (hieronder) NAC verbetert het extrapolatievermogen dat door A3C-agenten is geleerd voor de dateringstaak. Krediet:Trask et al.

Hun test onthulde dat NALU-verbeterde neurale netwerken konden leren om verschillende taken uit te voeren, zoals tijdregistratie, het uitvoeren van rekenkundige functies over afbeeldingen van getallen, het vertalen van numerieke taal in reële waarde scalaires, computercode uitvoeren en objecten in afbeeldingen tellen.

In vergelijking met conventionele architecturen, hun module bereikte een significant betere generalisatie, zowel binnen als buiten het bereik van numerieke waarden die het tijdens de training kreeg aangeboden. Hoewel NALU misschien niet de ideale oplossing is voor elke taak, hun studie biedt een algemene ontwerpstrategie voor het maken van modellen die goed presteren op een bepaalde klasse van functies.

"Het idee dat een diep neuraal netwerk moet kiezen uit een vooraf gedefinieerde reeks functies en aandachtsmechanismen moet leren die bepalen waar ze worden gebruikt, is een zeer uitbreidbaar idee, Trask legde uit. "In dit werk, we verkenden eenvoudige rekenkundige functies (optellen, aftrekken, vermenigvuldiging en deling), maar we zijn enthousiast over het potentieel om in de toekomst aandachtsmechanismen te leren over veel krachtigere functies, misschien dezelfde extrapolatieresultaten die we hebben waargenomen voor een breed scala aan velden."

© 2018 Tech Xplore