Root NationArtiklarTeknologierVad är neurala nätverk och hur fungerar de?

Vad är neurala nätverk och hur fungerar de?

-

Idag ska vi försöka ta reda på vad neurala nätverk är, hur de fungerar och vad deras roll är för att skapa artificiell intelligens.

Neurala nätverk. Vi hör den här frasen nästan överallt. Det kommer till den punkten att du kommer att hitta neurala nätverk även i kylskåp (detta är inte ett skämt). Neurala nätverk används i stor utsträckning av maskininlärningsalgoritmer, som idag inte bara finns i datorer och smartphones, utan också i många andra elektroniska enheter, till exempel i hushållsapparater. Och har du någonsin undrat vad dessa neurala nätverk är?

Oroa dig inte, det här kommer inte att bli en akademisk föreläsning. Det finns många publikationer, inklusive på det ukrainska språket, som mycket professionellt och tillförlitligt förklarar denna fråga inom området för exakta vetenskaper. Sådana publikationer är mer än ett dussin år gamla. Hur är det möjligt att dessa gamla publikationer fortfarande är relevanta? Faktum är att grunderna för neurala nätverk inte har förändrats, och själva konceptet - en matematisk modell av en artificiell neuron - skapades under andra världskriget.

Vad är neurala nätverk och hur fungerar de?

Samma sak med Internet, dagens Internet är ojämförligt mer avancerat än när det första mejlet skickades. Grunden till Internet, de grundläggande protokollen, fanns från början av dess skapelse. Varje komplext koncept bygger på grunden av gamla strukturer. Det är samma sak med vår hjärna, den yngsta hjärnbarken kan inte fungera utan det äldsta evolutionära elementet: hjärnstammen, som har funnits i våra huvuden sedan tider mycket äldre än existensen av vår art på denna planet.

Förvirrade jag dig lite? Så låt oss förstå mer i detalj.

Också intressant: ChatGPT: Enkla instruktioner för användning

Vad är neurala nätverk?

Ett nätverk är en samling av vissa element. Detta är den enklaste metoden inom matematik, fysik eller teknik. Om ett datornätverk är en uppsättning sammankopplade datorer, så är ett neuralt nätverk uppenbarligen en uppsättning neuroner.

neurala nätverk

Dessa element är dock inte ens jämförbara i komplexitet med nervcellerna i vår hjärna och nervsystem, men vid en viss abstraktionsnivå är vissa egenskaper hos en artificiell neuron och en biologisk neuron vanliga. Men det är nödvändigt att komma ihåg att en artificiell neuron är ett mycket enklare koncept än dess biologiska motsvarighet, som vi fortfarande inte vet allt om.

- Annons -

Läs också: 7 coolaste användningarna av ChatGPT

Först fanns det en artificiell neuron

Den första matematiska modellen av en artificiell neuron utvecklades 1943 (ja, det är inte ett misstag, under andra världskriget) av två amerikanska forskare, Warren McCulloch och Walter Pitts. De lyckades göra detta utifrån ett tvärvetenskapligt tillvägagångssätt som kombinerade grundläggande kunskaper om hjärnans fysiologi (minns tiden då denna modell skapades), matematik och den då unga IT-metoden (de använde bland annat Alan Turings teori om beräkningsbarhet ). McCulloch-Pitts artificiella neuronmodell är en mycket enkel modell, den har många ingångar, där ingångsinformationen passerar genom vikter (parametrar), vars värden bestämmer neurons beteende. Det resulterande resultatet skickas till en enda utgång (se diagram över McCulloch-Pitts neuron).

neurala nätverk
Schema för en artificiell neuron 1. Neuroner vars utsignaler matas in till ingången till en given neuron 2. Adderare av insignaler 3. Överföringsfunktionskalkylator 4. Neuroner till vars ingångar signalen från en given neuron appliceras 5. ωi — vikter av ingångssignaler

En sådan trädliknande struktur är förknippad med en biologisk neuron, för när vi tänker på ritningar som visar biologiska nervceller är det dendriternas karakteristiska trädliknande struktur som kommer att tänka på. Man bör dock inte ge efter för illusionen att en artificiell neuron åtminstone är något nära en riktig nervcell. Dessa två forskare, författarna till den första artificiella neuronen, lyckades visa att vilken beräkningsbar funktion som helst kan beräknas med hjälp av ett nätverk av sammankopplade neuroner. Men låt oss komma ihåg att dessa första koncept skapades endast som idéer som bara existerade "på papper" och inte hade en riktig tolkning i form av driftutrustning.

Läs också: Om kvantdatorer i enkla ord

Från modellen till innovativa implementeringar

