stub Vad är neurala nätverk? - Unite.AI
Anslut dig till vårt nätverk!

AI 101

Vad är neurala nätverk?

mm
Uppdaterad on

Vad är artificiella neurala nätverk (ANN)?

Många av de största framstegen inom AI är drivs av artificiella neurala nätverk. Artificiella neurala nätverk (ANN) är sammankopplingen av matematiska funktioner som är sammanfogade i ett format inspirerat av de neurala nätverk som finns i den mänskliga hjärnan. Dessa ANN:er kan extrahera komplexa mönster från data, applicera dessa mönster på osynliga data för att klassificera/igenkänna data. På så sätt "lär sig maskinen". Det är en snabb genomgång av neurala nätverk, men låt oss titta närmare på neurala nätverk för att bättre förstå vad de är och hur de fungerar.

Flerskiktsperceptron förklaras

Innan vi tittar på mer komplexa neurala nätverk, ska vi ta en stund för att titta på en enkel version av en ANN, en Multi-Layer Perceptron (MLP).

Föreställ dig ett löpande band på en fabrik. På detta löpande band tar en arbetare emot en artikel, gör några justeringar av den och skickar den sedan vidare till nästa arbetare i raden som gör detsamma. Denna process fortsätter tills den sista arbetaren i raden lägger sista handen på föremålet och lägger det på ett bälte som tar det ut från fabriken. I denna analogi finns det flera "lager" till löpande bandet, och produkter flyttas mellan lager när de flyttas från arbetare till arbetare. Löpningsbandet har även en ingångspunkt och en utgångspunkt.

En Multi-Layer Perceptron kan ses som en mycket enkel produktionslinje, gjord av totalt tre lager: ett indatalager, ett dolt lager och ett utdatalager. Ingångslagret är där data matas in i MLP, och i det dolda lagret hanterar ett antal "arbetare" data innan de skickar den till utdatalagret som ger produkten till omvärlden. I fallet med en MLP kallas dessa arbetare för "neuroner" (eller ibland noder) och när de hanterar data manipulerar de det genom en rad matematiska funktioner.

Inom nätverket finns det strukturer som ansluter nod till nod som kallas "vikter”. Vikter är ett antagande om hur datapunkter är relaterade när de rör sig genom nätverket. För att uttrycka det på ett annat sätt, vikter återspeglar nivån av inflytande som en neuron har över en annan neuron. Vikterna passerar genom en "aktiveringsfunktion" när de lämnar den aktuella noden, vilket är en typ av matematisk funktion som transformerar data. De omvandlar linjär data till icke-linjära representationer, vilket gör det möjligt för nätverket att analysera komplexa mönster.

Analogin med den mänskliga hjärnan som antyds av "konstgjorda neurala nätverk" kommer från det faktum att nervcellerna som utgör den mänskliga hjärnan är sammanfogade på ett liknande sätt som hur noder i en ANN är länkade.

Medan flerskiktsperceptroner har funnits sedan 1940-talet, fanns det ett antal begränsningar som hindrade dem från att vara särskilt användbara. Men under de senaste decennierna har en teknik som kallas "tillbakaförökning” skapades som gjorde det möjligt för nätverk att justera neuronernas vikter och därigenom lära sig mycket mer effektivt. Backpropagation ändrar vikterna i det neurala nätverket, vilket gör att nätverket bättre kan fånga de faktiska mönstren i data.

Djupa neurala nätverk

Djupa neurala nätverk tar den grundläggande formen av MLP och gör den större genom att lägga till fler dolda lager i mitten av modellen. Så istället för att det finns ett indatalager, ett dolt lager och ett utdatalager, finns det många dolda lager i mitten och utdata från ett dolt lager blir indata för nästa dolda lager tills data har kommit hela vägen via nätverket och returnerats.

De flera dolda lagren i ett djupt neuralt nätverk kan tolka mer komplexa mönster än den traditionella flerlagersperceptronen. Olika lager i det djupa neurala nätverket lär sig mönstren för olika delar av datan. Till exempel, om indata består av bilder, kan den första delen av nätverket tolka ljusstyrkan eller mörkheten hos pixlar medan de senare lagren kommer att plocka ut former och kanter som kan användas för att känna igen objekt i bilden.

Olika typer av neurala nätverk

Det finns olika typer av neurala nätverk, och var och en av de olika typerna av neurala nätverk har sina egna fördelar och nackdelar (och därför sina egna användningsfall). Den typ av djupa neurala nätverk som beskrivs ovan är den vanligaste typen av neurala nätverk, och det kallas ofta för ett neuralt nätverk för feedforward.

En variant på neurala nätverk är RNN (Recurrent Neural Network). I fallet med återkommande neurala nätverk används looping-mekanismer för att hålla information från tidigare analystillstånd, vilket innebär att de kan tolka data där ordningen spelar roll. RNN:er är användbara för att härleda mönster från sekventiell/kronologisk data. Återkommande neurala nätverk kan vara antingen enkelriktade eller dubbelriktade. I fallet med ett dubbelriktat neuralt nätverk kan nätverket ta information från senare i sekvensen såväl som tidigare delar av sekvensen. Eftersom det dubbelriktade RNN tar hänsyn till mer information, är det bättre att rita rätt mönster från data.

Ett konvolutionellt neuralt nätverk är en speciell typ av neurala nätverk som är skickliga på att tolka de mönster som finns i bilder. En CNN fungerar genom att föra ett filter över pixlarna i bilden och uppnå en numerisk representation av pixlarna i bilden, som den sedan kan analysera för mönster. En CNN är uppbyggd så att faltningsskikten som drar pixlarna ut ur bilden kommer först, och sedan kommer de tätt sammankopplade frammatningsskikten, de som faktiskt lär sig känna igen objekt, kommer efter detta.

Bloggare och programmerare med specialiteter inom Maskininlärning och Deep Learning ämnen. Daniel hoppas kunna hjälpa andra att använda kraften i AI för socialt bästa.