stub Hva er nevrale nettverk? - Unite.AI
Kontakt med oss

AI 101

Hva er nevrale nettverk?

mm
oppdatert on

Hva er kunstige nevrale nettverk (ANN)?

Mange av de største fremskrittene innen AI er drevet av kunstige nevrale nettverk. Kunstige nevrale nettverk (ANN) er koblingen av matematiske funksjoner sammen i et format inspirert av nevrale nettverk som finnes i den menneskelige hjernen. Disse ANN-ene er i stand til å trekke ut komplekse mønstre fra data, bruke disse mønstrene på usynlige data for å klassifisere/gjenkjenne dataene. På denne måten "lærer" maskinen. Det er en rask oversikt over nevrale nettverk, men la oss se nærmere på nevrale nettverk for bedre å forstå hva de er og hvordan de fungerer.

Flerlags perceptron forklart

Før vi ser på mer komplekse nevrale nettverk, skal vi ta et øyeblikk til å se på en enkel versjon av en ANN, en Multi-Layer Perceptron (MLP).

Se for deg et samlebånd på en fabrikk. På dette samlebåndet mottar en arbeider en vare, gjør noen justeringer på den, og sender den deretter videre til neste arbeider i linjen som gjør det samme. Denne prosessen fortsetter til den siste arbeideren i rekken legger siste hånd på varen og legger den på et belte som skal ta den ut av fabrikken. I denne analogien er det flere "lag" til samlebåndet, og produkter beveger seg mellom lag når de beveger seg fra arbeider til arbeider. Samlebåndet har også et inngangspunkt og et utgangspunkt.

En Multi-Layer Perceptron kan betraktes som en veldig enkel produksjonslinje, laget av totalt tre lag: et inputlag, et skjult lag og et utgangslag. Inndatalaget er der dataene mates inn i MLP, og i det skjulte laget håndterer et antall "arbeidere" dataene før de sender dem til utdatalaget som gir produktet til omverdenen. I tilfellet av en MLP kalles disse arbeiderne "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 node til node kalt "vekter". Vekter er en antagelse om hvordan datapunkter er relatert når de beveger seg gjennom nettverket. For å si det på en annen måte, vekter reflekterer nivået av innflytelse som en nevron har over en annen nevron. Vektene passerer gjennom en "aktiveringsfunksjon" når de 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, noe som gjør nettverket i stand til å analysere komplekse mønstre.

Analogien til den menneskelige hjernen antydet av "kunstig nevrale nettverk" kommer fra det faktum at nevronene som utgjør den menneskelige hjernen er koblet sammen på en lignende måte som hvordan noder i en ANN er koblet sammen.

Mens flerlags perseptroner har eksistert siden 1940-tallet, var det en rekke begrensninger som hindret dem i å være spesielt nyttige. I løpet av de siste par tiårene har imidlertid en teknikk kalt "tilbakemelding” ble opprettet som gjorde det mulig for nettverk å justere vekten av nevronene og derved lære mye mer effektivt. Backpropagation endrer vektene i det nevrale nettverket, slik at nettverket bedre kan fange opp de faktiske mønstrene i dataene.

Deep Neural Networks

Dype nevrale nettverk tar den grunnleggende formen til MLP og gjør den større ved å legge til flere skjulte lag i midten av modellen. Så i stedet for at det er et inndatalag, et skjult lag og et utgangslag, er det mange skjulte lag i midten og utgangene til ett skjult lag blir inngangene for det neste skjulte laget til dataene har kommet seg helt frem gjennom nettverket og blitt returnert.

De flere skjulte lagene i et dypt nevralt nettverk er i stand til å tolke mer komplekse mønstre enn den tradisjonelle flerlagsperceptronen. Ulike lag i det dype nevrale nettverket lærer mønstrene til forskjellige deler av dataene. For eksempel, hvis inngangsdataene består av bilder, kan den første delen av nettverket tolke lysstyrken eller mørket til piksler, mens de senere lagene vil plukke ut former og kanter som kan brukes til å gjenkjenne objekter i bildet.

Ulike typer nevrale nettverk

Det finnes ulike typer nevrale nettverk, og hver av de ulike nevrale nettverkstypene har sine egne fordeler og ulemper (og derfor egne brukstilfeller). Typen dype nevrale nettverk beskrevet ovenfor er den vanligste typen nevrale nettverk, og det blir ofte referert til som et feedforward nevralt nettverk.

En variant av nevrale nettverk er Recurrent Neural Network (RNN). Når det gjelder tilbakevendende nevrale nettverk, brukes looping-mekanismer for å holde informasjon fra tidligere analysetilstander, noe som betyr at de kan tolke data der rekkefølgen betyr noe. RNN-er er nyttige for å utlede mønstre fra sekvensielle/kronologiske data. Tilbakevendende nevrale nettverk kan være enten ensrettet eller toveis. I tilfellet med et toveis nevralt nettverk, kan nettverket ta informasjon fra senere i sekvensen så vel som tidligere deler av sekvensen. Siden den toveis RNN tar mer informasjon i betraktning, er den bedre i stand til å tegne de riktige mønstrene fra dataene.

Et konvolusjonelt nevralt nettverk er en spesiell type nevrale nettverk som er flinke til å tolke mønstrene som finnes i bilder. En CNN opererer ved å føre et filter over pikslene i bildet og oppnå en numerisk representasjon av pikslene i bildet, som den deretter kan analysere for mønstre. Et CNN er bygget opp slik at konvolusjonslagene som trekker pikslene ut av bildet kommer først, og så kommer de tett sammenkoblede feed-forward-lagene, de som faktisk skal lære å gjenkjenne objekter, kommer etter dette.

Blogger og programmerer med spesialiteter innen Maskinlæring og Dyp læring emner. Daniel håper å hjelpe andre å bruke kraften til AI til sosialt gode.