Is diep leren alleen neurale netwerken op steroïden?

Schrijver: Laura McKinney
Datum Van Creatie: 4 April 2021
Updatedatum: 24 Juni- 2024
Anonim
Is diep leren alleen neurale netwerken op steroïden? - Technologie
Is diep leren alleen neurale netwerken op steroïden? - Technologie

Inhoud


Bron: Vs1489 / Dreamstime.com

Afhaal:

Is "deep learning" gewoon een andere naam voor geavanceerde neurale netwerken, of is er meer aan de hand? We kijken naar recente ontwikkelingen in deep learning en neurale netwerken.

The Skeptics Club

Als jij, net als ik, tot de sceptici-club behoort, heb je je misschien ook afgevraagd wat al die ophef over diep leren is. Neurale netwerken (NN's) zijn geen nieuw concept. De meerlagige perceptron werd geïntroduceerd in 1961, wat niet precies gisteren is.

Maar huidige neurale netwerken zijn complexer dan alleen een meerlagige perceptron; ze kunnen veel meer verborgen lagen en zelfs terugkerende verbindingen hebben. Maar wacht even, gebruiken ze het backpropagatie-algoritme nog niet voor training?

Ja! Nu is het rekenvermogen van de machine niet te vergelijken met wat er in de jaren 60 of zelfs in de jaren 80 beschikbaar was. Dit betekent dat veel complexere neurale architecturen binnen een redelijke tijd kunnen worden getraind.


Dus, als het concept niet nieuw is, kan dit dan betekenen dat diep leren slechts een stel neurale netwerken op steroïden is? Is alle ophef gewoon te wijten aan parallelle berekeningen en krachtigere machines? Wanneer ik zogenaamde deep learning-oplossingen onderzoek, is dit vaak hoe het eruit ziet. (Wat zijn enkele praktische, real-world toepassingen voor neurale netwerken? Ontdek het in 5 gevallen van neuraal netwerkgebruik die u zullen helpen de technologie beter te begrijpen.)

Zoals ik al zei, ik behoor echter tot de sceptici-club en ben meestal op mijn hoede voor nog niet ondersteund bewijs. Laten we voor één keer het vooroordeel opzij zetten en een grondig onderzoek doen naar de nieuwe technieken in diep leren met betrekking tot neurale netwerken, indien aanwezig.

Wanneer we wat dieper graven, vinden we een paar nieuwe eenheden, architecturen en technieken op het gebied van diep leren. Sommige van deze innovaties wegen minder, zoals de randomisatie die wordt geïntroduceerd door een dropout-laag. Sommige anderen zijn echter verantwoordelijk voor belangrijkere wijzigingen. En zeker, de meeste van hen vertrouwen op de grotere beschikbaarheid van rekenbronnen, omdat ze behoorlijk rekenkundig duur zijn.


Naar mijn mening zijn er drie belangrijke innovaties op het gebied van neurale netwerken die sterk hebben bijgedragen aan diep leren dat zijn huidige populariteit wint: convolutionele neurale netwerken (CNN's), eenheden voor langetermijngeheugen (LSTM) en generatieve tegenstandersnetwerken (GAN's) ).

