Introduktion til neurale netværk 

af Eskild Rasmussen 

Karakteristika ved neurale netværk 

Det karakteristiske ved neurale netværk i forhold til konventionelle computere og ekspertsystemer, er, at de neurale netværk er i stand til induktion, dvs. at slutte fra det almene til det generelle. Mønstergenkendelse af håndskrevne bogstaver er et eksempel på en induktiv proces. Et neuralt netværk fodres ikke med regler som ved et ekspertsystem, men derimod med eksempler, som det selv udleder regler fra.

Et neuralt netværk kan m.a.o. lære sig nye færdigheder - noget, som den traditionelle computer ikke kan. Indlæring i maskiner kræver ikke nødvendigvis komplekse programmer. I begyndelsen af 60’erne påviste Donald Michie, at han kunne lære maskinen MENACE at spille kryds og bolle. Når først maskinen var udlært, var den uovervindelig og et menneske kunne højst gøre sig håb om at spille uafgjort med den. Pointen er, at MENACE ikke bestod af andet end tændstikæsker og små kugler(!)

Kendetegn ved maskinindlæring 

  • Alle neurale netværk lærer vha. associering mellem input og output.
  • Indlæring sker ved, at ønskværdig opførsel styrkes, og uønskværdig opførsel svækkes. 
  • Indlæringsmetoden er ‘Learning by example’.
  • Information lagres ikke noget bestemt sted, hukommelsen distribueres over hele maskinen.
  • Indlæring opdeles i løsningen af en række meget små delproblemer.

Udvikling af et neuralt netværk 

Udvikling af et neuralt netværk kan opdeles i 3 overordnede faser: Definition, design og træning.

Definitionsfasen er ikke blot definition af problemstillingen. Det vigtigste arbejde i udviklingen af et neuralt netværk er at udvælge, indsamle og oversætte data, så netværket kan bruge dem.

Designfasen går ud på at designe og implementere det neurale netværks arkitektur. Her skal man tage stilling til en række parametre. Da der ofte er tale om eksperimenterende forløb, kan denne fase sjældent adskilles fra træningsfasen.

Fra starten er netværket ‘tomt’, dvs. det kan ingen ting, det skal trænes. Først når træningsfasen er afsluttet kan det neurale netværk bruges til kørsel.

Eksempel på indlæring: Back propagation 

Back propagation er den mest brugte arkitektur i neurale netværk. Neuronerne organiseres i 3 forskellige slags lag: 

1. et inputlag 
2. et eller flere skjulte lag 
3. et outputlag 

Back propagation er ‘learning by example and repetition’.

Figur 1 bruger back propagation som indlæringsmåde. Information præsenteres i form af 1’ere eller 0’er i inputlaget, og svaret kommer ud i outputlaget. For hvert input (f.eks.‘orange’, ‘rund’, ‘stor’, ‘grønsag’) foretager netværket et gæt. I starten, når netværket ikke har lært noget, vil det ofte gætte forkert. Ved hvert forkert gæt vil netværket foretage en lille justering i sine indre vægte, således at sandsynligheden for, at det gætter rigtigt næste gang, øges. Hvis det forkerte gæt var ‘agurk’ og det rigtige svar var ‘græskar’, vil nettet justere sine vægte således, at næste gang det samme input optræder, vil sandsynligheden for ‘agurk’ være svækket, og sandsynligheden for ‘græskar’ være øget.

