1. Johdanto

Hahmontunnistus voidaan laajasti määritellä seuraavasti: se on joukko menetelmiä, joilla luonnollisista kohteista kuten kuvista, puheesta tms. tunnistetaan joitakin mielekkäitä olioluokkia./4/. Digitaalinen hahmontunnistus voidaan määritellä seuraavasti: Digitaalinen hahmontunnistus on fyysisistä prosesseista tai kohteista tehtyjen mittausten kuvaus ja analysointi. Tällöin hahmo voidaan määritellä todellisten kohteitten ideaaliseksi malliksi. Digitaalisen hahmontunnistuksen keskeinen ajatus on käsitteiden abstraktointi havaitsemalIa monia 'epätäydellisiä' näytteitä maailmasta. Tästä prosessista voidaan havaita seuraavat vaiheet: mittaukset, esikäsittely, piirteiden valinta, esitysmuodon valinta, tunnistus. Hahmontunnistus perustuu hahmojen samanlaisuuteen; esim. jos hahmo x on samanlainen kuin hahmot jotka kuuluvat luokkaan W kuulostaisi järkevältä luokitella se samaan luokkaan. Jotta tähän pystyttäisiin täytyy määritellä sopivat samankaltaisuusmitat esim. euklidinen etäisyys. Tunnistustehtävässä muodostetut hahmot jaotellaan joko tunnettuihin (ohjatut menetelmät) tai tuntemattomiin (ohjaamattomat menetelmät) luokkiin./1/. Voidaan määritellä kolme erillaista hahmontunnistuksen päälähestysmistapaa: 1) tilastollinen hahmontunnistus, 2) syntaktinen hahmontunnistus ja 3) neuroverkkoihin pohjautuva hahmontunnistus. Tilastollisen (päätösteoreettisen) hahmontunnistuksen menetelmät perustuvat estimointiin ja edelleen tilastolliseen päättelyyn. Syntaktinen hahmontunnistus perustuu piirteiden keskinäisiin suhteisiin ja yhteyksiin ja niistä saatavaan rakenteelliseen tietoon. Neuroverkot ovat saaneet alkunsa biologisten hermosysteemien tiedon varastointi- ja käsittelymenetelmien tutkimuksesta./2/. Kaukokartoituksen tärkea osa-alue, automaattinen luokittelu on perinteisesti perustunut tilastolliseen hahmontunnistukseen. Neuroverkkojen kehityksen ja lisääntyneen tutkimuksen johdosta kiinnostus niiden käyttöön kaukokartoitusaineiston luokittelussa on kasvanut. Tämä johtunee niiden seuraavista ominaisuuksista: niillä on luontainen ominaisuus yleistää, ne sietävät kohinaa ja puuttuvaa dataa, ne tekevat heikompia tilastollisia oletuksia aineistosta kuin tilastollisen hahmontunnistuksen menetelmät, sekä ne pystyvät muodostamaan erittäin epälineaarisen päätösrajan piirreavaruuteen./9/ Tässä esityksessa luodaan katsaus neuroverkkojen perusteisiin, back-propagation oppimialgoritmin käyttöön monikerrosperceptron-verkon (MLP) opettamisessa sekä tutustutaan MLP-verkolla toteutetun multispektraalisen aineiston luokitteluun.

2. Neuroverkot

Neuroverkko on yhdensuuntainen, jakautuneen signaalin tai informaation käsittely systeemi, joka koostuu yksinkertaisista käsittelyelementeistä, solmuista. Ne tutkivat useita kilpailevia hypoteeseja samanaikaisesti käyttäen verkkorakenteita. Solmut on yhdistetty yksisuuntaisilla signaalikanavilla eli kytkennöillä. Kytkenntä ovat usein painotettuja, painot saadaan verkon opetuksen aikana. Yksinkertaisin solmu laskee yhteen painotetut syötearvot ja antaa ulostuloksi siirtofunktion määrittämän arvon. Solmun toiminnan määrittävät sisäinen kynnysarvo ja siirtofunktion tyyppi. Kolme yleisinta siirtofunktion tyyppia ovat jyrkkä kynnys, loiva kynnys ja sigmoidi funktio (kuva 1). Yksinkertaisimmalla neuroverkolla on vain yksi solmu ( kuva 1).

Kuva 1

Kuva 1

Solmut voivat suorittaa myös monimutkaisempia matemaattisia operaatiota kuin summaus. Monimutkaisemmat verkot voivat koostua useista solmuista ja solmujen muodostamista kerroksista (Kuva 2). /3/

Kuva 2

Kuva 2

2.1 Neuroverkkojen jako

