AI 101

Vad Àr NeuronnÀtverk?

mm

Vad är Artificiella Neuronnätverk (ANN)?

Många av de största framstegen inom AI är drivna av artificiella neuronnätverk. Artificiella Neuronnätverk (ANN) är anslutningar av matematiska funktioner som är sammansatta i en format som inspirerats av de neuronnätverk som finns i den mänskliga hjärnan. Dessa ANN är kapabla att extrahera komplexa mönster från data, applicera dessa mönster på osett data för att klassificera/känna igen data. På detta sätt “lär” maskinen. Detta är en snabb översikt av neuronnätverk, men låt oss ta en närmare titt på neuronnätverk för att bättre förstå vad de är och hur de fungerar.

Multi-layer Perceptron Förklarat

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

Föreställ er en monteringslinje på en fabrik. På denna monteringslinje tar en arbetare emot en artikel, gör några justeringar på den och sedan skickar den vidare till nästa arbetare i linjen som gör samma sak. Detta fortsätter tills den sista arbetaren i linjen sätter den sista handen på artikeln och lägger den på en transportband som tar den ut ur fabriken. I denna analogi finns det flera “lager” i monteringslinjen, och produkterna flyttas mellan lagren allteftersom de flyttas från arbetare till arbetare. Monteringslinjen har också en ingångspunkt och en utgångspunkt.

En Multi-Layer Perceptron kan ses som en mycket enkel produktionslinje, bestående av tre lager totalt: ett ingångslager, ett dolt lager och ett utgångslager. Ingångslagret är där data matas in i MLP, och i det dolda lagret hanteras data av något antal “arbetare” innan den skickas vidare till utgångslagret som ger produkten till omvärlden. I fallet med en MLP kallas dessa arbetare “neuron” (eller ibland noder) och när de hanterar data manipulerar de den genom en serie matematiska funktioner.

Inom nätverket finns det strukturer som ansluter nod till nod som kallas “vikter“. Vikter är antaganden om hur datapunkter är relaterade allteftersom de flyttas genom nätverket. Vikterna passerar genom en “aktiveringsfunktion” när de lämnar den aktuella noden, som är en typ av matematisk funktion som transformerar data. De transformerar linjär data till icke-linjära representationer, vilket möjliggör för nätverket att analysera komplexa mönster.

Analogen till den mänskliga hjärnan som antyds av “artificiellt neuronnätverk” kommer från det faktum att neuronerna som utgör den mänskliga hjärnan är sammankopplade på ett liknande sätt som noder i ett ANN är länkade.

Multi-layer perceptron har funnits sedan 1940-talet, men det fanns ett antal begränsningar som förhindrade dem från att vara särskilt användbara. Men under de senaste årtiondena skapades en teknik som kallas “backpropagation” som möjliggjorde för nätverk att justera vikterna på neuronerna och därmed lära sig mycket mer effektivt. Backpropagation ändrar vikterna i neuronnätverket, vilket möjliggör för nätverket att bättre fånga de faktiska mönstren i data.

Djupa Neuronnätverk

Djupa neuronnä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 ingångslager, ett dolt lager och ett utgångslager, finns det många dolda lager i mitten och utgångarna från ett dolt lager blir ingångarna för nästa dolt lager tills data har flyttats genom hela nätverket och returnerats.

De många dolda lagren i ett djupt neuronnätverk kan tolka mer komplexa mönster än den traditionella multilayer-perceptron. Olika lager i det djupa neuronnätverket lär sig mönstren i olika delar av data. Till exempel, om indata består av bilder, kan den första delen av nätverket tolka ljusstyrka eller mörker i pixlarna medan de senare lagren plockar ut former och kanter som kan användas för att känna igen objekt i bilden.

Olika Typer Av Neuronnätverk

Det finns olika typer av neuronnätverk, och var och en av de olika neuronnätverkstyperna har sina egna fördelar och nackdelar (och därmed sina egna användningsområden). Den typ av djupt neuronnätverk som beskrivs ovan är den vanligaste typen av neuronnätverk, och den kallas ofta för ett feedforward neuronnätverk.

En variation av neuronnätverk är det Rekurrenta Neuronnätverket (RNN). I fallet med Rekurrenta Neuronnätverk används loop-mekanismer för att hålla information från tidigare tillstånd av analys, vilket innebär att de kan tolka data där ordningen är viktig. RNN är användbara för att härleda mönster från sekventiell/kronologisk data. Rekurrenta Neuronnätverk kan vara antingen unidirektionella eller bidirektionella. I fallet med ett bidirektionellt neuronnätverk kan nätverket ta information från senare delar av sekvensen samt tidigare delar av sekvensen. Eftersom det bidirektionella RNN tar mer information i beaktande, är det bättre på att dra rätt mönster från data.

Ett Konvolutionsneuronnätverk är en specialtyp av neuronnätverk som är skickligt på att tolka mönstren som finns inom bilder. Ett CNN fungerar genom att passera en filter över pixlarna i bilden och uppnå en numerisk representation av pixlarna inom bilden, som den sedan kan analysera för mönster. Ett CNN är strukturerat så att de konvolutionslager som drar ut pixlarna ur bilden kommer först, och sedan kommer de tätt sammankopplade feedforward-lagren, som faktiskt lär sig att känna igen objekt, kommer efter detta.

Blogger och programmerare med specialomrÄden inom Machine Learning och Deep Learning Àmnen. Daniel hoppas pÄ att hjÀlpa andra att anvÀnda kraften frÄn AI för socialt vÀl.