Neurale netværk. Ca. 20 mio. svin kvalitetsbedømmes hvert år vha. neurale netværk i danske svineslagteriers klassifikationscentre. Slagtekroppene spændes op, og fedt- og kødlag i forskellige områder scannes dernæst vha. flere lysmålesonder. Adskillige neurale netværk benyttes derefter til at bestemme fedtprocent o.a. ud fra måleresultaterne.

.

Neurale netværk er netværk af biologiske nerveceller eller netværk af kunstige nerveceller brugt i kunstig intelligens. Kunstige neurale netværk er inspireret af, men meget forskellige fra, de netværk af nerveceller, som ethvert dyr med nervesystem besidder.

Faktaboks

Etymologi
Ordet neural kommer af latin neuralis 'vedr. nerver, sener'.

Neurale netværk studeres på tværs af en række fagområder: kunstig intelligens, computerhardware og -software, adaptive systemer, signalprocessering, matematisk modellering, statistik, fysik, medicin, psykologi og kognitionsforskning. De har mange teknologiske anvendelser i maskiner, hvor kunstig intelligens og indlæringsevne er af betydning.

Området betegnes samlet konnektionisme, hvilket refererer til de mange forbindelser mellem de enkelte beregningsenheder i disse netværk, som er afgørende for deres funktion. Filosofisk opfattes konnektionisme ofte som et alternativt ("intuitivt") paradigme til den logiske, digitale implementering af maskinintelligens. Et udtryk, som også er blevet anvendt, er PDP (Parallel Distributed Processing), der henviser til, at beregning i neurale netværk kan foregå parallelt og distribueret i modsætning til den sædvanlige computers serielle og lokaliserede beregning. Se også kognition og kunstig intelligens.

Opbygning og funktion

Et typisk neuralt netværk består af en række simple beregningsenheder, kaldet (kunstige) neuroner. En neuron har i lighed med biologiske nerveceller et antal input-kanaler (svarende til nervecellers dendritter) og en enkelt output-kanal (svarende til en nervecelles axon). Disse kanaler bærer signaler mellem neuronerne og forbindes med hinanden i kontaktpunkter, der kaldes (kunstige) synapser.

I hver synapse kan signalstyrken reguleres ved hjælp af en vægt, der multipliceres på og derved modificerer de signaler, der passerer igennem. Vægtene kan være både positive, stimulerende, og negative, hæmmende. Hvis en vægt er nul, går der intet signal igennem, og forbindelsen kan helt udelades. Hver neuron sammenligner den vægtede sum af alle indkommende signaler med en tærskelværdi, og hvis den overskrides, udsender neuronen selv et signal til de neuroner, den er forbundet med.

Et neuralt netværk omdanner, som ethvert andet informationsbehandlende system, input-signaler til output-signaler. Eksterne signaler påtrykkes input-neuroner i netværket, hvorefter det modificerer signalerne, der til sidst aflæses på output-neuroner. Signalerne kan repræsentere alle former for data, fx styringssignaler til maskiner, tidsserier af observationer, scannerbilleder m.m.

Træning og test

For at opnå et bestemt output som svar på et givet input er det nødvendigt at vælge vægte og tærskler rigtigt. Hertil benyttes en iterativ procedure, kaldet træning, hvor fejlen eller afvigelsen mellem et ønsket output og det output, netværket faktisk producerer, benyttes til at justere vægte og tærskler (back-propagation of errors). Den gennemsnitlige fejl på et stort antal træningseksempler falder støt, efterhånden som træningen skrider frem, og kan blive nul, hvis netværket er stort nok. Træning svarer til optimering i statistiske modeller og formuleres ofte ved hjælp af en likelihoodfunktion og regularisering, der bruges til at modvirke memorisering af træningseksemplerne.

Netværkets generalisationsevne bestemmes ved en test, hvor den gennemsnitlige fejl beregnes på et antal eksempler, som ikke er benyttet til træningen. Hvis fejlen på testsættet er meget højere end på træningssættet siges netværket at være overtrænet (overfitted).

Historie

Neurale netværk blev indført af amerikanerne Warren S. McCulloch (1898-1972) og Walter Pitts (1923-1969) i 1943. De viste, at deres netværk var universelle logiske beregnere, dvs. at de i princippet kunne implementere en vilkårlig logisk funktion. Siden har de gennemgået bølger af interesse.