McCulloch och Pitts utvecklade en teoretisk modell, men skapandet av det första riktiga neurala nätverket fick vänta mer än tio år. Dess skapare anses vara en annan pionjär inom forskning om artificiell intelligens, Frank Rosenblatt, som 1957 skapade Mark I Perceptron-nätverket, och du själv visade att tack vare denna struktur fick maskinen en förmåga som tidigare bara var inneboende för djur och människor: den kan lära. Men nu vet vi att det faktiskt fanns andra forskare som kom på idén att en maskin kunde lära sig, även före Rosenblatt.

Mark I Perceptron

Många forskare och pionjärer inom datavetenskap på 1950-talet kom på idén om hur man får en maskin att göra vad den inte kunde göra på egen hand. Till exempel utvecklade Arthur Samuel ett program som spelade dam med en människa, Allen Newell och Herbert Simon skapade ett program som oberoende kunde bevisa matematiska satser. Redan före skapandet av Rosenblatts första neurala nätverk byggde två andra forskningspionjärer inom artificiell intelligens, Marvin Minsky och Dean Edmonds, 1952, det vill säga redan innan Rosenblatts perceptron uppträdde, en maskin som heter SNARC (Stochastic Neural). Analog Reinforcement Calculator) - förstärkning av stokastisk neural analog räknare, av många anses vara den första stokastiska neurala nätverksdatorn. Det bör noteras att SNARC inte hade något att göra med moderna datorer.

SNARC

Den kraftfulla maskinen, som använder mer än 3000 24 elektroniska rör och en extra autopilotmekanism från en B-40 bombplan, kunde simulera driften av XNUMX neuroner, vilket visade sig vara tillräckligt för att matematiskt simulera en råttas sökande efter en utgång från en labyrint . Naturligtvis fanns det ingen råtta, det var bara en process av avdrag och att hitta den optimala lösningen. Denna bil var en del av Marvin Minskys doktorsexamen.

adaline nätverk

Ett annat intressant projekt inom området neurala nätverk var ADALINE-nätverket, utvecklat 1960 av Bernard Withrow. Därför kan man ställa frågan: eftersom forskare för mer än ett halvt sekel sedan kände till de teoretiska grunderna för neurala nätverk och till och med skapade de första fungerande implementeringarna av sådana beräkningsramverk, varför tog det så lång tid, fram till 21-talet, att skapa riktiga lösningar baserade på neurala nätverk? Svaret är ett: otillräcklig datorkraft, men det var inte det enda hindret.

neurala nätverk

Även om många AI-pionjärer på 1950- och 1960-talen fascinerades av möjligheterna med neurala nätverk, och några av dem förutspådde att en maskinmotsvarighet till den mänskliga hjärnan bara var tio år bort. Det här är till och med roligt att läsa idag, för vi har fortfarande inte ens kommit i närheten av att skapa en maskinmotsvarighet till den mänskliga hjärnan, och vi är fortfarande långt ifrån att lösa denna uppgift. Det stod snabbt klart att logiken i de första neurala nätverken var både fascinerande och begränsad. De första implementeringarna av AI med artificiella neuroner och maskininlärningsalgoritmer kunde lösa ett visst snävt antal uppgifter.

Men när det gällde bredare utrymmen och att lösa något riktigt seriöst, som mönster- och bildigenkänning, simultanöversättning, tal- och handskriftsigenkänning etc., det vill säga saker som datorer och AI kan göra redan idag, visade det sig att de första implementeringarna av neurala nätverk kunde helt enkelt inte göra det. Varför är det så? Svaret gavs av forskningen från Marvin Minsky (ja, samma från SNARC) och Seymour Papert, som 1969 bevisade perceptronlogikens begränsningar och visade att det inte fungerar att öka kapaciteten hos enkla neurala nätverk enbart på grund av skalning. Det fanns ytterligare en, men mycket viktig, barriär – den datorkraft som fanns tillgänglig vid den tiden var för liten för att neurala nätverk skulle kunna användas som avsett.

Också intressant:

- Annons -

Renässansen av neurala nätverk

På 1970- och 1980-talen var neurala nätverk praktiskt taget bortglömda. Det var inte förrän i slutet av förra seklet som tillgänglig datorkraft blev så stor att människor började återvända till den och utvecklade sina förmågor inom detta område. Det var då som nya funktioner och algoritmer dök upp, som kunde övervinna begränsningarna hos de första enklaste neurala nätverken. Det var då som idén om djup maskininlärning av flerskiktiga neurala nätverk uppstod. Vad händer egentligen med dessa lager? Idag är nästan alla användbara neurala nätverk som verkar i vår miljö flerskiktiga. Vi har ett indatalager vars uppgift är att ta emot indata och parametrar (vikter). Antalet av dessa parametrar varierar beroende på komplexiteten hos beräkningsproblemet som ska lösas av nätverket.

