tietotekniikan laitos jyväskylän...

27
Automaattinen luokittelu Luokittelumenetelmistä Eräs luokitin tarkemmin: MLP-hermoverkko Kuvien (tai muun datan) luokittelusta Konenäkö -kurssin 2010 materiaalia Paavo Nieminen Tietotekniikan laitos Jyväskylän yliopisto Konenäkö -kurssi, 16.11.2010 Paavo Nieminen Kuvien (tai muun datan) luokittelusta

Upload: others

Post on 17-Dec-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tietotekniikan laitos Jyväskylän yliopistousers.jyu.fi/~nieminen/konenako2010/konenako_luokittelu...päätöspuut Käydään seuraavaksi tarkemmin läpi vaikkapa eräs hermoverkko

Automaattinen luokitteluLuokittelumenetelmistä

Eräs luokitin tarkemmin: MLP-hermoverkko

Kuvien (tai muun datan) luokittelustaKonenäkö -kurssin 2010 materiaalia

Paavo Nieminen

Tietotekniikan laitosJyväskylän yliopisto

Konenäkö -kurssi, 16.11.2010

Paavo Nieminen Kuvien (tai muun datan) luokittelusta

Page 2: Tietotekniikan laitos Jyväskylän yliopistousers.jyu.fi/~nieminen/konenako2010/konenako_luokittelu...päätöspuut Käydään seuraavaksi tarkemmin läpi vaikkapa eräs hermoverkko

Automaattinen luokitteluLuokittelumenetelmistä

Eräs luokitin tarkemmin: MLP-hermoverkko

Sisältö

1 Automaattinen luokitteluTavoite: esimerkiksi kirjaintunnistus (OCR)EsikäsittelyDatan piirteytys, miksi ja miten

2 LuokittelumenetelmistäPerusmenetelmä: lähimmät naapuritTäydellinen luokittelu usein mahdotontaKuinka hyvin luokittuu? – SekaannusmatriisiErilaisia luokittimia

3 Eräs luokitin tarkemmin: MLP-hermoverkkoHermoverkon perusideaKerroksittainen perseptroniverkko (MLP)

Paavo Nieminen Kuvien (tai muun datan) luokittelusta

Page 3: Tietotekniikan laitos Jyväskylän yliopistousers.jyu.fi/~nieminen/konenako2010/konenako_luokittelu...päätöspuut Käydään seuraavaksi tarkemmin läpi vaikkapa eräs hermoverkko

Automaattinen luokitteluLuokittelumenetelmistä

Eräs luokitin tarkemmin: MLP-hermoverkko

Tavoite: esimerkiksi kirjaintunnistus (OCR)EsikäsittelyDatan piirteytys, miksi ja miten

Mitä on luokittelu? Miksi automatisoida se?

Luokittelu on vastauksen hakemista esim. tällaisiin:“Kuulostaako musiikkikappale Abbalta vai Beatlesiltä?”“Onko valokuvassa Ananas, Banaani vai Cayennepippuri?”“Onko kuvassa kirjain A, B, vai C, D, E, F, . . . , Ä, . . . ?”

Luokittelu, eli kategorian tunnistaminen, on ihmiselle useinhelppoa, jos hänellä on riittävästi kokemusta aihepiiristä.

Ihminen on kuitenkin aika hidas luokittelija – jos täytyisitunnistaa 100 000 kuvaa, haluaisimme tietokoneen tekeväntämän automaattisesti, ettei työ kestäisi vuosikausia.

Paavo Nieminen Kuvien (tai muun datan) luokittelusta

Page 4: Tietotekniikan laitos Jyväskylän yliopistousers.jyu.fi/~nieminen/konenako2010/konenako_luokittelu...päätöspuut Käydään seuraavaksi tarkemmin läpi vaikkapa eräs hermoverkko

Automaattinen luokitteluLuokittelumenetelmistä

Eräs luokitin tarkemmin: MLP-hermoverkko

Tavoite: esimerkiksi kirjaintunnistus (OCR)EsikäsittelyDatan piirteytys, miksi ja miten

Esimerkki: kirjaintunnistus

Mikä 80-numeroinen luku tässä on:

