AI 101

Hvad er Neurale Netværk?

mm

Hvad er Kunstige Neurale Netværk (ANNs)?

Mange af de største fremskridt i AI er drevet af kunstige neurale netværk. Kunstige Neurale Netværk (ANNs) er forbindelsen af matematiske funktioner forbundet sammen i en format inspireret af de neurale netværk, der findes i det menneskelige hjerte. Disse ANNs er i stand til at udtrække komplekse mønstre fra data, anvende disse mønstre på usete data for at klassificere/kende data. På denne måde “lærer” maskinen. Det er en kort gennemgang af neurale netværk, men lad os tage en nærmere kig på neurale netværk for bedre at forstå, hvad de er og hvordan de fungerer.

Multi-layer Perceptron Forklaret

Før vi ser på mere komplekse neurale netværk, skal vi tage et øjeblik til at se på en simpel version af et ANN, en Multi-Layer Perceptron (MLP).

Forestil dig en samlebånd på en fabrik. På dette samlebånd modtager en arbejder en vare, laver nogle justeringer på den og passerer den herefter til den næste arbejder i linjen, der gør det samme. Denne proces fortsætter, indtil den sidste arbejder i linjen sætter de sidste finish på varen og lægger den på en bånd, der tager den ud af fabrikken. I denne analogi er der flere “lag” i samlebåndet, og produkterne flyttes mellem lagene, mens de flyttes fra arbejder til arbejder. Samlebåndet har også et indgangspunkt og et udgangspunkt.

En Multi-Layer Perceptron kan betragtes som en meget simpel produktionslinje, bestående af tre lag i alt: et inputlag, et skjult lag og et outputlag. Inputlaget er, hvor data indføres i MLP, og i det skjulte lag håndterer et antal “arbejdere” data, før de passerer det videre til outputlaget, der giver produktet til den ydre verden. I tilfældet af en MLP kaldes disse arbejdere “neuroner” (eller noder) og når de håndterer data, manipulerer de dem gennem en række matematiske funktioner.

Inden for netværket er der strukturer, der forbinder node til node, kaldet “vægte“. Vægte er en antagelse om, hvordan data punkter er relaterede, mens de flyttes gennem netværket. For at sige det på en anden måde, vægte reflekterer niveauet af indflydelse, som en neuron har over en anden neuron. Vægte passerer gennem en “aktiveringsfunktion”, når de forlader den nuværende node, som er en type matematisk funktion, der transformerer data. De transformerer lineær data til ikke-lineære repræsentationer, hvilket ermöglicer netværket at analysere komplekse mønstre.

Analogen til det menneskelige hjerte, der er impliceret af “kunstigt neuralt netværk”, kommer fra det faktum, at neuronerne, der udgør det menneskelige hjerte, er forbundet på en lignende måde, som noder i et ANN er forbundet.

Multi-layer perceptroner har eksisteret siden 1940’erne, men der var en række begrænsninger, der forhindrede dem i at være særligt nyttige. Imidlertid er der over de sidste par årtier blevet udviklet en teknik kaldet “backpropagation“, der har gjort det muligt for netværk at justere vægtningen af neuronerne og dermed lære meget mere effektivt. Backpropagation ændrer vægtningerne i det neurale netværk, hvilket ermöglicer netværket at bedre fange de faktiske mønstre i data.

Dybe Neurale Netværk

Dybe neurale netværk tager den grundlæggende form af MLP og gør den større ved at tilføje flere skjulte lag i midten af modellen. Så i stedet for at have et inputlag, et skjult lag og et outputlag, er der mange skjulte lag i midten, og output fra et skjult lag bliver input for det næste skjulte lag, indtil data er passeret gennem hele netværket og er returneret.

De multiple skjulte lag i et dybt neuralt netværk er i stand til at fortolke mere komplekse mønstre end den traditionelle multilayer perceptron. Forskellige lag i det dybe neurale netværk lærer mønstre fra forskellige dele af data. For eksempel, hvis inputdata består af billeder, kan den første del af netværket fortolke lysstyrken eller mørkheden af pixels, mens de senere lag vil finde former og kanter, der kan bruges til at genkende objekter i billedet.

Forskellige Typer Af Neurale Netværk

Der er forskellige typer af neurale netværk, og hver af de forskellige neurale netværkstyper har sine egne fordele og ulemper (og derfor deres egne brugsområder). Den type dybt neuralt netværk, der er beskrevet ovenfor, er den mest almindelige type neuralt netværk, og det kaldes ofte for et feedforward neuralt netværk.

En variation over neurale netværk er det Recurrent Neurale Netværk (RNN). I tilfældet af Recurrent Neurale Netværk bruges løbende mekanismer til at holde information fra tidligere tilstande af analyse, hvilket ermöglicer dem at fortolke data, hvor rækkefølgen er vigtig. RNN’er er nyttige til at udlede mønstre fra sekventielle/kronologiske data. Recurrent Neurale Netværk kan være enten unidirektionelle eller bidirektionelle. I tilfældet af en bidirektional neural netværk kan netværket tage information fra senere i sekvensen samt tidligere dele af sekvensen. Da den bidirektionale RNN tager mere information i betragtning, er den bedre i stand til at udlede de rigtige mønstre fra data.

Et Convolutional Neuralt Netværk er en speciel type neuralt netværk, der er dygtig til at fortolke mønstre fundet i billeder. Et CNN opererer ved at passere en filter over billedets pixels og opnå en numerisk repræsentation af pixelerne i billedet, som det herefter kan analysere for mønstre. Et CNN er struktureret, således at de convolutionelle lag, der trækker pixelerne ud af billedet, kommer først, og derefter kommer de tæt forbundne feed-forward lag, der vil lære at genkende objekter, kommer herefter.

Blogger og programmør med specialer i Machine Learning og Deep Learning emner. Daniel håber at hjælpe andre med at bruge AI's kraft til sociale formål.