Efter 1960 var det især den amerikanske psykolog Frank Rosenblatt, som dominerede udviklingen med sin perceptron, et lagdelt netværk, hvori information kun strømmede fremad (feed-forward). Udviklingen gik næsten i stå i 20 år, efter at Minsky og Papert i 1969 viste, at der var logiske funktioner, fx eksklusivt eller ("enten a eller b, men ikke begge"), som Rosenblatts simple perceptroner ikke kunne bringes til at udføre.

Interessen for kunstige neurale netværk genopstod i 1982 med en artikel af John Hopfield og for perceptroner især efter 1986 med genopdagelsen af back-propagation-algoritmen (beskrevet ovenfor), som faktisk var opdaget allerede i 1974, men ganske overset. Denne algoritme tillod træning af mere komplicerede perceptroner, som ikke var berørt af Minskys og Paperts kritik.

Forskningen accelererede stærkt i årene efter 1986, specielt fordi moderne computere tillod simulering af netværk, der var store nok til at udføre realistiske opgaver. Fra midten af 1990’erne stagnerede interessen og andre metoder såsom support vector machines blev mere bredt foretrukket.

Nyere histore

Den nuværende intensive interesse startede i 2011 da et neuralt netværk vandt billedklassifikationskonkurrencen ImageNet. Det blev muliggjort af brug af et foldning-basereret neuralt netværk (convolutional neural network) implementeret i computerens grafikprocessor (graphical processing unit, GPU) i stedet for i en CPU processor. Forskningsområdet kaldes ofte dyb læring (deep learning) fordi det har vist sig at netværk med mange lag af neuroner ofte har den bedste generalisationsevne.

Meget af aktiviteten i dag er:

  • Anvendelser på en lang række områder. Især for naturlig data som billeder, tekst, tale, biologisk sekvenser og molekyler har vist sig som anvendelser hvor neurale netværk virker godt. Såkaldt struktureret data, hvor man samler forskellige typer variable repræsenteret i tabelform, har ikke på samme måde vist sig velegnet for neurale netværk.

  • Udvikling af forbedrede netværksarkitekturer.

  • Forbedring af træningsalgoritmerne så træningen går hurtigere, kan træne dybere netværk og har en god generalisationsevne.

  • Udvikling af dedikeret software til at gøre det lettere og hurtigere at træne. Implementeringen af back-propagation og andre elementer er automatiseret og softwarebiblioteker som PyTorch bliver løbende opdateret.

  • Udvikling af hardware bliver udført af traditionelle hardwarefabrikanter som NVIDIA, teknologivirksomheder som Google og Apple, startup-virksomheder som Graphcore og industrivirksomheder til brug for dedikerede funktioner såsom Tesla til selvkørende biler.

Anvendelser

Indtil dyb læring-revolutionen var computerkraft en væsentlig begrænsning for anvendelser. Neurale netværk blev primært brugt indenfor områder hvor antallet af variable var lavt, træningssættet begrænset til nogle tusinder eksempler og hvor man kunne forbedre generalisationsevnen i forhold til lineær regressionsanalyse.

Eksempler på anvendelser i forskellige sektorer:

  • Industriel. Fx danske slagteriers klassifikation af slagtegrise, proceskontrol i metalfremstilling, kvalitetskontrol gennem forskellige typer billedscanning, opsporing af svindel med kreditkort og meget andet.

  • Medicinsk. Bl.a. til ikke-lineær statistisk analyse som diagnostisk støtte, fx i klassifikation af prøver for livmoderhalskræft.

  • Finansiel. Bl.a. forudsigelse af fremtidig udvikling i børs- og valutakurser

Se artiklen om kunstig intelligens for anvendelser af neurale netværk efter 2011.

Netværksarkitekturer

Der findes forskellige neuralt netværksarkitekturer dedikeret til forskellige anvendelsesområder.

Fælles for alle arkitekturer er de kunstige neuroner (enheder) organiseret i lag. Et neuralt netværk har oftest tre typer lag: input med forklarende variable, skjulte og output indeholdende netværkets output som skal sammenlignes med de ønskede output (responsvariablene).