Neuroverkot voidaan eritellä toisistaan verkon rakenteen, solmun luonteenomaisten piirteitten ja opetussääntöjen mukaan. Nämä säännöt määrittelevät painojen alkuarvot ja painojen käyttäytymisen opetustilanteessa./3/ Neuroverkkomallit voidaan jakaa kolmeen perusluokkaan: 1 ) signaalin muuttavat verkot (esim. monikerros perceptron) 2) kilpailevan oppimisen verkot (esim. itseorganisoituva kartta) 3) dynaamisen tilan muuttavat verkot (esim. Hopfieldin verkko, Boltzman machine). Tämän hetken 'suosituin' verkko on monikerros- perceptron (MLP) back-propagation oppimisalgoritmilla./4/

2.2 Neuroverkkojen opetuksesta

Neuroverkon opetus tapahtuu muuttamalla verkon painokertoimia sen saamien syötteiden pohjalta. Oppiminen voidaan jakaa ohjattuun ja ohjaamattomaan oppimiseen. Ohjatussa oppimisessa verkko opetetaan vastaamaan annettuihin syötteisiin halutuilla vasteilla, eli opetusjoukko koostuu joukosta syötteita ja niitä vastaavia haluttuja vasteita. Tämä tapahtuu käyttämällä erilaisia opetusalgoritmeja, jotka pyrkivät ohjaamaan verkon painoja suuntaan jossa saadaan haluttu tulos. Ohjaamattomassa oppimisessa verkko pyrkii ohjauksen puuttuessa mukautumaan tietyn kriteerin mukaisesti annettuihin syötteisiin, ei siis ole haluttuja vasteita. Oppiminen tapahtuu yleensä iteratiivisesti, eli jokaisen opetuskierroksen jälkeen verkko muuttaa painojaan opetusalgoritmin osoittamaan suuntaan.

2.3 Neuroverkkojen sovellutuksia

Neuroverkot soveltuvat parhaiten aloille joissa monia olettamuksia käsitellään samanaikaisesti sekä vaadittavan laskennan määrä on suuri. Pääsovellusalueita ovat mm. hahmontunnistus, teollisuus diagnostiikat, lääketieteelliset diagnoosit, päätösten tukeminen, erillaiset kontrollointitehtävät, optimointi ja assosiatiivinen muisti. Esimerkkiongelmia joita voidaan ratkaista syöte-vaste suhteilla:

luokittelu: syöte = hahmoja, vaste = luokat
ennustus: syöte = nykyiset ja vanhat arvot, vaste = tulevaisuuden arvoja
kontrollointi: syöte= mittaukset, vaste = kontrollisignaaleja
diagnoosit: syöte = oireet, vaste = päätökset
/4/

3. MLP-verkko ja Back-propagation algoritmi

Yksi tällä hetkellä suosituimmista ohjatun oppimisen verkoista on monikerros-perceptron jonka oppimisalgoritmina käytetään back-propagationia. Luokittelijana sen voidaan todeta olevan lähellä optimaalista jos piilokerros on suuri sekä opetusjoukossa on paljon näytteitä.

3.1 Monikerrosperceptron

Perceptron on yksinkertainen neuroverkko, jota voidaan käyttää hahmontunnistukseen. Se jakaa avaruuden kahteen osaan, eli se pystyy luokittelemaan kaksi lineaarisesti erottuvaa luokkaa. Se pyrkii löytämään painovektorin, jonka määrittämä hypertaso toimii luokkien päätösrajana. Jos luokat eivät ole lineaarisesti erottuvia perceptron ei konvergoi. Painovektori saadaan iteroimalla käyttäen ohjattua opetusta. Joka kerta kun perceptron luokittelee syötteen väärin painovektoria muutetaan niin että se minimoi luokitteluvirheen. Koska perceptron on niin yksinkertainen, sen päätösalueet ovat myös yksinkertaisia. Jotta pystyisimme muodostamaan monimutkaisempia päätösrajoja rakennamme monikerros- perceptronin, joka koostuu useista perceptron-yksiköistä kerroksessa ja monesta eri kerroksesta. (Kuva 3) /3/

Kuva 3

Kuva 3

3.2 Back-propagation oppimisalgoritmi

Back-propagation on iteratiivinen, laskevan gradientin oppirnisalgoritmi, joka on suunniteltu minimoimaan neliöllinen keskivirhe saadun ulostulon ja halutun ulostulon välillä. Käytännössä pyritään löytämään painoarvot jotka minimoivat seuraavan funktion tai ainakin antavat paikallisen minimin.

E=1/2SIGMA(y-d)2

Missä y on saatu vaste ja d on haluttu vaste. Teoreetisen perustan back-propagationille antaa Kolmogorovin teoreema, joka tarjoaa ratkaisun käytettävien solmujen lukumäärälle.

Opetusalgoritmi voidaan esittää yksinkertaistetusti seuraavilla vaiheilla:

