AI 101
Hva er Neurale Nettverk?

Hva er Kunstige Neurale Nettverk (ANN)?
Mange av de største fremgangene i AI er drevet av kunstige neurale nettverk. Kunstige Neurale Nettverk (ANN) er sammenkoblingen av matematiske funksjoner sammenflettet i en format inspirert av de neurale nettverkene funnet i menneskehjernen. Disse ANN er i stand til å trekke ut komplekse mønster fra data, anvende disse mønsterne på usette data for å klassifisere/gjenkjenne dataene. På denne måten “lærer” maskinen. Dette er en rask gjennomgang av neurale nettverk, men la oss ta en nærmere titt på neurale nettverk for å bedre forstå hva de er og hvordan de opererer.
Flervalgsperceptron Forklart
Før vi ser på mer komplekse neurale nettverk, skal vi ta et øyeblikk til å se på en enkel versjon av et ANN, et Flervalgsperceptron (MLP).

Forestall en samlebånd på en fabrikk. På dette samlebåndet mottar en arbeider en vare, gjør noen justeringer på den, og så passerer den til neste arbeider i linjen som gjør det samme. Denne prosessen fortsetter til siste arbeider i linjen setter de siste håndtegnene på varen og legger den på et belte som tar den ut av fabrikken. I denne analogien er det flere “lag” i samlebåndet, og produkter flytter mellom lagene mens de flytter fra arbeider til arbeider. Samlebåndet har også et inngangspunkt og et utgangspunkt.
Et Flervalgsperceptron kan tenkes som en veldig enkel produksjonslinje, bestående av tre lag i alt: et inngangslag, et skjult lag og et utgangslag. Inngangslaget er der data mates inn i MLP, og i det skjulte laget håndterer noen “arbeidere” dataene før de passerer dem videre til utgangslaget som gir produktet til den ytre verden. I tilfelle av et MLP kalles disse arbeiderne for “nevroner” (eller noen ganger noder) og når de håndterer dataene, manipulerer de dem gjennom en rekke matematiske funksjoner.
Innenfor nettverket er det strukturer som kobler noden til noden kalt “vekt“. Vekt er en antakelse om hvordan datapunkter er relatert mens de flytter gjennom nettverket. For å si det på en annen måte, vekt reflekterer nivået av innflytelse som ett nevron har over et annet nevron. Vekten passerer gjennom en “aktiviseringsfunksjon” mens den forlater den nåværende noden, som er en type matematisk funksjon som transformerer dataene. De transformerer lineære data til ikke-lineære representasjoner, som muliggjør at nettverket kan analysere komplekse mønster.
Analogien til menneskehjernen implisert av “kunstig neuralt nettverk” kommer fra det faktum at nevronene som utgjør menneskehjernen er koblet sammen på en lignende måte som noder i et ANN er koblet.
Flervalgsperceptron har eksistert siden 1940-tallet, men det var en rekke begrensninger som hindret dem fra å være spesielt nyttige. Imidlertid, over de siste par tiårene, ble en teknikk kalt “bakpropagasjon” utviklet som tillot nettverk å justere vektene til nevronene og dermed lære mye mer effektivt. Bakpropagasjon endrer vektene i det neurale nettverket, som tillater nettverket å bedre fange de faktiske mønsterne i dataene.
Dype Neurale Nettverk
Dype neurale nettverk tar den grunnleggende formen av MLP og gjør den større ved å legge til flere skjulte lag i midten av modellen. Så i stedet for å ha et inngangslag, et skjult lag og et utgangslag, er det mange skjulte lag i midten og utgangene fra ett skjult lag blir inngangene for det neste skjulte laget til dataene har flyttet gjennom hele nettverket og blitt returnert.
De mange skjulte lagene i et dypt neuralt nettverk er i stand til å tolke mer komplekse mønster enn den tradisjonelle flervalgsperceptron. Forskjellige lag i det dype neurale nettverket lærer mønsterne fra forskjellige deler av dataene. For eksempel, hvis inngangsdataene består av bilder, kan den første delen av nettverket tolke lys- eller mørkheten til pikslene, mens de senere lagene vil plukke ut former og kanter som kan brukes til å gjenkjenne objekter i bildet.
Forskjellige Typer Neurale Nettverk

Det finnes forskjellige typer neurale nettverk, og hver av de forskjellige typene neurale nettverk har sine egne fordeler og ulemper (og derfor sine egne bruksområder). Typen dyp neuralt nettverk beskrevet ovenfor er den vanligste typen neuralt nettverk, og det kalles ofte for et feedforward neuralt nettverk.
En variasjon av neurale nettverk er det Rekurrente Neurale Nettverk (RNN). I tilfelle av Rekurrente Neurale Nettverk, brukes løkke-mekanismer til å holde informasjon fra tidligere tilstander av analyse, noe som betyr at de kan tolke data hvor rekkefølgen teller. RNN er nyttige i å trekke ut mønster fra sekvensielle/kronologiske data. Rekurrente Neurale Nettverk kan være enten unidireksjonale eller bidireksjonale. I tilfelle av et bidireksjonalt neuralt nettverk, kan nettverket ta informasjon fra senere i sekvensen samt tidligere deler av sekvensen. Siden det bidireksjonale RNN tar mer informasjon i betraktning, er det bedre i stand til å trekke ut riktige mønster fra dataene.
Et Konvolusjonsneuralt Nettverk er en spesiell type neuralt nettverk som er dyktig i å tolke mønster funnet i bilder. Et CNN opererer ved å passere en filter over pikslene i bildet og oppnå en numerisk representasjon av pikslene i bildet, som den så kan analysere for mønster. Et CNN er strukturert så at konvolusjonslagene som trekker ut pikslene fra bildet kommer først, og så kommer de tett koblet feed-forward-lagene som vil lære å gjenkjenne objekter, kommer etter dette.












