Wat is een Residual Neural Network?

Een residueel neuraal netwerk dat “ResNet” wordt genoemd, is een gerenommeerd kunstmatig neuraal netwerk. Het wordt geassembleerd op constructies die worden verkregen uit de piramidecellen van de hersenschors. De residuele neurale netwerken doen dit door gebruik te maken van snelkoppelingen of “overslagverbindingen” om over verschillende lagen te bewegen.

Deskundigen implementeren traditionele residuele neurale netwerkmodellen met twee of drie lagen overslaan met batch-normalisatie en niet-lineairiteiten ertussen. Datawetenschappers maken ook gebruik van een extra gewichtmatrix om in sommige gevallen de skip-gewichten te leren. De term die gebruikt wordt om dit fenomeen te beschrijven is “Highwaynets”. Modellen die bestaan uit meerdere parallelle skips zijn “Densenets.” Niet-residuele netwerken kunnen ook worden aangeduid als gewone netwerken als het gaat om residuele neurale netwerken.

Een massale reden voor het overslaan van lagen is het vermijden van verdwijnende gradiënten en dergelijke. Aangezien de gradiënt terug naar de vorige lagen gaat, kan dit herhaalde proces het gradiëntverloop extreem klein maken. De meeste individuen doen dit door gebruik te maken van de activeringen van de voorgaande lagen tot de aangrenzende laag in bepaalde gewichten leert. Tijdens de training passen deze gewichten zich aan de stroomopwaartse lagen aan en vergroten ze de eerder overgeslagen laag. In het meest eenvoudige geval komen de gewichten die gebruikt worden voor het verbinden van de aangrenzende lagen in het spel.

Dit werkt echter alleen effectief als alle tussenliggende lagen lineair zijn of de niet-lineaire laag overlappen. Als dat niet het geval is, zou het gebruik van een andere gewichtsmatrix nuttig zijn voor overgeslagen verbindingen. Het zou het beste zijn om in dergelijke gevallen het gebruik van een Highwaynet te overwegen.

Door het overslaan worden complicaties uit het netwerk verwijderd, waardoor het eenvoudiger wordt om tijdens de eerste trainingsfase zeer weinig lagen te gebruiken. Het versnelt het leren met een vertienvoudiging, waardoor het effect van verdwijnende gradiënten wordt geminimaliseerd. Waarom? Omdat er nauwelijks lagen zijn om zich doorheen te verspreiden. Daarna zet het netwerk uiteindelijk de geschoolde lagen weer terug terwijl het de feature space leert.

Naarmate de training bijna voltooid is en elke laag zich uitbreidt, komen ze in de buurt van het spruitstuk en leren ze de dingen sneller. Een neuraal netwerk dat geen restonderdelen heeft, heeft meer vrijheid om de functieruimte te verkennen, waardoor deze sterk bedreigd wordt door verstoringen, waardoor deze het spruitstuk verlaat en het essentieel is voor het herstel van de extra trainingsgegevens.

Wat maakte de behoefte aan restanten van neurale netwerken noodzakelijk?

Nadat AlexNets een triomf had gevierd tijdens de LSVRC-klassementswedstrijd in 2012, werd het diepe restnetwerk aantoonbaar de meest innovatieve en ingenieuze innovatie in de geschiedenis van het diepe leer– en computervisielandschap. ResNet stelt u in staat om honderden, zo niet duizenden lagen te trainen en tegelijkertijd fascinerende prestaties te leveren.

Talrijke computer vision-apps maakten gebruik van de sterke representatiemogelijkheden van het resterende neurale netwerk en merkten een enorme impuls op. Beeldclassificatie was niet de enige computer vision-app die gebruik maakte van ResNet – gezichtsherkenning en objectdetectie profiteerden ook van deze baanbrekende innovatie.

Sinds de introductie van ResNet in 2015 hebben verschillende personen in de onderzoeksgemeenschap geprobeerd om de geheimen achter het succes van het netwerk te ontdekken, en het is veilig om te zeggen dat er tonnen verfijningen zijn aangebracht in de enorme architectuur van ResNet.

Het probleem van de verdwijnende helling (Vanishing Gradient)