neurala nätverk

Dessutom har vi så kallade "dolda lager" - det är här all "magi" som är förknippad med djup maskininlärning sker. Det är de dolda lagren som är ansvariga för detta neurala nätverks förmåga att lära sig och utföra de nödvändiga beräkningarna. Slutligen är det sista elementet utdatalagret, det vill säga lagret i det neurala nätverket som ger det önskade resultatet, i detta fall: igenkänd handstil, ansikte, röst, bildad bild baserad på textbeskrivningen, resultatet av tomografisk analys av den diagnostiska bilden och mycket mer.

Läs också: Jag testade och intervjuade Bings chatbot

Hur lär sig neurala nätverk?

Som vi redan vet bearbetar enskilda neuroner i neurala nätverk information med hjälp av parametrar (vikter), som tilldelas individuella värden och anslutningar. Dessa vikter förändras under inlärningsprocessen, vilket gör att du kan justera strukturen på detta nätverk på ett sådant sätt att det genererar det önskade resultatet. Hur exakt lär sig nätverket? Det är uppenbart, det måste tränas hela tiden. Bli inte förvånad över detta talesätt. Vi lär oss också, och den här processen är inte kaotisk, utan ordnad, låt oss säga. Vi kallar det utbildning. Hur som helst kan neurala nätverk också tränas, och detta görs vanligtvis med hjälp av en lämpligt utvald uppsättning ingångar, som på något sätt förbereder nätverket för de uppgifter som det kommer att utföra i framtiden. Och allt detta upprepas steg för steg, ibland liknar inlärningsprocessen till viss del själva träningsprocessen.

Till exempel, om uppgiften för detta neurala nätverk är att känna igen ansikten, är det förtränat på ett stort antal bilder som innehåller ansikten. I inlärningsprocessen ändras vikterna och parametrarna för de dolda lagren. Experter använder uttrycket "minimering av kostnadsfunktionen" här. En kostnadsfunktion är en kvantitet som talar om för oss hur mycket ett givet neuralt nätverk gör misstag. Ju mer vi kan minimera kostnadsfunktionen som ett resultat av träning, desto bättre kommer detta neurala nätverk att prestera i den verkliga världen. Den viktigaste egenskapen som skiljer alla neurala nätverk från en uppgift som programmerats med en klassisk algoritm är att, i fallet med klassiska algoritmer, måste programmeraren steg för steg utforma vilka åtgärder programmet ska utföra. När det gäller neurala nätverk kan nätverket självt lära sig att utföra uppgifter korrekt på egen hand. Och ingen vet exakt hur ett komplext neuralt nätverk utför sina beräkningar.

neurala nätverk

Idag används neurala nätverk flitigt och, kanske överraskande, väldigt ofta utan att förstå hur beräkningsprocessen i ett givet nätverk faktiskt fungerar. Det finns inget behov av detta. Programmerare använder färdiga maskininlärda neurala nätverk som är förberedda för indata av en viss typ, bearbetar dem på ett sätt som bara är känt för dem och ger det önskade resultatet. En programmerare behöver inte veta hur slutledningsprocessen fungerar i ett neuralt nätverk. Det vill säga, en person förblir avskild från en stor volym av beräkningar, en metod för att erhålla information och dess bearbetning av neurala nätverk. Därifrån vissa rädslor för mänskligheten angående modeller för artificiell intelligens. Vi är helt enkelt rädda för att det neurala nätverket en dag kommer att sätta sig en viss uppgift och självständigt, utan hjälp av en person, hitta sätt att lösa det. Detta oroar mänskligheten, orsakar rädsla och misstro vid användningen av maskininlärningsalgoritmer.

chatt gpt

Detta utilitaristiska tillvägagångssätt är vanligt idag. Det är samma sak med oss: vi vet hur man tränar någon i en specifik aktivitet, och vi vet att träningsprocessen kommer att vara effektiv om den görs på rätt sätt. En person kommer att förvärva önskade färdigheter. Men förstår vi exakt hur deduktionsprocessen sker i hans hjärna, som orsakade denna effekt? Vi har ingen aning.

Forskarnas uppgift är att studera dessa problem så mycket som möjligt, så att de tjänar och hjälper oss där det behövs, och, viktigast av allt, inte blir ett hot. Som människor är vi rädda för det vi inte vet.

Också intressant: 

Yuri Svitlyk
Yuri Svitlyk
Son till Karpaterna, okänt geni inom matematiken, "advokat"Microsoft, praktisk altruist, vänster-höger
- Annons -
Bli Medlem
Meddela om
gäst

0 Kommentarer
Inbäddade recensioner
Visa alla kommentarer