Neurale netværk - En
introduktion En kort beskrivelse af
neurale netværks karakteristikker, der måske kan
bruges som inspiration til at skabe et netværk, der
kan tyde horoskoper eller lære at forudsige, (Eskild
Rasmussen, 2001)
Neurale netværk - En
introduktion af Eskild Rasmussen
Stjernerne • Oktober 2001
En kort beskrivelse af
karakteristik ved neurale netværk, der måske kunne
bruges som inspiration til at skabe et netværk, der
kan lære at tyde horoskoper.
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.
Kendetegn ved
maskinindlæring
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(!)
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 programlinjer
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 ved hjælp af neurale netværk, er at
udnytte flyafgangene optimalt. Der vil altid
være passagerer, 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 passagerer udebliver, risikerer
de at sælge det samme sæde til flere kunder på
de dage, hvor ingen passagerer 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
passagerer, 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
Fordele
Fordele:
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.
Ulemper
Ulemper:
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.
Eskild
Rasmussen Oktober 2001
This article was first published in
STJERNERNE •
October 2000 Republished 2002 @
www.astrology.dk
•
Layout re-edited 2004 & Xxx August 2011