1. Annetaan kynnysparametrille ja painoille pienet satunnaislukuarvot
2. Annetaan syötteet ja niitä vastaavat halutut vasteet
3. Lasketaan todelliset ulostulot
4. Korjataan painot
5. Palataan kohtaan 2, jos virhe ei ole halutulla tasolla

Opetuksella saadut virheen voivat helposti ryhtyä kasvamaan verkon testausvaiheessa. Tämä johtuu siitä, että monikerros-perceptronilla luokkarajat voivat muodostua hyvin monimutkaisiksi ja sopivat liian hyvin opetusaineistoon kun taas teoreettisesti optimaalinen raja on yksinkertaisempi. /3/

4. Multispektraalisen aineiston luokittelu

Tavoltteena on siis pystyä määrittämään erilaisia maantäyttöluokkia (vesi, pelto, metsä, kaupunkialue jne) esimerkiksi LANDSAT:in TM-kuvilta. Luokittelija toteutetaan ensin opettamalla se ja sen jälkeen testaamalla se, näin saadaan ksäitys sen suorituskyvystä luokittelutehtävässä. Opetus- ja testausvaiheessa käytetään sisällöltään tunnettuja kuvia. Kutakin maankäyttöluokkaa kohden rajataan kuvalta edustavia opetusalueita, jäljelle jääneitä osia kuvasta käytetään testaukseen. MLP-luokittelijoille tulisi opetusaineisto valita määrittämään tarkasti eri luokkien päätösrajat, niin että ei-tyypilliset esimerkit tulisivat paremmin esille opetuksessa./5/. Yksi suurimpia ongelmia ohjatun opetuksen alueella onkin edustavien opetuskohteiden valinta jokaista luokkaa kohden. Ei parametriset luokittelijat (kuten neuroverkot) tarvitsevat enemman opetusaineistoa kuin parametriset luokittelijat, koska ne eivät tee mitään oletuksia käsiteltävästa aineistosta.

4.1 Aineiston esittäminen verkolle

Käytettäessä neuroverkkoa multispektraalisen aineiston luokittelussa pikselien harmaasävyarvot toimivat syötteinä verkkoon. Koska eri kanavia voidaan käsitellä toisistaan riippumatta, täytyy löytää metodi harmaasväyarvojen esittämiselle verkkoon. Tähnä on käytössä useampia menetelmiä. Voidaan käyttää jokaista kanavaa varten yhtä syötesolmua joihin sitten syötetään kanavat pikseli kerrallaan. Toisaalta voidaan käyttää menetelmää jossa on syötesolmu jokaiselle esitettävälle harmaasävyarvolle. Solmun aktivointi tapahtuu tällöin antamalla solmulle arvo yksi kun kyseinen harmaasävyarvo toimii syötteenä ja muille solmuille annetaan arvo nolla. (Lähdemateriaalista ei löytynyt tarkempaa selostusta edellisen käytännön toteutuksesta). Kummassakin metodissa on hyvät ja huonot puolensa. Jos käytetään yhtä solmua kanavaa kohti tarvitaan vähemman solmuja mutta ei pystytä erottamaan lähellä toisiaan olevia arvoja. Jälkimmäinen menetelmä erottelee helposti toisiaan lähellä olevat arvot, mutta se menettää kyvyn yleistää. Tällöin vaikka esitettävä arvo muuttuisi vain yhdellä, täysin erillainen syöte esitellään verkolle. Voidaan myös muodostaa menetelmä joka on näiden kahden välimuoto. Se pystyy erottamaan samanlaiset arvot ja silti säilyttää kykynsä yleistää./5/

4.2 Verkon rakenne

Siirtofunktiona piilo- ja vastekerroksissa käytetään yleisesti seuraavaa sigmoidista funktiota:

f(net)= 1/(1 +exp(-net))

Missä net on painotettujen syötteiden summa. Syötekerroksen solmujen määrää pohdittiin jo edellä. Vastekerroksen solmujen lukumäärä vastaa haluttujen luokkien lukumäärää. Piilokerrosten lukumäärän ja niissä olevien solmujen lukumäärä ovat sitten hieman vaikeampia valintoja. Eräs ratkaisu näihin valintoihin saadaan Kolmogorovin teoreemasta. Piilokerros antaa mahdollisuuden muodostaa verkon oman sisäisen kuvauksen käytettävästä aineistosta. Tämä sisäinen kuvaus on perusta sille miten päätösrajat muodostetaan. Todetaan yhden piilokerroksen olevan riittävä määrä tämän tyyliseen sovellukseen. Piilokerroksessa olevien solmujen lukumäärä ei saisi olla liian suuri eikä taas toisalta liian pieni. Jos käytetään liian pientä solmumäärää verkko ei mahdollisesti omaa tarvittavaa vapausasteiden määrää edustavan esityksen muodostamiseksi. Oppimisalgoritmi on heuristinen joten se voi opettaa painot väärin joissain kytkennoissä, joten suurempi määrä piilokerroksen solmuja mahdollistaa väärin painotettujen kytkentöjen huomiotta jättämisen. Toisaalta taas suuri määrä piilokerroksen solmuja lisää laskenta-aikaa sekä vähentää verkon kykyä yleistää. Piilokerroksen solmujen määrä kannattaisi alussa pitää suurena, ainakin syöte kerroksen kokoisena. Vaikka laskenta-aika olisi pitempi saadaan oikea tulos, tästä voidaan solmujen määrää lähteä pienentämään./5/ /7/