Anvendelsesområder for neurale netværk 

  • Forudsigelser (et område, som mennesker finder svært og næsten mystisk) er for det neurale netværk ikke andet end mønstergenkendelse. Det kan være vejrprognoser, aktiekursers bevægelse eller udfald af sportsbegivenheder som f.eks. fodboldkampe eller hestevæddeløb. Et menneske kan ikke rumme alle de faktorer, der påvirker f.eks. en aktiekurs, for slet ikke at tale om den afvejning af faktorernes indflydelse, der også skal til. Og det tager for lang tid at udvikle et tilsvarende konventionelt computerprogram vha. statistik & sandsynlighed.
  • Økonomisk beslutningstagen, f.eks. vurdering af ejendomme, låntagere, forsikringskunder samt over for hvilke befolkningsgrupper et reklamefremstød for et givet produkt vil vise sig givtigt. Her udnyttes de neurale netværks evne til at generalisere ud fra store datamængder.
  • Mønstergenkendelse: Militæret bruger neurale netværk til genkendelse af fly eller ubåde. Ubådsgenkendelse sker ud fra lydbilleder. Flygenkendelse sker visuelt på sådanne afstande, hvor mennesker ikke kan være med. Postvæsenet bruger neurale netværk til aflæsning af postnumre på kuverter. Her er det de neurale netværks generaliseringsevne og tolerance over for ‘støj’, man udnytter.
  • Adfærdsmodellering, f. eks talegengivelse (= gengivelse af indholdet af en tekst) eller talegenkendelse (omsætning fra lyd til tekst). Et neuralt netværk kan aflæse en tekst, som det derpå udtaler med en nøjagtighed på 80 - 90 %. Flysimulatorer og autopiloter bygger på neurale netværk, som trænes af ekspertpiloter.
  • Mekanisk kontrol: Med neurale netværk kan robotter lære at se og bevæge sig hensigtsmæssigt, hvilket er meget svært med traditionel computerteknologi, hvor hver eneste eventualitet skal programmeres. Og selv om det lykkes at indkode de mange muligheder, vil alene mængden af programlinier hæmme robottens hastighed. Konkret kan disse færdigheder bruges indenfor rumfart eller i forbindelse med oprydning efter udslip fra atomkraftværker.
  • Medicinsk forskning og diagnose: Novo Nordisk A/S har brugt neurale netværk til afdækning af proteinernes indre struktur - et arbejde, det ville have taget menneskelig arbejdskraft mange, mange år at udføre. Forudsigelser omkring den mystiske vuggedød er et andet område hvor neurale netværk er blevet brugt. Her udnyttes de neurale netværks evne til at
    indfange meget komplekse forhold.
  • Filtrering af f.eks videosignaler med ‘støj’ i form af ‘striber’.
  • Fejlfinding: Bilindustrien bruger i højere og højere grad neurale netværk til at finde fejl i biler - før de sælges(!) 
  • Indenfor rumfart kan man udnytte de neurale netværks evne til yndefuldt forfald. Det er ikke let at reparere en defekt rumsonde, hvis rumsonden befinder sig mellem Mars og Venus!
  • Luftfartsplanlægning: Med neurale netværk kan man løse optimeringsopgaver som f.eks. at finde den korteste rejserute mellem flere byer. Et andet af flyselskabernes problemer, som kan løses v.h.a. neurale netværk, er at udnytte flyafgangene optimalt. Der vil altid være passagérer, der udebliver, således at flyselskabet risikerer at flyve med tomme sæder. Hvis flyselskabet på den anden side forudsætter, at et vist antal passagérer udebliver, risikerer de at sælge det samme sæde til flere kunder på de dage, hvor ingen passagérer udebliver. Løsningen er to samarbejdende neurale netværk: Ét til at forudsige antallet af solgte sæder, og et andet til at forudsige antallet af passagérer, der udebliver.

Neurale netværk og nøjagtighed 

En af svaghederne ved neurale netværk er, at de ikke tager de så tungt med nøjagtighed. Den nøjagtighed, som et neuralt netværk kan præstere, svinger med opgaven. Et neuralt netværk kan ved mønstergenkendelse være 100 % nøjagtigt, mens det ved forudsigelse af resultatet af et hestevæddeløb kan være 75 % nøjagtigt. Når det alligevel kan svare sig at bruge neurale netværk, er det fordi de generelt overgår de menneskelige eksperter.

Fordele og ulemper ved neurale netværk

  • +
  • Neurale netværk er stand til at lære ved at skabe deres egen interne repræsentation af virkeligheden baseret på den rå, ubearbejdede information, de modtager.
  • Neurale netværk er takket være deres fejltolerance gode til associering, klassificering og generalisering.

  • -
  • Neurale netværk duer ikke til deduktion eller logik (som f.eks. a => b => c => d).
  • Neurale netværk kan ikke lære operationer, der involverer mange forskellige trin, som f.eks. at bage en kage.
  • Neurale netværk er ikke i stand til at løse helt elementære matematiske opgave særligt præcist. Hvis man f.eks. spørger et neuralt netværk, hvad 2 + 2 er, kan det svare 3.9 eller 4.2.
  • Neurale netværk kan ikke forklare den undrende omverden, hvordan de når frem til deres konklusioner. På den måde kan man sige, at neurale netværk er intuitive, dvs. de er som de mennesker, der kommer frem med rigtige løsninger på problemer tilsyneladende uden at tænke over det og uden at kunne forklare, hvordan de gør. Der findes dog metoder, hvorpå man kan uddrage et neuralt netværks viden.
  • Indlæring er som regel tidskrævende. De neurale netværk, der har en meget kort indlæringsfase har til gengæld en lang og tidskrævende kørselsfase.

Man vil typisk vælge et neuralt netværk, hvis man ikke kender reglerne, men har mange relevante eksempler til sin rådighed. Det vil lære at kategorisere, efterligne og generalisere ud fra eksemplerne.

Neurale netværk kan klare en vis mængde uklarhed, hvis der blot er tilstrækkeligt mange eksempler. Hvis reglerne skifter over tid, er neurale netværk også sagen.

Man behøver ikke forstå, hvordan det neurale netværk når frem til sine konklusioner, hvis man bare forstår problemet så godt, at man kan skelne mellem hvilke data, der er væsentlige, og hvilke, der ikke er væsentlige.

 

retur til astrology.dk