(ensimmäiset 80 merkkiä MNIST -datasta http://yann.lecun.com/exdb/mnist/)

Optinen merkintunnistus (optical character recognition, OCR):Sovelluksina kirjojen digitointi, lomakkeiden,postinumeroiden ym. käsittely, . . .Vähentää manuaalista työtä kummasti!Saattaapi olla haasteellista (esim. erilaiset käsialat)

Merkintunnistus on vain yksi esimerkki kuvan luokittelusta . . .

Paavo Nieminen Kuvien (tai muun datan) luokittelusta

Page 5: Tietotekniikan laitos Jyväskylän yliopistousers.jyu.fi/~nieminen/konenako2010/konenako_luokittelu...päätöspuut Käydään seuraavaksi tarkemmin läpi vaikkapa eräs hermoverkko

Automaattinen luokitteluLuokittelumenetelmistä

Eräs luokitin tarkemmin: MLP-hermoverkko

Tavoite: esimerkiksi kirjaintunnistus (OCR)EsikäsittelyDatan piirteytys, miksi ja miten

Muita esimerkkejä: pohjaeläimet, paperin viat

Viimeaikaista tutkimusta Jyväskylän yliopiston tietotekniikanlaitoksella:

Tuotevikojen havainnointi jaluokittelu paperirainastaotetuista kuvista.Pohjaeläimien lajintunnistusbiomonitorointia varten (kuvaoikealla).

Kuvan tai sen osasen tunnistaminen on yleensä osa laajempaajärjestelmää/sovellusta, joka sitä hyödyntää – em. esimerkeissäsiis tekstin digitointi, paperin vika-analyysi, vesistöjen tilankartoitus.

Paavo Nieminen Kuvien (tai muun datan) luokittelusta

Page 6: Tietotekniikan laitos Jyväskylän yliopistousers.jyu.fi/~nieminen/konenako2010/konenako_luokittelu...päätöspuut Käydään seuraavaksi tarkemmin läpi vaikkapa eräs hermoverkko

Automaattinen luokitteluLuokittelumenetelmistä

Eräs luokitin tarkemmin: MLP-hermoverkko

Tavoite: esimerkiksi kirjaintunnistus (OCR)EsikäsittelyDatan piirteytys, miksi ja miten

Tavoite: luokittelija on oppiva järjestelmä

Tavoitteena on tietysti luoda sellainen luokittelija, joka osaaluokitella kuvia, joita se ei ole aikaisemmin nähnyt (mutta jotkaoletettavasti kuuluvat niihin luokkiin, joiden tunnistamiseksi seon tehty, esim. kirjoitettuihin merkkeihin).

Luokittelijalla täytyy olla jonkinlainen “muisti”.Käytetään ns. opetusaineistoa, jonka luokat tunnetaan jajoka syötetään luokittelijalle ennen kuin se päästetäänkentälle töihin.Tarvitaan “oppivia” ja “muistavia” algoritmeja.Algoritmien testaamiseen ja vertailuun käytetääntestiaineistoa, jonka luokittelu myös tunnetaan, mutta jossaei ole samoja yksilöitä kuin opetusaineistossa.

Paavo Nieminen Kuvien (tai muun datan) luokittelusta

Page 7: Tietotekniikan laitos Jyväskylän yliopistousers.jyu.fi/~nieminen/konenako2010/konenako_luokittelu...päätöspuut Käydään seuraavaksi tarkemmin läpi vaikkapa eräs hermoverkko

Automaattinen luokitteluLuokittelumenetelmistä

Eräs luokitin tarkemmin: MLP-hermoverkko

Tavoite: esimerkiksi kirjaintunnistus (OCR)EsikäsittelyDatan piirteytys, miksi ja miten

Esikäsittely

Luokittelu tehdään tyypillisesti erikseen jokaiselleosakuvalle, joka on kiinnostava (esim. yksi merkki tekstinosana, yksi pohjaeläin monista, maamerkki kaupunki- taimaastokuvassa, yhdet kasvot valvontakamerassa . . . ).Kiinnostava(t) osakuva(t) löydetäänesikäsittelymenetelmin, jollaisia kurssilla on tähän astikäsitelty (kynnystykset, reunahaut ym.).Pikselidatan perusteella ei kannata luokitella (liian paljondataa, ei siirto-/rotaatioinvarianssia) vaan on syytä hakeapienempi määrä hyödyllisiä piirteitä (pinta-alat,histogrammit, fourier descriptorit ym.) joiden perusteella eriluokkiin kuuluvat kuvat toivottavasti erottuvat.

Paavo Nieminen Kuvien (tai muun datan) luokittelusta

Page 8: Tietotekniikan laitos Jyväskylän yliopistousers.jyu.fi/~nieminen/konenako2010/konenako_luokittelu...päätöspuut Käydään seuraavaksi tarkemmin läpi vaikkapa eräs hermoverkko

Automaattinen luokitteluLuokittelumenetelmistä

Eräs luokitin tarkemmin: MLP-hermoverkko

Tavoite: esimerkiksi kirjaintunnistus (OCR)EsikäsittelyDatan piirteytys, miksi ja miten

Oppikirjaesimerkki: koripalloilijat ja ratsastajat

“Piirrevektoriin” on kerätty objektia kuvaavia suureita eli “piirteitä”.Henkilöitä kuvaavia piirteitä voisivat olla pituus ja paino. Seuraavassakuvassa (adaptoitu kurssin oppikirjasta) voisi olla koripalloilijoita (X) jaratsastajia (o) merkittynä piirreavaruuteen:

Kahden piirteen avaruus voidaan visualisoida, mutta oikeastiluokitteluun tarvitaan varmasti useampia. Menetelmät ja käsitteetyleistyvät n-ulotteiseen piirreavaruuteen.

Paavo Nieminen Kuvien (tai muun datan) luokittelusta

Page 9: Tietotekniikan laitos Jyväskylän yliopistousers.jyu.fi/~nieminen/konenako2010/konenako_luokittelu...päätöspuut Käydään seuraavaksi tarkemmin läpi vaikkapa eräs hermoverkko

Automaattinen luokitteluLuokittelumenetelmistä

Eräs luokitin tarkemmin: MLP-hermoverkko

Perusmenetelmä: lähimmät naapuritTäydellinen luokittelu usein mahdotontaKuinka hyvin luokittuu? – SekaannusmatriisiErilaisia luokittimia

Perusmenetelmä: lähimmät naapurit

“Muistina”referenssijoukko, jonkaluokitus tunnetaan.Pyritään tunnistamaanuusi, ennennäkemätöndatapiste.Valitaan K kpl lähintänaapuriareferenssijoukosta.Annetaan vastaukseksise luokka, johon kuuluuenemmistö tästälähinaapurustosta.

Paavo Nieminen Kuvien (tai muun datan) luokittelusta

Page 10: Tietotekniikan laitos Jyväskylän yliopistousers.jyu.fi/~nieminen/konenako2010/konenako_luokittelu...päätöspuut Käydään seuraavaksi tarkemmin läpi vaikkapa eräs hermoverkko

Automaattinen luokitteluLuokittelumenetelmistä

Eräs luokitin tarkemmin: MLP-hermoverkko

Perusmenetelmä: lähimmät naapuritTäydellinen luokittelu usein mahdotontaKuinka hyvin luokittuu? – SekaannusmatriisiErilaisia luokittimia

Epätriviaaliin tehtävään ei löydy täydellistä ratkaisua

Reaalimaailmassa meillä on:Häiriöinen ja epätäydellinen syöte (kaikkea kohinaa jaepäfokusta ei saada pois millään)Päällekkäiset jakaumat (vrt. MNIST-kuvat: onko merkki ’3’vai huonosti piirretty ’5’? Onko ’1’, ’7’, vai ’9’?Rotaatioinvariantti piirre merkeille ’6’ ja ’9’ tekisi mitä?)Voi olla täysin mahdotonta saada 100% tarkka luokittelu.Teoreettista maksimia ei edes voida tietää!Lisäksi (ainakin): Virheet mahdollisia opetusaineistonkeräämisessä tai tallennuksessa.

Mitä luokittelumenetelmää kannattaa käyttää, riippuusovelluksesta. Testiaineiston avulla haetaan tunnuslukuja, joillaalgoritmien pätevyyttä voidaan vertailla.

Paavo Nieminen Kuvien (tai muun datan) luokittelusta

Page 11: Tietotekniikan laitos Jyväskylän yliopistousers.jyu.fi/~nieminen/konenako2010/konenako_luokittelu...päätöspuut Käydään seuraavaksi tarkemmin läpi vaikkapa eräs hermoverkko

Automaattinen luokitteluLuokittelumenetelmistä

Eräs luokitin tarkemmin: MLP-hermoverkko

Perusmenetelmä: lähimmät naapuritTäydellinen luokittelu usein mahdotontaKuinka hyvin luokittuu? – SekaannusmatriisiErilaisia luokittimia

Sekaannusmatriisi (confusion matrix)

Binääriluokitin (“onko kuvassa juuri tietty numero”?) antaa vastauksenkyllä (positiivinen) tai ei (negatiivinen). Toinen sana luokittimenarvaukselle on “ennuste”. Se voi sitten olla oikein tai väärin verrattunatestiaineiston tunnettuun totuuteen. Oikein ja väärin menneidentestiennusteiden lukumäärät merkitään nelikenttään nimeltäsekaannusmatriisi (confusion matrix):

totuuspos. neg.

ennuste pos. TP FPennuste neg. FN TN

Luvuille käytetään kuvaavia nimiä: TP=true positive, FP=falsepositive, FN=false negative, TN=true negative.Yleinen “onnistumisprosentti” on (TP+TN) / (TP+FP+FN+TN).“Sensitiivisyys” TP / (TP+FN). “Spesifisyys” TN / (TN+FP).

Paavo Nieminen Kuvien (tai muun datan) luokittelusta

Page 12: Tietotekniikan laitos Jyväskylän yliopistousers.jyu.fi/~nieminen/konenako2010/konenako_luokittelu...päätöspuut Käydään seuraavaksi tarkemmin läpi vaikkapa eräs hermoverkko

Automaattinen luokitteluLuokittelumenetelmistä

Eräs luokitin tarkemmin: MLP-hermoverkko

Perusmenetelmä: lähimmät naapuritTäydellinen luokittelu usein mahdotontaKuinka hyvin luokittuu? – SekaannusmatriisiErilaisia luokittimia

Sekaannusmatriisi monelle luokalle

Monen luokan luokittimelle voidaan tehdä samanlainentaulukko:

totuus’1’ ’2’ ’3’ ’4’

ennuste ’1’ o v v vennuste ’2’ v o v vennuste ’3’ v v o vennuste ’4’ v v v o

Oikeiden ennusteiden määrät voidaan lukea diagonaalilta.Väärin menneistä nähdään mm. mitkä luokat mahdollisestisekoittuvat helpoiten keskenään.

Paavo Nieminen Kuvien (tai muun datan) luokittelusta

Page 13: Tietotekniikan laitos Jyväskylän yliopistousers.jyu.fi/~nieminen/konenako2010/konenako_luokittelu...päätöspuut Käydään seuraavaksi tarkemmin läpi vaikkapa eräs hermoverkko

Automaattinen luokitteluLuokittelumenetelmistä

Eräs luokitin tarkemmin: MLP-hermoverkko

Perusmenetelmä: lähimmät naapuritTäydellinen luokittelu usein mahdotontaKuinka hyvin luokittuu? – SekaannusmatriisiErilaisia luokittimia

Erilaisia luokittimia

Luokitusmenetelmiä on monia, mm.:lähin naapurustohermoverkottukivektorikoneetpäätöspuut

Käydään seuraavaksi tarkemmin läpi vaikkapa eräshermoverkko.

Paavo Nieminen Kuvien (tai muun datan) luokittelusta

Page 14: Tietotekniikan laitos Jyväskylän yliopistousers.jyu.fi/~nieminen/konenako2010/konenako_luokittelu...päätöspuut Käydään seuraavaksi tarkemmin läpi vaikkapa eräs hermoverkko

Automaattinen luokitteluLuokittelumenetelmistä

Eräs luokitin tarkemmin: MLP-hermoverkko

Hermoverkon perusideaKerroksittainen perseptroniverkko (MLP)

Neuroni

http://commons.wikimedia.org/wiki/Image:Neuron.jpg

Luonnon hermosolu inspiraationa matemaattiselle mallille:Hermosoluun saapuu eri lähteistä sähkökemiallisiasignaaleja. Mikäli signaalien summa ylittää tietynkynnyksen, hermosolu laukeaa ja välittää signaalineteenpäin.

Paavo Nieminen Kuvien (tai muun datan) luokittelusta

Page 15: Tietotekniikan laitos Jyväskylän yliopistousers.jyu.fi/~nieminen/konenako2010/konenako_luokittelu...päätöspuut Käydään seuraavaksi tarkemmin läpi vaikkapa eräs hermoverkko

Automaattinen luokitteluLuokittelumenetelmistä

Eräs luokitin tarkemmin: MLP-hermoverkko

Hermoverkon perusideaKerroksittainen perseptroniverkko (MLP)

Keinotekoinen neuroni, aktivaatiofunktio

Keinotekoinen hermosolu yhdistää herätteet esim. painotetullasummalla. Ulostulo on yksi luku, joka tulee ns.aktivaatiofunktiosta, esim. hyperbolisesta tangentista.

Matemaattisesti esim. o = f (b +∑n

i=1 wi(a)i), missä o onulostulo, (a)i ovat n kpl syötteitä, wi painokertoimet ja f onaktivaatiofunktio; b on bias- eli painotustermi, joka siirtääaktivaation kynnyspistettä.

→ Demo: Plottaillaan aktivaatiofunktioita Octavella (logsig, tanheri biaseilla ja jyrkkyysparametreilla)

Paavo Nieminen Kuvien (tai muun datan) luokittelusta

Page 16: Tietotekniikan laitos Jyväskylän yliopistousers.jyu.fi/~nieminen/konenako2010/konenako_luokittelu...päätöspuut Käydään seuraavaksi tarkemmin läpi vaikkapa eräs hermoverkko

Automaattinen luokitteluLuokittelumenetelmistä

Eräs luokitin tarkemmin: MLP-hermoverkko

Hermoverkon perusideaKerroksittainen perseptroniverkko (MLP)

Kerros, joka koostuu useista neuroneista

Laitetaan useita keinotekoisia hermosoluja riviin. Jokaisellaneuronilla on omat painokertoimet, ja niissä operoiaktivaatiofunktio. Sekä sisääntulo että ulostulo ovat vektoreita.

Matemaattisesti esim. (ol)j = fj(blj +

∑nl−1i=1 w l

j,i(ol−1)i), missä ol

on ulostulovektori, (ol−1)i ovat nl−1 kpl syötteitä, w lj,i on i :nnen

syötteen painokerroin j :nnessä neuronissa, fj onaktivaatiofunktio; bl

j on j :nnen neuronin bias. Indeksointi l − 1syötevektorille ja l ulostulovektorille ennakoi useiden kerrostenketjuttamista (seur. kalvo).

Paavo Nieminen Kuvien (tai muun datan) luokittelusta

Page 17: Tietotekniikan laitos Jyväskylän yliopistousers.jyu.fi/~nieminen/konenako2010/konenako_luokittelu...päätöspuut Käydään seuraavaksi tarkemmin läpi vaikkapa eräs hermoverkko

Automaattinen luokitteluLuokittelumenetelmistä

Eräs luokitin tarkemmin: MLP-hermoverkko

Hermoverkon perusideaKerroksittainen perseptroniverkko (MLP)

Useita kerroksia yhdistämällä saadaan MLP

(MLP = “multilayer perceptron”)

Erikokoisia kerroksia voidaan yhdistää mikä tahansa määrä.

Jokaisen kerroksen ulostulo lasketaan periaatteessa samoin.

Kerroksen l ulostulo syötetään eteenpäin kerrokselle l + 1 (eitakaisinkytkentöjä; feedback-hermoverkot ovat toinen stoorinsa).

Pienellä kikkailulla koko homma painotustermeineen voidaanesittää matriisimuodossa, jossa jokaista kerrosta vastaa yksikerroinmatriisi ja yksi ”funktiomatriisi” . . .

Paavo Nieminen Kuvien (tai muun datan) luokittelusta

Page 18: Tietotekniikan laitos Jyväskylän yliopistousers.jyu.fi/~nieminen/konenako2010/konenako_luokittelu...päätöspuut Käydään seuraavaksi tarkemmin läpi vaikkapa eräs hermoverkko

Automaattinen luokitteluLuokittelumenetelmistä

Eräs luokitin tarkemmin: MLP-hermoverkko

Hermoverkon perusideaKerroksittainen perseptroniverkko (MLP)

MLP:n ulostulo matriisimuodossa

Kompakti esitystapa MLP:lle on

o0 = x, ol = F l(Wl o(l−1)) for l = 1, . . . , L. (1)

Tässä x on syötevektori. Se asetetaan ”nollannen kerroksen ulostuloksi”. Kunkin kerroksen ulostulon kaavassa on

erikoismerkintä o(l−1). Se tarkoittaa operaatiota, jossa vektorin alkuun lisätään ylimääräinen ykkönen. Silloin

bias-termit voidaan sijoittaa kutakin kerrosta vastaavan matriisin Wl ensimmäiseksi sarakkeeksi ja vaikutus on sama

kuin edellä esitettiin. F l puolestaan tarkoittaa sitä, että sovelletaan aktivaatiofunktiota vektorin alkioihin.

Paavo Nieminen Kuvien (tai muun datan) luokittelusta

Page 19: Tietotekniikan laitos Jyväskylän yliopistousers.jyu.fi/~nieminen/konenako2010/konenako_luokittelu...päätöspuut Käydään seuraavaksi tarkemmin läpi vaikkapa eräs hermoverkko

Automaattinen luokitteluLuokittelumenetelmistä

Eräs luokitin tarkemmin: MLP-hermoverkko

Hermoverkon perusideaKerroksittainen perseptroniverkko (MLP)

Luokkien koodaaminen monikerrosverkolle

Luokat koodataan binäärivek-toreina, esim:(1,−1,−1) = ananas,(−1, 1,−1) = banaani,(−1,−1, 1) = cayennepippuri.

Hermoverkko kuvaa datan luo-kitteluavaruuteen; tulokseksivoi ottaa lähimmän ”proto-tyyppipisteen”. Etäisyys koodi-vektorista kuvaa tietyllä tapaaluokitustuloksen epävarmuutta.

Paavo Nieminen Kuvien (tai muun datan) luokittelusta

Page 20: Tietotekniikan laitos Jyväskylän yliopistousers.jyu.fi/~nieminen/konenako2010/konenako_luokittelu...päätöspuut Käydään seuraavaksi tarkemmin läpi vaikkapa eräs hermoverkko

Automaattinen luokitteluLuokittelumenetelmistä

Eräs luokitin tarkemmin: MLP-hermoverkko

Hermoverkon perusideaKerroksittainen perseptroniverkko (MLP)

Lisähuomioita perus-MLP:stä

Hermoverkon iloja ovat mm. epälineaarisuus (käyrätjakopinnat), yleispätevyys (teoriassa voi approksimoidamitä tahansa jatkuvaa funktiota), laskennanrinnakkaistuvuus, kiehtova biologinen analogia (joskinnykytiedon valossa epärealistinen).Aktivaatiofunktioiksi valitaan usein logistinen sigmoidi taihyperbolinen tangentti. Ovat derivoituvia, minkä hyötyselviää seuraavilla kalvoilla.Kannattanee olla sama aktivaatiofunktio kaikilla kerroksilla.Viimeisellä kerroksella voi käyttää lineaaristaaktivaatiofunktiota. Näin ollen ulostulojen arvot eivät rajoituvälille [0, 1] (logsig) tai [−1, 1] (tanh).Riippuu tilanteesta, mitä halutaan.

Paavo Nieminen Kuvien (tai muun datan) luokittelusta

Page 21: Tietotekniikan laitos Jyväskylän yliopistousers.jyu.fi/~nieminen/konenako2010/konenako_luokittelu...päätöspuut Käydään seuraavaksi tarkemmin läpi vaikkapa eräs hermoverkko

Automaattinen luokitteluLuokittelumenetelmistä

Eräs luokitin tarkemmin: MLP-hermoverkko

Hermoverkon perusideaKerroksittainen perseptroniverkko (MLP)

Kustannusfunktio: kuinka huonosti verkko toimii

Verkon opettamisen tavoitteena on saada piirrevektorit kuvautumaanmahdollisimman lähelle todellisen luokan koodausta. (Opetusdatalletämä on liiankin helppoa; tärkeintä on varmistaa että kuvaus yleistyytestidatalle).

Arvioidaan sitä, miten huonosti verkko toimii!Yritetään löytää huonoutta kuvaavan funktion minimikohta.Kustannukseksi käy esim. keskimääräinen virheJ({W}) = 1

2N∑N

i=1 ||N (xi)− yi ||2 missä N (xi) onhermoverkon tuloste opetusvektorille xi ja yi on tunnettutotuus siitä, mihin ideaalinen hermoverkko kuvaisi xi :n.

Paavo Nieminen Kuvien (tai muun datan) luokittelusta

Page 22: Tietotekniikan laitos Jyväskylän yliopistousers.jyu.fi/~nieminen/konenako2010/konenako_luokittelu...päätöspuut Käydään seuraavaksi tarkemmin läpi vaikkapa eräs hermoverkko

Automaattinen luokitteluLuokittelumenetelmistä

Eräs luokitin tarkemmin: MLP-hermoverkko

Hermoverkon perusideaKerroksittainen perseptroniverkko (MLP)

Backpropagation -opetus

Merkitään i :nnen opetusvektoriparin aiheuttamaa virhettäei = N ({Wl})(xi)− yi . Osoittautuu, että edellä mainitunkustannusfunktion gradientti voidaan laskea iteratiivisestimatriisimuodossa virheen etenemisen (backpropagation) avulla:

∇Wl J({Wl}) =1N

N∑i=1

ξli [o

(l−1)i ]T ,

missä (aloittaen viimeisestä eli L:nnestä kerroksesta)

ξLi = ei , (2)

ξli = Diag{(F l)

′(Wl o(l−1)

i )} (W(l+1)1 )T ξ

(l+1)i . (3)

Kaavassa W(l+1)1 on matriisi, joka saadaan poistamalla W(l+1):stä

ensimmäinen sarake, jossa on neuronien bias-termit.

Paavo Nieminen Kuvien (tai muun datan) luokittelusta

Page 23: Tietotekniikan laitos Jyväskylän yliopistousers.jyu.fi/~nieminen/konenako2010/konenako_luokittelu...päätöspuut Käydään seuraavaksi tarkemmin läpi vaikkapa eräs hermoverkko

Automaattinen luokitteluLuokittelumenetelmistä

Eräs luokitin tarkemmin: MLP-hermoverkko

Hermoverkon perusideaKerroksittainen perseptroniverkko (MLP)

Miten huonous minimoidaan

Koska käytettävissä on kustannuksen gradientti, voidaankäyttää esim. jyrkimmän laskun menetelmää: Jokaisellakierroksella jokaisesta painosta vähennetään pienellävakiokertoimella kerrottu osittaisderivaattansa. Pikkuhiljaaverkko konvergoi varmasti kustannusfunktion lokaaliin minimiin,mikäli askelpituus on riittävän pieni.

Paavo Nieminen Kuvien (tai muun datan) luokittelusta

Page 24: Tietotekniikan laitos Jyväskylän yliopistousers.jyu.fi/~nieminen/konenako2010/konenako_luokittelu...päätöspuut Käydään seuraavaksi tarkemmin läpi vaikkapa eräs hermoverkko

Automaattinen luokitteluLuokittelumenetelmistä

Eräs luokitin tarkemmin: MLP-hermoverkko

Hermoverkon perusideaKerroksittainen perseptroniverkko (MLP)

Muita opetusmenetelmiä ja formulointeja

Edellä esitettiin derivoituva kustannusfunktio sekä ehkäyksinkertaisin mahdollinen kustannusfunktion gradienttiinperustuva opetusmenetelmä (myös melkolailla tehottomin).Tehokkaampia MLP:lle soveltuvia optimointimenetelmiäovat mm. konjugaattigradienttimenetelmät,BFGS-menetelmä, Levenberg-Marquardt, . . .Geneettiset algoritmit käyvät myös.Kustannus voidaan formuloida myös eri tavoin, mm.epäsileäksi funktioksi (jolla ei siis ole kaikkialla gradienttia).Siihenkin on olemassa menetelmiä!

Paavo Nieminen Kuvien (tai muun datan) luokittelusta

Page 25: Tietotekniikan laitos Jyväskylän yliopistousers.jyu.fi/~nieminen/konenako2010/konenako_luokittelu...päätöspuut Käydään seuraavaksi tarkemmin läpi vaikkapa eräs hermoverkko

Automaattinen luokitteluLuokittelumenetelmistä

Eräs luokitin tarkemmin: MLP-hermoverkko

Hermoverkon perusideaKerroksittainen perseptroniverkko (MLP)

Käytännön demo

→ (Tässä kohtaa luentoa vilkaistiin Matlabissa/Octavessa toimivaa hermoverkkokoodia. Ajeltiinkinesimerkkiskriptejä, ja nähtiin kun ne tulostelivat minimoinnin edetessä mm. kustannusfunktion arvoa, gradientinsuuruutta sekä kolmen luokan sekaannusmatriisia (datana oli muuten kolmen iiris-kukkalajikkeen yksilöitä, piirteenäterä- ja varsilehtien pituus ja leveys). Odotetusti diagonaalille alkoi kertyä valtaosa luokituksista. Vääriäkinluokituksia jäi, mikä on myös normaalia. Iirisdata luokittuu lähes täysin, mutta jyrkimmän laskun menetelmälläkestää kauan eikä ekasta lähtöpisteestä aina löydy hyvää lokaalia minimiä.

Koodit olivat vuoden 2008 bugisia malleja; ne löytyvät jonkun linkin takaa nettisivultani, jos haluaa ja uskaltaa niitäkatsella. Vähempibugiset versiot pittäisi tulla ihan meidän YouSource -järjestelmään jahka ennätän ne sinnelaittamaan.)

Paavo Nieminen Kuvien (tai muun datan) luokittelusta

Page 26: Tietotekniikan laitos Jyväskylän yliopistousers.jyu.fi/~nieminen/konenako2010/konenako_luokittelu...päätöspuut Käydään seuraavaksi tarkemmin läpi vaikkapa eräs hermoverkko

Automaattinen luokitteluLuokittelumenetelmistä

Eräs luokitin tarkemmin: MLP-hermoverkko

Hermoverkon perusideaKerroksittainen perseptroniverkko (MLP)

Yhteenveto

Luokittelua tarvitaan monessa konenäköjärjestelmässä.Kohteen paikannus, esikäsittely ja piirteytys tarpeen ennenluokittelua.Luokat ja luokittelun tulkinta riippuu sovelluksesta.Algoritmeja on monia; tässä käytiin esimerkin vuoksi läpiMLP-neuroverkko.Sekaannusmatriisit ja tunnusluvut apuna menetelmienvertailussa.

Tässä lyhyessä luennossa jätettiin huomioimatta paljon, mm. luokittelun “lähisukulainen” klusterointi ja siihen liittyvätohjaamattoman oppimisen menetelmät. MLP-hermoverkosta esitettiin vain perusperusteet. Hermoverkoissayleisesti ottaen ja myös muissa luokittelumenetelmissä olisi paljon ammennettavaa, erityisesti tukivektorikoneet(SVM), päätöspuut (decision trees) sekä boosting-tyyppiset ratkaisut (esim. Haar Cascades). Kiinnostunut lukijaohjaa itsensä kirjallisuusviitteisiin tahi Internetin ihmemaahan hakusanojen kera.

Paavo Nieminen Kuvien (tai muun datan) luokittelusta

Page 27: Tietotekniikan laitos Jyväskylän yliopistousers.jyu.fi/~nieminen/konenako2010/konenako_luokittelu...päätöspuut Käydään seuraavaksi tarkemmin läpi vaikkapa eräs hermoverkko

Automaattinen luokitteluLuokittelumenetelmistä

Eräs luokitin tarkemmin: MLP-hermoverkko

Hermoverkon perusideaKerroksittainen perseptroniverkko (MLP)

Kirjallisuutta

Kirjoja hermoverkko- ja tukivektoriluokittelusta:Simon Haykin: “Neural Networks and Learning Machines”,Prentice Hall, 2008Cristopher M. Bishop: ”Neural networks for patternrecognition”, Oxford University Press, 1995John Shawe-Taylor & Nello Christianini: “An Introduction toSupport Vector Machines and Other Kernel-basedLearning Methods”, Cambridge University Press, 2000

Valmiita avoimen lähdekoodin ohjelmakirjastoja löytyy, esim.:libsvm – tukivektorikone,http://www.csie.ntu.edu.tw/˜cjlin/libsvm/fann – monikerroshermoverkko, http://leenissen.dk/fann/flann – nopea lähinaapurialgoritmi,http://www.cs.ubc.ca/ mariusm/index.php/FLANN/FLANN

Paavo Nieminen Kuvien (tai muun datan) luokittelusta