Convolutionele neurale netwerken (CNN's)

De oerknal van diep leren - of in ieder geval toen ik voor het eerst de boom hoorde - vond plaats in een beeldherkenningsproject, de ImageNet Large Scale Visual Recognition Challenge, in 2012. Om beelden automatisch te herkennen, een convolutioneel neuraal netwerk met acht lagen - AlexNet - werden gebruikt. De eerste vijf lagen waren convolutionele lagen, sommige gevolgd door max-pooling lagen, en de laatste drie lagen waren volledig verbonden lagen, allemaal met een niet-verzadigende ReLU-activeringsfunctie. Het AlexNet-netwerk behaalde een top-vijffout van 15,3%, meer dan 10,8 procentpunten lager dan die van de nummer twee. Het was een geweldige prestatie!

Geen bugs, geen stress - Uw stapsgewijze handleiding voor het creëren van levensveranderende software zonder uw leven te vernietigen

U kunt uw programmeervaardigheden niet verbeteren als niemand om softwarekwaliteit geeft.

Naast de meerlagige architectuur was de grootste innovatie van AlexNet de convolutionele laag.

De eerste laag in een convolutioneel netwerk is altijd een convolutionele laag. Elk neuron in een convolutionele laag focust op een specifiek gebied (ontvangend veld) van het invoerbeeld en fungeert door zijn gewogen verbindingen als een filter voor het ontvangende veld. Na het filter, neuron na neuron, over alle beeldontvankelijke velden te schuiven, produceert de uitvoer van de convolutionele laag een activeringskaart of functiekaart, die kan worden gebruikt als een kenmerkidentificatie.

Figuur 1. Neuron in een convolutionele laag die werkt als een filter op een 5x5 receptief veld van het invoerbeeld (gereproduceerd uit Adit Deshpande's "A Beginners Guide to Convolutional Neural Networks").

Door meer convolutionele lagen op elkaar toe te voegen, kan de activeringskaart steeds complexere kenmerken van de invoerafbeelding weergeven. Bovendien worden, vaak in een convolutionele neurale netwerkarchitectuur, nog een paar lagen afgewisseld tussen al deze convolutionele lagen om de niet-lineariteit van de mappingfunctie te vergroten, de robuustheid van het netwerk te verbeteren en overfitting te regelen.

Nu we functies op hoog niveau van het invoerbeeld kunnen detecteren, kunnen we een of meer volledig verbonden lagen toevoegen aan het einde van het netwerk voor traditionele classificatie. Dit laatste deel van het netwerk neemt de uitvoer van de convolutionele lagen als invoer en voert een N-dimensionale vector uit, waarbij N het aantal klassen is. Elk getal in deze N-dimensionale vector vertegenwoordigt de waarschijnlijkheid van een klasse.

Vroeger hoorde ik vaak het bezwaar tegen neurale netwerken over het gebrek aan transparantie van hun architectuur en de onmogelijkheid om de resultaten te interpreteren en uit te leggen. Dit bezwaar komt tegenwoordig steeds minder vaak naar voren in verband met deep learning-netwerken. Het lijkt erop dat het nu acceptabel is om het black-box-effect in te ruilen voor een hogere nauwkeurigheid bij de classificatie.

Long Short-Term Memory (LSTM) eenheden

Een andere grote verbetering die werd gerealiseerd door diepgaande neurale netwerken is waargenomen in tijdreeksanalyse via terugkerende neurale netwerken (RNN's).

Terugkerende neurale netwerken zijn geen nieuw concept. Ze werden al in de jaren 90 gebruikt en getraind met het BTPT-algoritme (backpropagation through time). In de jaren 90 was het echter vaak onmogelijk om ze te trainen, gezien de hoeveelheid benodigde rekenkracht. Tegenwoordig is het door de toename van het beschikbare rekenvermogen echter niet alleen mogelijk geworden om RNN's te trainen, maar ook om de complexiteit van hun architectuur te vergroten. Is dat alles? Nou ja, natuurlijk niet.

In 1997 werd een speciale neurale eenheid geïntroduceerd om beter om te gaan met het memoriseren van het relevante verleden in een tijdreeks: de LSTM-eenheid. Door een combinatie van interne poorten kan een LSTM-eenheid de relevante informatie uit het verleden onthouden of de irrelevante inhoud uit het verleden in een tijdreeks vergeten. Een LSTM-netwerk is een speciaal type terugkerend neuraal netwerk, inclusief LSTM-eenheden. De uitgevouwen versie van een op LSTM gebaseerde RNN wordt weergegeven in figuur 2.

Om het probleem van beperkte mogelijkheden voor lang geheugen op te lossen, gebruiken LSTM-eenheden een extra verborgen status - de celstatus C (t) - afgeleid van de oorspronkelijke verborgen status h (t). C (t) vertegenwoordigt het netwerkgeheugen. Met een bepaalde structuur, poorten genoemd, kunt u informatie verwijderen (vergeten) of toevoegen (onthouden) aan de celstatus C (t) bij elke stap op basis van de invoerwaarden x (t) en de vorige verborgen status h (t-1). Elke poort beslist welke informatie moet worden toegevoegd of verwijderd door waarden tussen 0 en 1 uit te voeren. Door de poortuitvoer puntsgewijs te vermenigvuldigen met de celstatus C (t-1), informatie wordt verwijderd (uitgang van poort = 0) of bewaard (uitgang van poort = 1).

In figuur 2 zien we de netwerkstructuur van een LSTM-eenheid. Elke LSTM-eenheid heeft drie poorten. De "vergeet poortlaag" aan het begin filtert de informatie uit de vorige celstatus uit C (t-1) gebaseerd op de huidige invoer x (t) en de verborgen status van de vorige cel h (t-1). Vervolgens bepaalt de combinatie van een "invoerpoortlaag" en een "tanh-laag" welke informatie moet worden toegevoegd aan de vorige, reeds gefilterde, celstatus C (t-1). Ten slotte beslist de laatste poort, de "uitgangspoort", welke informatie uit de bijgewerkte celstatus C (t) eindigt in de volgende verborgen status h (t).

Raadpleeg voor meer informatie over LSTM-eenheden de GitHub-blogpost "Understanding LSTM Networks" van Christopher Olah.

Figuur 2. Structuur van een LSTM-cel (gereproduceerd van "Deep Learning" door Ian Goodfellow, Yoshua Bengio en Aaron Courville). Let op de drie poorten binnen de LSTM-eenheden. Van links naar rechts: de vergeetpoort, de invoerpoort en de uitvoerpoort.

LSTM-eenheden zijn met succes gebruikt in een aantal tijdreeksvoorspellingsproblemen, maar vooral bij spraakherkenning, natuurlijke taalverwerking (NLP) en gratis generatie.

Generative Adversarial Networks (GAN)

Een generatief adversarieel netwerk (GAN) bestaat uit twee diepe leernetwerken, de generator en de discriminator.

Een generator G is een transformatie die de invoerruis transformeert z in een tensor - meestal een afbeelding - X (X= G (z)). DCGAN is een van de meest populaire ontwerpen voor het generatornetwerk. In CycleGAN-netwerken voert de generator meerdere getransponeerde convoluties uit om te upsamplen z om uiteindelijk de afbeelding te genereren X (Figuur 3).

De gegenereerde afbeelding X wordt vervolgens ingevoerd in het discriminatornetwerk. Het discriminatienetwerk controleert de echte beelden in de trainingsset en het beeld gegenereerd door het generatornetwerk en produceert een uitvoer D (X), dat is de waarschijnlijkheid dat beeld X is echt.

Zowel generator als discriminator worden getraind met behulp van het backpropagation-algoritme om te produceren D (X)=1 voor de gegenereerde afbeeldingen. Beide netwerken zijn getraind in afwisselende stappen die concurreren om zichzelf te verbeteren. Het GAN-model convergeert uiteindelijk en produceert afbeeldingen die er echt uitzien.

Figuur 3. Een DCGAN-generator (gereproduceerd van Jonathan Hui's "GAN - Wat is Generative Adversary Networks GAN?").

GAN's zijn met succes toegepast op beeldtensoren om anime, menselijke figuren en zelfs van Gogh-achtige meesterwerken te maken. (Voor ander modern gebruik van neurale netwerken, zie 6 grote voordelen die u kunt toeschrijven aan kunstmatige neurale netwerken.)

conclusies

Dus, is diep leren slechts een stel neurale netwerken over steroïden? Gedeeltelijk.

Hoewel het niet te ontkennen is dat snellere hardwareprestaties grotendeels hebben bijgedragen aan de succesvolle training van complexere, meerlagige en zelfs terugkerende neurale architecturen, is het ook waar dat een aantal nieuwe innovatieve neurale eenheden en architecturen zijn voorgesteld op het gebied van wat wordt nu deep learning genoemd.

In het bijzonder hebben we convolutionele lagen in CNN's, LSTM-eenheden en GAN's geïdentificeerd als enkele van de meest betekenisvolle innovaties op het gebied van beeldverwerking, tijdreeksanalyse en gratis generatie.

Het enige dat u op dit moment nog hoeft te doen, is dieper duiken en meer leren over hoe deep learning-netwerken ons kunnen helpen met nieuwe robuuste oplossingen voor onze eigen gegevensproblemen.