stomp Wat zijn neurale netwerken? - Verenig AI
Verbind je met ons

AI 101

Wat zijn neurale netwerken?

mm
Bijgewerkt on

Wat zijn kunstmatige neurale netwerken (ANN's)?

Veel van de grootste vorderingen op het gebied van AI zijn dat wel aangedreven door kunstmatige neurale netwerken. Kunstmatige neurale netwerken (ANN's) zijn de verbinding van wiskundige functies die zijn samengevoegd in een formaat dat is geïnspireerd op de neurale netwerken in het menselijk brein. Deze ANN's zijn in staat complexe patronen uit gegevens te extraheren en deze patronen toe te passen op onzichtbare gegevens om de gegevens te classificeren/herkennen. Op deze manier ‘leert’ de machine. Dat is een kort overzicht van neurale netwerken, maar laten we neurale netwerken eens nader bekijken om beter te begrijpen wat ze zijn en hoe ze werken.

Meerlaagse Perceptron uitgelegd

Voordat we kijken naar meer complexe neurale netwerken, gaan we even de tijd nemen om naar een eenvoudige versie van een ANN te kijken, een meerlaags perceptron (MLP).

Stel je een lopende band voor in een fabriek. Op deze assemblagelijn ontvangt een werknemer een artikel, maakt er enkele aanpassingen aan en geeft het vervolgens door aan de volgende werknemer in de lijn die hetzelfde doet. Dit proces gaat door totdat de laatste werknemer in de lijn de laatste hand legt aan het item en het op een band legt die het uit de fabriek zal halen. In deze analogie zijn er meerdere "lagen" op de assemblagelijn en producten bewegen tussen lagen terwijl ze van werknemer naar werknemer gaan. De assemblagelijn heeft ook een ingang en een uitgang.

Een Multi-Layer Perceptron kan worden gezien als een zeer eenvoudige productielijn, gemaakt uit in totaal drie lagen: een invoerlaag, een verborgen laag en een uitvoerlaag. De invoerlaag is waar de gegevens worden ingevoerd in de MLP, en in de verborgen laag verwerkt een aantal "werknemers" de gegevens voordat ze deze doorgeven aan de uitvoerlaag die het product aan de buitenwereld geeft. In het geval van een MLP worden deze werknemers "neuronen" (of soms knooppunten) genoemd en wanneer ze de gegevens verwerken, manipuleren ze deze door middel van een reeks wiskundige functies.

Binnen het netwerk zijn er structuren die knooppunten met knooppunten verbinden, genaamd "gewichten”. Gewichten zijn een aanname over hoe gegevenspunten gerelateerd zijn terwijl ze door het netwerk bewegen. Anders gezegd, gewichten weerspiegelen de mate van invloed die een neuron heeft op een ander neuron. De gewichten passeren een "activeringsfunctie" wanneer ze het huidige knooppunt verlaten, wat een soort wiskundige functie is die de gegevens transformeert. Ze transformeren lineaire gegevens in niet-lineaire weergaven, waardoor het netwerk complexe patronen kan analyseren.

De analogie met het menselijk brein die wordt geïmpliceerd door "kunstmatig neuraal netwerk" komt voort uit het feit dat de neuronen waaruit het menselijk brein bestaat, op dezelfde manier met elkaar zijn verbonden als hoe knooppunten in een ANN zijn verbonden.

Hoewel perceptrons met meerdere lagen al sinds de jaren veertig bestaan, waren er een aantal beperkingen waardoor ze niet bijzonder bruikbaar waren. In de loop van de afgelopen decennia is echter een techniek genaamd "terugvermeerdering' werd gecreëerd waardoor netwerken de gewichten van de neuronen konden aanpassen en daardoor veel effectiever konden leren. Backpropagation verandert de gewichten in het neurale netwerk, waardoor het netwerk de feitelijke patronen in de gegevens beter kan vastleggen.

Deep Neural Networks

Diepe neurale netwerken nemen de basisvorm van de MLP aan en maken deze groter door meer verborgen lagen in het midden van het model toe te voegen. Dus in plaats van een invoerlaag, een verborgen laag en een uitvoerlaag, zijn er veel verborgen lagen in het midden en worden de uitvoer van de ene verborgen laag de invoer voor de volgende verborgen laag totdat de gegevens het helemaal hebben gemaakt via het netwerk en teruggestuurd.

De meerdere verborgen lagen van een diep neuraal netwerk kunnen complexere patronen interpreteren dan de traditionele meerlagige perceptron. Verschillende lagen van het diepe neurale netwerk leren de patronen van verschillende delen van de gegevens. Als de invoergegevens bijvoorbeeld uit afbeeldingen bestaan, kan het eerste deel van het netwerk de helderheid of duisternis van pixels interpreteren, terwijl de latere lagen vormen en randen uitkiezen die kunnen worden gebruikt om objecten in de afbeelding te herkennen.

Verschillende soorten neurale netwerken

Er zijn verschillende soorten neurale netwerken, en elk van de verschillende soorten neurale netwerken heeft zijn eigen voor- en nadelen (en dus hun eigen use cases). Het hierboven beschreven type diep neuraal netwerk is het meest voorkomende type neuraal netwerk en wordt vaak een feedforward neuraal netwerk genoemd.

Een variant op neurale netwerken is het Recurrent Neural Network (RNN). In het geval van Recurrent Neural Networks worden looping-mechanismen gebruikt om informatie uit eerdere analysestadia vast te houden, wat betekent dat ze gegevens kunnen interpreteren waar de volgorde ertoe doet. RNN's zijn nuttig bij het afleiden van patronen uit sequentiële/chronologische gegevens. Terugkerende neurale netwerken kunnen unidirectioneel of bidirectioneel zijn. In het geval van een bidirectioneel neuraal netwerk kan het netwerk zowel informatie van later in de reeks als van eerdere delen van de reeks overnemen. Omdat de bidirectionele RNN meer informatie in aanmerking neemt, is hij beter in staat om de juiste patronen uit de gegevens te halen.

Een convolutioneel neuraal netwerk is een speciaal type neuraal netwerk dat bedreven is in het interpreteren van de patronen die in afbeeldingen worden aangetroffen. Een CNN werkt door een filter over de pixels van de afbeelding te laten gaan en een numerieke weergave van de pixels in de afbeelding te verkrijgen, die het vervolgens op patronen kan analyseren. Een CNN is zo gestructureerd dat de convolutionele lagen die de pixels uit het beeld trekken eerst komen, en daarna komen de dicht met elkaar verbonden feed-forward-lagen, die daadwerkelijk leren objecten te herkennen.

Blogger en programmeur met specialiteiten in Machine leren en Diepe leren onderwerpen. Daniel hoopt anderen te helpen de kracht van AI te gebruiken voor maatschappelijk welzijn.