VergrotenMiguel Navarro / Getty Images

Terwijl de grote bedrijven van de wereld op zoek zijn naar autonome auto’s, geven ze in wezen miljarden dollars uit om machines te laten doen wat je gemiddelde tweejarige kan doen zonder na te denken – identificeer wat ze zien. Natuurlijk hebben peuters in sommige opzichten nog steeds het voordeel. Vorig jaar berucht stierf een bestuurder in een Tesla-sedan – hij lette niet op toen de camera van het voertuig een nabijgelegen vrachtwagen voor de lucht aanzag.

De mate waarin deze bedrijven tot nu toe succes hebben gehad, is te danken aan een lang sluimerende vorm van berekening die bepaalde aspecten van de hersenen modelleert. Deze vorm van berekeningen stelt de huidige hardware echter tot het uiterste, aangezien moderne computers heel anders werken dan de grijze materie in ons hoofd. Dus terwijl programmeurs ‘neurale netwerk’-software maken om op gewone computerchips te draaien, ontwerpen ingenieurs ook ‘neuromorfe’ hardware die de hersenen efficiënter kan imiteren. Helaas heeft een type neuraal net dat de standaard is geworden in beeldherkenning en andere taken, iets dat een convolutioneel neuraal net of CNN wordt genoemd, weerstand geboden aan replicatie in neuromorfe hardware.

Dat wil zeggen, tot voor kort.

IBM-wetenschappers meldden in de Proceedings van de National Academy of Sciences dat ze CNN’s hebben aangepast om op hun TrueNorth-chip te draaien. Andere onderzoeksgroepen hebben ook vooruitgang geboekt met de oplossing. Het TrueNorth-systeem komt overeen met de nauwkeurigheid van de beste huidige systemen op het gebied van beeld- en spraakherkenning, maar het gebruikt een kleine fractie van de energie en werkt met vele malen hogere snelheid. Ten slotte zou het combineren van convolutionele netten met neuromorfe chips meer kunnen opleveren dan alleen een mondvol jargon; het zou kunnen leiden tot slimmere auto’s en tot mobiele telefoons die onze verbale commando’s efficiënt begrijpen, zelfs als we onze mond vol hebben.

Traditioneel vereist het programmeren van een computer het schrijven van stapsgewijze instructies. Om de computer te leren een hond te herkennen, kan het bijvoorbeeld nodig zijn om een ​​reeks regels op te sommen om zijn oordeel te sturen. Controleer of het een dier is. Controleer of het vier poten heeft. Controleer of het groter is dan een kat en kleiner dan een paard. Controleer of het blaft. Enz. Maar gezond verstand vereist flexibiliteit. Wat als een computer een kleine hond tegenkomt die blaft en maar drie poten heeft? Misschien heb je dan meer regels nodig, maar het is inefficiënt en onpraktisch om eindeloze regels op te sommen en het proces te herhalen voor elk type beslissing dat een computer moet nemen.

Mensen leren anders. Een kind kan honden en katten van elkaar onderscheiden, rechtop lopen en vloeiend spreken zonder een enkele regel over deze taken te horen – we leren uit ervaring. Als zodanig hebben computerwetenschappers er traditioneel naar gestreefd een deel van die magie vast te leggen door software op de hersenen te modelleren.

De hersenen bevatten ongeveer 86 miljard neuronen, cellen die via uitgebreide vertakkingen verbinding kunnen maken met duizenden andere neuronen. Een neuron ontvangt signalen van veel andere neuronen, en wanneer de stimulatie een bepaalde drempel bereikt, “vuurt” het zijn eigen signaal naar de omliggende neuronen. Een brein leert, gedeeltelijk, door de sterke punten van de verbindingen tussen neuronen, synapsen genaamd, aan te passen. Wanneer een activiteitspatroon wordt herhaald, bijvoorbeeld door oefening, worden de bijdragende verbindingen sterker en wordt de les of vaardigheid ingeschreven in het netwerk.

In de jaren veertig begonnen wetenschappers neuronen wiskundig te modelleren en in de jaren vijftig begonnen ze netwerken ervan te modelleren met computers. Kunstmatige neuronen en synapsen zijn veel eenvoudiger dan die in de hersenen, maar ze werken volgens dezelfde principes. Veel eenvoudige eenheden (渘eurons”) verbinden met vele andere (via “synapsen”), waarbij hun numerieke waarden afhankelijk zijn van de waarden van de eenheden die hen signaleren, gewogen door de numerieke sterkte van de verbindingen.

Kunstmatige neurale netwerken (soms gewoon neurale netwerken genoemd) bestaan ​​meestal uit lagen. Visueel weergegeven, gaat informatie of activering van de ene kolom met cirkels naar de volgende via lijnen ertussen. De werking van netwerken met veel van dergelijke lagen wordt deep learning genoemd – zowel omdat ze dieper kunnen leren als omdat het eigenlijke netwerk dieper is. Neurale netten zijn een vorm van machine learning, het proces waarbij computers hun gedrag aanpassen op basis van ervaring. Tegenwoordig kunnen netten auto’s besturen, gezichten herkennen en talen vertalen. Dergelijke vorderingen danken hun succes aan verbeteringen in computersnelheid, aan de enorme hoeveelheid trainingsgegevens die nu online beschikbaar zijn, en aan tweaks in de basale neurale netalgoritmen.

