På denna sida:
Biologiska och artificiella nervnät
På andra sidor: Perceptronen
|
Artificiella Neurala Nätverken kort introduktion |
![]() |
Simulering av biologiska
nervnät är dock bara en aspekt av ANN. En annan, och lika viktig,
användning av artificiella nätverk bygger på idén,
att vi genom att efterlikna hjärnans sätt att arbeta skulle kunna
hitta bättre metoder än de vi redan har för att lösa besvärliga
matematiska och tekniska problem i vetenskap och vardag.
Att programmera maskiner för sådana uppgifter kan vara svårt, eftersom det inte sällan är mycket komplicerat att med tillräcklig precision beskriva de relevanta skillnaderna mellan mönstren som skall separeras. När det gäller att skilja mellan två typer av tillverkade objekt, exempelvis äkta och falska hundrakronorssedlar, går det visserligen att säga exakt hur ett äkta objekt ska se ut. Men om det gäller att separera två typer av "naturgivna" objekt från varann, exempelvis friska lungor från sjuka på röntgenbilder, har vi inte tillgång till någon tillverkarspecifikation. Inte ens den röntgenläkare som i praktiken utan problem kan skilja sjukt från friskt kan i allmänhet tala om exakt hur han/hon egentligen gör denna bedömning - dvs. vad som egentligen skiljer de två klasserna av mönster från varann. Antag då att vi vill programmera en maskin för att separera "friska" från "sjuka" röntgenbilder - är det överhuvudtaget möjligt?
Det i sammanhanget intressanta förhållandet med läkarens praktiska färdighet vad gäller mönsterseparation är att den i stor utsträckning är inlärd genom exempel. Man blir inte en bra röntgenläkare genom att lära sig listor på kriterier för friskt och sjukt (fullständiga sådana finns ju inte) utan genom att utsättas för ett stort antal verkliga exempel, för vilka det finns ett "facit". Nåväl - låt oss då bygga en maskin som vi kan träna genom exempel! Detta är en av grundtankarna bakom användandet av artificiella neurala nätverk för mönsterseparation. Många typer av ANN kan nämligen tränas genom exempel och kan därför utnyttja ett "facit" för att gradvis bli bättre och bättre på en viss mönsterseparationsuppgift. En stor del av den aktuella forskningen vad gäller tillämpningar av ANN, inte minst i medicinsk diagnostik, handlar om sådan intränad mönsterklassifikation. Vi ska nedan i någon mån försöka förklara hur träning av ANN går till. Du kan också gå direkt till sidan om perceptronen, som är ett historiskt viktigt exempel på ett ANN som lär sig "mönsterigenkänning med facit".
Innan vi går vidare med att beskriva andra typer av användningar av ANN vill vi nämna att vissa artificiella nervnät också kan klassificera data utan att ha ett facit. De kan med andra ord hitta en struktur i en klass av datapunkter utan att någon extern information om hur klassen ska delas upp föreligger. Intressant nog visar det sig att dessa nervnät ofta hittar klassifikationer som vi människor i efterhand finner "naturliga". Det är kanske inte så konstigt, eftersom näten delvis konstruerats med verkliga nervsystem som förebild! Ett mycket använt ANN i detta sammanhang är finländaren Kohonens "Self Organising Map" (SOM).
Andra intressanta tillämpningar
hittar man inom processkontroll, robotik och optimering.
I det förstnämnda fallet tränas ett nätverk att själv
ställa in värdena på variabler i en process så att
ett visst, önskat slutresultat av processen uppnås. Grundprincipen
är densamma som vid mönsterklassifikation med facit, men eftersom
en tidsfaktor kommer in är uppgiften i allmänhet mer krävande.
Neurala nätverk har kommit till praktisk användning i flera olika
processindustrier. Man har också stora förhoppningar på
dem när det gäller konstruktion av robotar som lär sig.
Användandet av ANN för att lösa optimeringsproblem får
än så länge mer ses som illustrationer av nätverkens
principiella möjligheter. Vi har valt lösningen
av TSP (Travelling Salesman Problem) med SOM som en sådan illustration.
Observera att terminologin
skiljer sig mycket mellan olika framställningar av teorin för ANN.
Vi ansluter oss här till formalismen hos Faucett.
Ett annat framställningssätt för samma nätverk är dess s.k. Hintondiagram:![]()
En fördel med Hintondiagrammet är att nätverkets vikter visualiseras i matrisform, vilket anknyter till de matematiska redskap man främst använder vid analysen av nätverkens funktion (vektor- och matrisalgebra).![]()
Ett nervnäts egenskaper bestäms i hög grad av vilken aktiveringsfunktion det arbetar med. Här är några viktiga alternativ:![]()
Lineär aktiveringsfunktion (enklaste fallet: aktivitet = nettoinput)
Ger nervnät med ganska ointressanta matematiska egenskaper - men bra för pedagogiska syften! Se sidan om den lineära associatorn.Stegfunktion (allt-eller-intet-aktivitet; nettoinput måste uppnå en viss tröskel för att aktiviteten ska bli skild från noll)Kan sägas modellera den enstaka signalen i ett neuron. Exempel: perceptronen.Sigmoida funktioner
Kan sägas modellera signalfrekvensens olinjära inputberoende i ett neuron. Ett element med sigmoid aktiveringsfunktion är mest känsligt för variationer i signalinflödet när nettoinput är varken för stor eller för liten:
![]()
Vill man ha en överskådlig
och kompakt framställning av hur ett neuralt nätverk behandlar data
från input till output bör man beskriva dess funktioner i termer
av vektorer och matriser.
Hebb-regeln
Dwij = k · xi · xj
k: inlärningskonstant. Vikterna ändras i proportion till pre- och postsynaptisk aktivitet. Troligen den biologiskt mest realistiska av de här beskrivna. Ex: Hopfieldnät.
Delta-regeln (specialfall: perceptronregeln)
Dwij = k · xi · (dj - xj)
dj: önskad output i nod j. Vikterna ändras i proportion till skillnaden mellan önskad och verklig output. Ex: Perceptronen.
Backpropagation-algoritmen
Dwij = -k · dE/dwij
E: globala felet (ett mått på skillnaden mellan önskad och verklig output). Vikterna ändras i proportion till deras bidrag till det globala felet (beräknat som en partiell derivata. Ofta omständligt att beräkna!)
Kohonen-regeln
Dwij = k · (wj - I)
I: inputvektorn. Viktvektorn wj "dras närmare" eller "dras längre bort från" inputvektorn I. Vilka element som berörs, och hur, varierar mellan olika modeller. Ex: SOM, LVQ.
Genetiska algoritmer
Selektion över tiden i en population av nätverk. Nätverken som visar de bästa prestanda "överlever", och deras egenskaper rekombineras.
Exempel på användning
av ANN för realistiska mönsterklassifikationsändamål
kan Du hitta på vår sida om medicinska applikationer. Och
vill Du lära Dig mer, gå till våra externa länkar,
eller kom till våra kurser!
![]() |
![]() |
© 2001 Helge Malmgren. Denna sida senast uppdaterad 26 januari 2003 av Helge Malmgren.