Signalet fra en skjult enhed bliver modificeret af en ikke-lineær funktion (en såkaldt aktiveringsfunktion) før det bliver brugt som input til det næste lag. Ikke-lineariteten er nødvendig for at netværket skal kunne beskrive ikke-lineære sammenhænge mellem input og output. Aktiveringsfunktionen skal desuden være (stykvis) differentiabel fordi back-propagation-algoritmen kræver at træningsfejlen er differentiabel. Skridtfunktionen brugt i matematiske modeller for neuroner (beskrevet ovenfor) kan derfor ikke bruges i kunstige neural netværk trænet med back-propagation.

De meste brugte neuralt netværksarkitekturer er:

  • Fuldt-forbundne (dense, multi-layer perceptron) består af lag af neuroner hvor alle neuroner i et lag forbundet med all neuroner i de næste lag.

  • Foldning-baseret (convolutional) er inspireret af organiseringen af visuel cortex hvor det er vist at visse neuroner er sensitive overfor aktivitet i bestemte dele af synsfeltet. Foldnings-baserede netværk er specielt velegnede til billed-, tidsserie- og sekvens-analyse hvor foldningsoperationen hjælper netværket til at lære mønstre der optræder i forskellige områder i inputtet.

  • Rekursivt (recurrent) er en udvidelse af det fuldt-forbundne netværk til at også have forbindelser over tid. Bruges til tidsserier og sekvenser.

  • Graf bruges for data som naturligt repræsenteres som en graf hvor punkter og kanter har tilknyttede variable som man kan bruge til at forudsige egenskaber ved data. Fx kan grafen repræsentere et molekyle med punkter for hvert atom repræsenteret ved en type og en koordinat-punkt og kanter kan repræsentere eventuelle kemiske bindinger. Graf neural netværket kan så trænes til at forudsige fx molekylets grundtilstandsenergi.

  • Transformeren er en nyere type arkitektur introduceret 2018 til analyse af tekstsekvenser, men er efterfølgende blevet den foretrukne arkitektur til mange anvendelser. Transformeren bruger såkaldt selvopmærksomhed (self-attention) hvor hvert element i sekvensen, ligesom for det rekursive neural netværk, har en vis antal neuroner der transformeres til en vektor-repræsentation. De bliver brugt til at korrelere hver element i sekvensen. Korrelationen og vektor-repræsentationerne bliver derefter brugt til at beregne alle neuroners aktivering. Det har vist sig at denne arkitektur er særligt velegnet til at finde mønstre i lange sekvenser. Det har muliggjort fx GPT sprogmodellen.

Netværksarkitekturer kan også laves ved at kombinere lag af de forskellige typer.

Hardware

I dag udføres neurale netværk beregninger normalt på CPU- og GPU-baseret hardware der baserer sig på traditionelle halvlederchip. For at muliggøre yderligere skalering forskes der også i mere energieffektive implementeringer, fx ved brug af FPGA (field-programmable gate array) chip.

I 1990’erne og frem blev det forsøgt at implementere signaler, vægte og tærskler i elektronik og derved skabe en egentlig neurocomputer, men det viste sig ikke profitabelt, fordi den digitale computers faldende pris og stærkt voksende hastighed i alle tilfælde overhalede den specialiserede elektronik.

I dag er udvikling af dedikerede AI-chip, videreudviklere GPU-chip, et meget stort marked på omtrent samme størrelse som markedet for computergrafik GPU'er.

Kommentarer (2)

skrev Jens Ole Stilling

Neurale net bruges også til løsning af differential ligninger, både hvor ligningen er kendt og hvor kun data er kendt. Det har skabt vigtige fremskridt som fx løsninger af Navier–Stokes ligningerne, som ikke tidligere har kunnet løses hurtigt og detaljeret.

Det bør vel også nævnes at anvendelse af GPU ( Grafiske processorer) var et vendepunkt i udviklingen af regnekraften mht hastighed og pris.

svarede Marie Bilde

Kære Jens Ole Stilling.
Mange tak for din kommentar med relevante forslag til opdatering. Vi har endnu ikke en fagansvarlig for kategorien "Software, programmering, internet og webkommunikation", så jeg lader din kommentar til artiklen stå, så en kommende fagansvarlig kan tage stilling til den.
Venlig hilsen
Marie Bilde, redaktør.

Kommentarer til artiklen bliver synlige for alle. Undlad at skrive følsomme oplysninger, for eksempel sundhedsoplysninger. Fagansvarlig eller redaktør svarer, når de kan.

Du skal være logget ind for at kommentere.

eller registrer dig