Natuurlijk heeft Wikimedia een CNN-diagram met een schattige robot...

Vergroten / Natuurlijk heeft Wikimedia een CNN-diagram met een schattige robot… Wikimedia

Convolutionele neurale netwerken zijn een bepaald type netwerk dat de afgelopen jaren aan bekendheid heeft gewonnen. CNN’s halen belangrijke kenmerken uit stimuli, meestal afbeeldingen. Een input kan een foto van een hond zijn. Dit zou kunnen worden weergegeven als een bladachtige laag van neuronen, waarbij de activering van elk neuron een pixel in het beeld vertegenwoordigt. In de volgende laag zal elk neuron input krijgen van een patch van de eerste laag en actief worden als het een bepaald patroon in die patch detecteert, als een soort filter. In opeenvolgende lagen zoeken neuronen naar patronen in de patronen, enzovoort. Langs de hiërarchie kunnen de filters gevoelig zijn voor zaken als randen van vormen, en dan bepaalde vormen, dan poten, dan honden, totdat het je vertelt of het een hond of een broodrooster ziet.

In een convolutioneel neuraal netwerk, zoals in de visuele cortex, zijn er neuronen die gevoelig zijn voor bepaalde kenmerken (bijvoorbeeld: neuzen) verspreid over het gezichtsveld. De uitgangen van deze neuronen worden vervolgens op zo’n manier met elkaar verbonden dat het effect wordt nagebootst van het nemen van een enkel neuron dat gevoelig is voor neuzen en het over het hele gezichtsveld schuiven (convolutie!). Dit produceert een uitvoer die de volgende lagen vertelt waar de neuzen zich in de afbeelding bevinden. Dit beperkt zich natuurlijk niet alleen tot neuzen; het convolutie-effect wordt in wezen gebruikt om ruimtelijke afbeeldingen te maken van *waar* objecten zich in de afbeelding bevinden. Deze ruimtelijke relaties voeden zich vervolgens met hogere niveaus van het netwerk en combineren ze om patronen en objecten te herkennen.”

Het is van cruciaal belang dat de interne filters niet met de hand worden geprogrammeerd om naar vormen of poten te zoeken. U hoeft alleen de netwerkingangen (afbeeldingen) en correcte uitgangen (afbeeldingslabels) te presenteren. Als het fout gaat, past het zijn verbindingen iets aan totdat, na vele, vele foto’s, de verbindingen automatisch gevoelig worden voor handige functies. Dit proces lijkt op hoe de hersenen visie verwerken, van details op laag niveau tot objectherkenning. Alle informatie die ruimtelijk kan worden weergegeven – twee dimensies voor foto’s, drie voor video, één voor reeksen woorden in een zin, twee voor audio (tijd en frequentie) – kan worden geanalyseerd en begrepen door CNN’s, waardoor ze op grote schaal bruikbaar zijn.

Hoewel Yann LeCun – nu Facebook-directeur van AI-onderzoek – voor het eerst CNN’s voorstelde in 1986, onthulden ze hun sterke potentieel totdat er een paar aanpassingen werden gedaan in de manier waarop ze werkten. In 2012 gebruikten Geoffrey Hinton – nu een top AI-expert bij Google – en twee van zijn afgestudeerde studenten een CNN om iets te winnen dat de ImageNet Challenge wordt genoemd, een wedstrijd waarbij computers scènes en objecten moeten herkennen. Ze wonnen zelfs met zo’n grote marge dat CNN’s het overnamen, en sindsdien is elke winnaar een CNN.

Nu is het nabootsen van de hersenen rekenkundig duur. Aangezien het menselijk brein miljarden neuronen en biljoenen synapsen heeft, is het momenteel onmogelijk om elk neuron en elke synaps te simuleren. Zelfs het simuleren van een klein stukje brein kan miljoenen berekeningen vergen voor elk stukje invoer.

Dus helaas, zoals hierboven vermeld, vereisen convolutionele neurale netwerken enorme rekenkracht. Met veel lagen en elke laag die herhaaldelijk dezelfde functiefilter toepast op veel patches van de vorige laag, kunnen de grootste CNN’s van vandaag miljoenen neuronen en miljarden synapsen hebben. Het uitvoeren van al deze kleine berekeningen past niet bij de klassieke computerarchitectuur, die één instructie tegelijk moet verwerken. In plaats daarvan zijn wetenschappers overgestapt op parallel computing, dat veel instructies tegelijkertijd kan verwerken.

Tegenwoordig gebruiken geavanceerde neurale netwerken grafische verwerkingseenheden (GPU’s) – het soort dat wordt gebruikt in videogameconsoles – omdat ze gespecialiseerd zijn in de soorten wiskundige bewerkingen die nuttig zijn voor diepgaand leren. (Het in één keer bijwerken van alle geometrische facetten van een bewegend object is een probleem dat vergelijkbaar is met het in één keer berekenen van alle uitvoer van een bepaalde neurale netwerklaag.) Maar toch, de hardware is niet ontworpen om diep leren zo efficiënt uit te voeren als een brein, dat kan rijden een auto en voer tegelijkertijd een gesprek over de toekomst van autonome voertuigen, en dat alles met minder watt dan een gloeilamp.

By Admin

Leave a Reply

Your email address will not be published. Required fields are marked *