4.3 Verkon opetus

Verkon opetuksessa syötteinä käytetään siis pikseleitä (niiden harmaasävyarvoja). Halutuille luokille määrätään esitykset vastekerroksessa. Tämä esitys voi yksinkertaisimmillaan olla binaarikoodi. Tällöin haluttua luokkaa vastaava solmu saa arvon yksi ja muut solmut arvon nolla. Verkon painot määrätään alussa pieniksi satunnaisluvuiksi. Syötteille lasketaan verkon antamat vasteet. Painoja korjataan opetusalgoritmin antamaan suuntaan askeleittain. Perusalgoritmissa lasketaan korjaukset painoille jokaisen syötetyn hahmon jälkeen. Tästä on olemassa erillaisia muunnelmia esim. opetus epookeittain, jossa painoja korjataan aina yhden syötetyn luokan jälkeen. Kyseessä on siis iteratiivisesti tapahtuva opetus. Opetus on hyvin aikaa vievaa näissä muunnelmissa, koska kyseessa on hyvin suuret opetusjoukot. Back- propagation voi käydä epastabiiliksi jos oppimisaskeleita pidetaan liian suurina./7/

4.4 Verkon testaus

Verkon testaukseen käytetaan datan toista puoliskoa. Syötteinä käytetään samalla tavalla pikseleitä testijoukosta kuin opetuksessa. Lasketaan vasteet syötteille ja verrataan näitä kuvalta tunnettuina pidettyihin luokkiin. Ideaalisessa tapauksessa tunnetaan testauksessa käytettävä materiaali maastossa pikselin tarkkuudella. Tämä on kuitenkin epäkäytännöllistä, joten tyydytään esimerkiksi alueelta tehtyyn digitaaliseen karttaan. Näistä vertailutuloksista voidaan laskea erillaisia tarkkuusarvoja luokittelijan suorituskyvylle, joista saadaan käsitys verkon toimintakelpoisuudesta kyseiseen luokittelutehtavaan./6/

5. MLP:n vertailuja muihin luokittelumenetelmiin

MLP:n suorituskykyä on aktiivisesti vertailtu perinteisiin luokittelijoihin. Vertailuissa on käytetty oikeita sekä simuloituja kuvia. Näistä vertailuista on ilmennyt että MLP on paljon hitaampi opettaa kuin muut luokittelijat, mutta se suorittaa itse luokittelutehtävän nopeammin kun muut käytetyt luokittelijat. Suurin osa vertailuista on tehty parametristen luokittelijoiden, kuten suurimman uskottavuuden menetelmän, kanssa. Näissä vertailuissa on yleisesti päädytty pitämään neuroverkkoa tarkempana luokittelijana, varsinkin suurivarianssisilla maaluokilla kuten kaupunkialueilla sekä silloin kun opetusaineisto ei ole täysin edustava. Täysin edustavilla opetusaineistoilla luokiteltaessa tilastolliset menetelmät ovat kuitenkin parempia/2/. Vertailtaessa MLP:ta toiseen ei-parametriseen luokittelijaan ,k-nnr luokittelijaan (k-lähimmän naapurin menetelmä), todettiin k-nnr:n antavan hivenen tarkempia tuloksia kuin MLP.

K-nnr:n etuna voidaan pitää vielä sitä ettei sitä tarvitse opettaa. Toisaalta taas MLP oli paljon nopeampi itse luokittelutehtävän suorittamisessa. /10/

6. Johtopäätöksiä

Monista eri testeistä saatujen tulosten perusteella voidaan todeta MLP-verkkojen olevan käypä vaihtoehto perinteisille tilastollisille menetelmille. Neuroverkkojen voidaan todeta soveltuvan hyvin tehtäviin joissa ei ole tietoa luokkien jakaumista. Niiden suurimpana haittana voidaan todeta olevan pitkä opetukseen käytettävä aika. Opetusaikaa voidaan lyhentaa käyttämällä erilaisia modifoituja versioita back-propagationista. Back-propagationiin on myös helposti lisättävissä kanavia ja spatiaalista tai aikaan sidottua tietoa.