Het verdwijnende gradiëntprobleem komt vaak voor in de diepe leer- en datawetenschapsgemeenschap. Mensen komen dit probleem vaak tegen bij het trainen van kunstmatige neurale netwerken met betrekking tot backpropagatie en gradient-based learning. Zoals eerder besproken, gebruiken deskundigen gradiënten voor het updaten van gewichten in een specifiek netwerk.
Maar soms is het anders als de gradiënt ongelooflijk klein wordt en bijna verdwijnt. Het voorkomt dat de gewichten hun waarden veranderen, waardoor het netwerk de training staakt omdat dezelfde waarden zich steeds opnieuw verspreiden zonder dat er zinvol werk wordt verricht.

ResNet en Deep Learning

Elk diepgaand leermodel beschikt over meerdere lagen die het in staat stellen om invoerfuncties te begrijpen, zodat het een weloverwogen beslissing kan nemen. Hoewel dat vrij eenvoudig is, hoe identificeren netwerken de verschillende functies die in de gegevens aanwezig zijn?
Het zou eerlijk zijn om neurale netwerken te zien als universele functie-aanduidingen. Modellen proberen de juiste parameters te leren die een eigenschap of functie die de juiste output levert, goed weergeven. Het opnemen van meer lagen is een geweldige manier om parameters toe te voegen, en het maakt het ook mogelijk om gecompliceerde niet-lineaire functies in kaart te brengen.

Dit betekent echter niet dat het stapelen van tonnen lagen zal leiden tot betere prestaties. Als u goed kijkt, zult u zich realiseren dat er een addertje onder het gras zit. Hoewel we merken dat het implementeren van onze modellen met meer lagen leidt tot betere prestaties, kunnen de resultaten in sommige omstandigheden drastisch veranderen, wat leidt tot verzadiging, en uiteindelijk, een snelle achteruitgang.

Inzicht in het probleem met meerdere lagen

We moeten eerst begrijpen hoe modellen leren van trainingsgegevens. Het proces gebeurt door elke input door het model te halen (aka feedforward) en deze opnieuw door te geven (aka backpropagation.) Terwijl backpropagation plaatsvindt, updaten we de gewichten van ons model volgens zijn inputclassificatie. De update trekt de gradiënt van de verliesfunctie af van de vorige waarde van het gewicht.

Hoe ResNet het probleem van de verdwijnende gradiënt oplost (Vanishing Gradient)

Zoals overvloedig vermeld, zijn de resterende neurale netwerken de ideale oplossing voor het verdwijnende gradiëntprobleem. Diepgaande leerexperts voegen snelkoppelingen toe om twee of drie lagen over te slaan om het proces sneller te laten verlopen, waardoor de snelkoppeling de manier waarop we gradiënten berekenen bij elke laag verandert. Om de zaken te vereenvoudigen, voorkomt het passeren van de invoer door de uitvoer dat sommige lagen de waarden van het kleurverloop veranderen, wat betekent dat we de leerprocedure voor sommige specifieke lagen kunnen overslaan. Het fenomeen verduidelijkt ook hoe het kleurverloop weer in het netwerk terechtkomt.

Terwijl we de training voortzetten, begrijpt het model het concept van het behouden van de nuttige lagen en het niet gebruiken van de lagen die niet helpen. Het model zal het later omzetten in identity mappings. Het is een belangrijke factor voor het succes van het resterende neurale netwerk, omdat het ongelofelijk eenvoudig is om layers mapping te maken naar de identiteitsfunctie.

Bovendien is het feit dat er een optie is om lagen te verbergen die niet helpen enorm nuttig. Een enorme hoeveelheid lagen kan de zaken behoorlijk verwarrend maken, maar met behulp van de overgebleven neurale netwerken kunnen we beslissen welke we willen behouden en welke niet.

Laatste gedachten

Het zou eerlijk zijn om te zeggen dat de resterende neurale netwerkarchitectuur ongelooflijk nuttig is geweest voor het verhogen van de prestaties van neurale netwerken met meerdere lagen. In de kern zijn ResNets als verschillende netwerken met kleine aanpassingen. Deze architectuur heeft vergelijkbare functionele stappen als CNN (convolutionele neurale netwerken) of andere. Er is echter een extra stap voor het aanpakken van het verdwijnende gradiëntprobleem en andere gerelateerde problemen.