Johdatus tekoälyn taustalla olevaan matematiikkaan Informaatioteknologian tiedekunta Jyväskylän yliopisto 3. luento 17.11.2017
Neuroverkon opettaminen (ohjattu oppiminen) Neuroverkkoa opetetaan syöte-tavoite-pareilla (x, y) eli opetusesimerkeillä. Verkon syötteelle x antamaa tulosta t verrataan valitulla virhefunktiolla tavoitteeseen y. Opettamisessa yritetään minimoida virhefunktioita esimerkiksi gradienttimenetelmällä. Jokaisen neuronin vaikutus virheeseen ja virhefunktion E osittaisderivaatat E E w ja b verkon kaikkien painojen w ja vakiotermien b suhteen lasketaan monesti vastavirta-algoritmilla. Kun piilokerroksen parametreja on muutettu niin, että verkko toimii halutulla tavalla opetusesimerkeille, sen toimintaa tarkastetaan testiesimerkeillä.
Neuroverkon opettaminen (ohjattu oppiminen) Monesti syöttettä x vastaavan tavoitteen y R m ja verkon antaman tuloksen t R m virhefunktiona käytetään erotuksen normin neliötä E = 1 2 t y 2 = 1 2 m (t k y k ) 2 k=1 ja opetusesimerkkijoukon A virhefunktiona keskineliösummaa E A = 1 2N (t(x) y(x) 2, x A missä N on joukon A opetusesimerkkien lukumäärä. Miksi erotusfunktiossa käytetään neliöitä?
Neuroverkon opettaminen - gradienttimenetelmä Tavoite: minimoi virhefunktio (riippuu neuronien painoista ja vakiotermeistä) Minimin etsiminen aloitetaan laskemalla virhefunktion arvo aloitusparametreilla. Funktion gradientti kertoo nopeimman kasvun ja siten gradientin vastavektori nopeimman vähenemisen suunnan. Sopivilla askelilla nopeimman vähenemisen suuntaan siirtymällä löydetään (menetelmään sopiville funktioille) lokaali minimi. Gradienttiin tarvitaan virhefunktion E osittaisderivaatat E verkon kaikkien painojen w ja vakiotermien b suhteen. E b w ja
Derivaatta ja funktion käyttäytyminen Mitä f kertoo funktiosta f? Olkoon I R avoin väli ja f : R R derivoituva funktio. Jos f (x) 0 kaikilla x I, niin f on kasvava välillä I. Jos f (x) 0 kaikilla x I, niin f on vähenevä välillä I. Jos tangentti pisteessä x 0 on x-akselin suuntainen, niin sen kulmakerroin on 0 ja f (x 0 ) = 0. Jos yllä > (<) niin f on aidosti kasvava (vähenevä).
Derivaatta ja funktion käyttäytyminen Esimerkki Olkoon f : R R, f (x) = 1 10 x 3 x 2. Millä väleillä funktio f on kasvava? Millä väleillä se on vähenevä? Nyt f (x) = 3 ( 3 ) 10 x 2 2x = x 10 x 2, derivaatan nollakohdat ovat x 1 = 0 ja x 2 = 6 2 3 ja f (x) > 0 kun x < 0 tai x > 6 2 3 (aidosti kasvava) f (x) < 0 kun 0 < x < 6 2 3 (aidosti vähenevä).
Derivaatta ja funktion käyttäytyminen
Derivaatta ja funktion ääriarvot Onko funktiolla f : R R suurinta tai pienintä arvoa? Onko sillä lokaalisti suurinta tai pienintä arvoa? Miten suurin ja pienin arvo löydetään? Ääriarvot Olkoon f : R R funktio. Olkoon x 0 R. Jos f (x 0 ) f (x) kaikilla x, niin x 0 on funktion f maksimipiste ja f (x 0 ) maksimi eli suurin arvo. Jos f (x 0 ) f (x) kaikilla x, niin x 0 on funktion f minimipiste ja f (x 0 ) minimi eli pienin arvo.
Derivaatta ja funktion ääriarvot Jos x on derivoituvan funktion f on maksimi- tai minimipiste, niin f (x) = 0. f (x) = 0 x on funktion f maksimi- tai minimipiste. Funktiolla ei aina ole suurinta ja pienintä arvoa.
Derivaatta ja funktion ääriarvot - suljettu väli Ääriarvolause Jatkuva funktio f : [a, b] R saavuttaa välillä [a, b] suurimman ja pienimmän arvonsa. Ääriarvojen etsiminen Laske funktion f : [a, b] R arvo välin päätepisteissä a ja b, derivaatan nollakohdissa pisteissä, joissa f ei ole derivoituva. Etsi näistä suurin ja pienin.
Derivaatta ja funktion ääriarvot - esimerkki Edellisen esimerkin funktiolla f : R R f (x) = 1 10 x 3 x 2 on lokaali maksimi pisteessä x 1 = 0 ja lokaali minimi pisteessä x 2 = 6 2 3. Miksi funktiolla f ei ole suurinta ja pienintä arvoa? Etsi funktion f : [ 1, 10] R suurin ja pienin arvo.
Monen muuttujan funktio - minimointi Neuroverkon opetuksessa halutaan minimoida virhefunktiota, joka riippuu neuronien painoista ja vakiotermeistä. Painoja ja vakiotermejä voi olla tuhansia. Miten minimoidaan funktiota f : R n R? Haastava tehtävä jo kun n = 2! osittaisderivaat ja gradientti
Monen muuttujan funktio - osittaisderivaatta Miten f : R n R muuttuu kun yhtä muuttujaa x i muutetaan? Osittaisderivaatta muuttujan x i suhteen kertoo muutoksen. Pidä muuttujat {x 1,..., x i 1, x i+1,..., x n } vakioina ja derivoi muuttujan x i suhteen. Osittaisderivaatta Olkoon f : R n R, i {1,..., n} ja a = (a 1,..., a n ). Jos erotusosamäärän raja-arvo f (a 1,..., a i + h,..., a n ) f (a 1,..., a n ) lim h 0 h on äärellinen, niin se on funktion f osittaisderivaatta muuttujan x i suhteen pisteessä a. Sitä merkitään x i f (a) = f x i (a).
Osittaisderivaattojen geometrinen tulkinta, f : R 2 R Olkoon (x 0, y 0 ) R 2. Tason A 0 = {(x, y, z) R 3 : y = y 0 } ja funktion kuvaajan muodostaman pinnan F = {(x, y, z) R 3 : z = f (x, y)} leikkaus on käyrä (funktion z = f (x, y 0 ) kuvaaja tasossa A 0 ) K = {(x, y, z) R 3 : z = f (x, y 0 ), y = y 0 }. Osittaisderivaatta x f (x 0, y 0 ) on käyrän K tangentin kulmakerroin pisteessä P = (x 0, y 0, f (x 0, y 0 )). antaa funktion arvojen muutosvauhdin muuttujan x suhteen kun y pidetään vakiona.
Osittaisderivaattojen geometrinen tulkinta, f : R 2 R Esimerkki Funktion f : R 2 R, f (x, y) = 4 (x 2 + y 2 ) osittaisderivaatat ovat f f (x, y) = 2x ja (x, y) = 2y. x y Tutkitaan osittaisderivaattaa f x pisteessä (1, 1). Äskeisen tulkinnan taso on käyrä A = {(x, y, z) R 3 : y = 1}, K = {(x, y, z) R 3 : z = 3 x 2, y = 1} ja tangentin kulmakerroin pisteessä P = (1, 1, 2) on 2.
Osittaisderivaattojen geometrinen tulkinta, f : R 2 R
Gradientti Gradientti Olkoon f : R n R funktio, jolla on osittaisderivaatat kaikkien muuttujien x i, i {1,..., n} suhteen. Vektori f (x) = on funktion f gradientti. ( f (x), f (x),..., f ) (x). x 1 x 2 x n Funktion f : R 2 R gradientti on funktio f : R 2 R 2, f (x) = ( f (x), f ) (x). x 1 x 2 Sitä vastaa vektorikenttä, jossa jokaiseen tason pisteeseen piirretään vektori, jonka suunta ja pituus saadaan funktion arvosta kyseisessä pisteessä.
Gradientti Esimerkki Funktion g : R 2 R, g(x 1, x 2 ) = x 1 x 2, gradientti on g(x) = ( g (x), g ) (x) = (x 2, x 1 ). x 1 x 2 Funktion f : R 2 R, f (x 1, x 2 ) = x 2 1 + x 2 2 gradientti on f (x) = ( f (x), f ) (x) = (2x 1, 2x 2 ). x 1 x 2
Gradientin geometrinen tulkinta Osittaisderivaatat kertovat funktion kasvunopeuden koordinaattiakseleiden suuntiin. Funktion f gradientti f kertoo suunnan, johon f kasvaa nopeimmin (todistetaan suuntaisderivaattojen avulla). Gradientin pituus f (x) kertoo funktion kasvuvauhdin. Gradienttivektorit ovat kohtisuorassa tasa-arvojoukkoja vastaan.
Gradientin geometrinen tulkinta Esimerkki Funktion g : R 2 R, g(x 1, x 2 ) = x 1 x 2 kuvaaja, tasa-arvokäyrät ja gradienttien g(x) = (x 2, x 1 ) vektorikenttä.
Gradientin geometrinen tulkinta - tasa-arvokäyrät f : R 2 R, K c = {x R 2 : f (x) = c} tasa-arvokäyrä, x c K c Halutaan, että f kasvaa annetun määrän. Etsi suunta, jossa muutos saavutetaan siirtämällä pistettä x c vähiten. Pienin siirto tulee suuntaan, jossa isompia arvoja vastaavat tasa-arvokäyrät ovat tiheimmässä. Gradientti osoittaa suurimman kasvunopeuden suuntaan. Pienellä c:n lisäyksellä tasa-arvokäyrät ovat suoria ja kahden samansuuntaisen suoran välisen lyhimmän matkan antaa suora, joka on kohtisuorassa edellisiä suoria vastaan - gradienttivektori.
Gradientti ja funktion ääriarvot Onko funktiolla f : R n R suurinta tai pienintä arvoa? Onko sillä lokaalisti suurinta tai pienintä arvoa? Miten suurin ja pienin arvo löydetään? Ääriarvot Olkoon f : R n R. Jos on a > 0, siten, että f (x 0 ) f (x) kaikilla x, joille x x 0 < a, niin x 0 on funktion f lokaali maksimipiste ja f (x 0 ) lokaali maksimi. Jos on a > 0, siten, että f (x 0 ) f (x) kaikilla x, joille x x 0 < a, niin x 0 on funktion f lokaali minimipiste ja f (x 0 ) lokaali minimi.
Gradientti ja funktion ääriarvot - tangenttitaso Funktiolle f : R R derivaatta on nolla ääriarvopisteissä. Miten tämä yleistyy? Derivaatta ja tangentin kulmakerroin - osittaisderivaatat ja tangenttitason kaltevuus: Olkoon f : R 2 R ja (x 0, y 0 ) R 2. Funktion f kuvaajan tangenttitaso pisteessä P = (x 0, y 0, f (x 0, y 0 )) on joukko { } T = (x, y, z) : z = f x (x 0, y 0 )(x x 0 )+ f y (x 0, y 0 )(y y 0 )+f (x 0, y 0 ). Tangenttitaso pisteessä P sisältää kaikki P:n kautta kulkevat suorat, jotka ovat tangentteja jollekin f :n kuvaajalla sijaitsevalle P:n kautta kulkevalle käyrälle.
Gradientti ja funktion ääriarvot - tangenttitaso Tangenttitaso sivuaa kuvaajaa pisteessä P ja kaikista pisteen P kautta kulkevista tasoista se on se, jolla on pisteessä (x 0, y 0 ) samat osittaisderivaatat kuin funktiolla f.
Gradientti ja funktion ääriarvot f : R 2 R: lokaaleissa ääriarvopisteissä (x 0, y 0 ) tangettitaso on vaakasuorassa eli x, y-tason suuntainen. Vaakasuoran tason yhtälö on z = c, joten tangenttitason yhtälön perusteella nähdään, että x f (x 0, y 0 ) = 0, y f (x 0, y 0 ) = 0 ja että tangenttitason yhtälö on z = f (x 0, y 0 ). f : R n R: Jos funktiolla f on lokaali ääriarvo pisteessä x R n ja funktiolla f on osittaisderivaatat pisteessä x, niin f x i (x) = 0 kaikilla i {1,..., n} eli f (x) = 0.
Gradientti ja funktion ääriarvot - suljettu väli Ääriarvolause Olkoon I R n suljettu väli. Jatkuva funktio f : I R saavuttaa välillä I suurimman ja pienimmän arvonsa. Ääriarvojen etsiminen Laske funktion f : I R arvo välin I reunapisteissä, niissä pisteissä, jossa f (x) = 0 pisteissä, joissa jokin osittaisderivaatta ei ole olemassa. Etsi näistä suurin ja pienin.
Gradientti ja funktion ääriarvot - esimerkki Esimerkki Olkoon f : R 2 R, f (x, y) = xy x 2 y 2 + 3. Nyt f x = y 2x ja f y = x 2y. Yhtälöparin { y 2x = 0 x 2y = 0 ainoa ratkaisu on x = y = 0. Funktion f kuvaajan tangenttitaso siinä pisteessä on z = f (0, 0) = 3. Raja-arvoja lim x,y ± f (x, y) tutkimalla nähdään, että (0, 0) on globaali maksimipiste.
Gradientti ja funktion ääriarvot - esimerkki
Gradientti ja funktion ääriarvot - esimerkki Funktiolla f : R 2 R, f (x, y) = cos(2πx) cos(2πy)e x2 y 2 useita maksimi- ja minimipisteitä. Sillä on globaali maksimi pisteessä (0, 0). on
Gradientti ja funktion ääriarvot Huomaa! f (x) = 0 x on ääriarvopiste (satulapiste). Esimerkki Piste (0, 0) on funktioiden f, g : R 2 R, f (x, y) = y 2 x 2 ja g(x, y) = xy(x2 y 2 ) satulapiste. x 2 +y 2
Osittaisderivaattojen ketjusääntö Vastavirta-algoritmissa virhefunktion osittaisderivaattoja piilokerroksen painojen suhteen laskettaessa muuttuja, jonka suhteen derivoidaan, riippuu edellisen kerroksen parametreista. Tämän takia tarvitaan osittaisderivaattojen ketjusääntöä. Tarkastellaan funktiota f : R 2 R, jonka parametrit x ja y ovat muuttujan t R funktioita x, y : R R. Osittaisderivaatan f t kaavan voi muistaa siitä, että kuvassa edetään funktion f ja derivointimuuttujan t väli kaikkia reittejä pitkin, kerrotaan matkalla olevat osittaisderivaatat keskenään ja lasketaan eri reittien osittaisderivaattojen tulot yhteen.
Osittaisderivaattojen ketjusääntö
Osittaisderivaattojen ketjusääntö Osittaisderivaattojen ketjusääntö Jos funktiolla f : R 2 R on jatkuvat osittaisderivaatat muuttujien x ja y suhteen ja funktiot x ja y ovat derivoituvia, niin f (t) = f f (t) = t x (x(t), y(t)) x (t) + f y (x(t), y(t)) y (t). Leibnizin merkinnöin kirjoitettu versio on f t = f x x t + f y y t.
Osittaisderivaattojen ketjusääntö Osittaisderivaattojen ketjusääntö Olkoon f : R 2 R, x, y : R R, x(t) = 2t, y(t) = t 2 1 ja f (x, y) = x 2 2xy. Lasketaan funktion f derivaatta muuttujan t suhteen. Ilman ketjusääntöä: f (x, y) = x(t) 2 2x(t)y(t) = (2t) 2 2(2t)(t 2 1) = 4t 3 + 4t 2 + 4t, joten f (t) = 12t 2 + 8t + 4.
Osittaisderivaattojen ketjusääntö Osittaisderivaattojen ketjusääntö Osittaisderivaattojen ketjusäännön avulla: x(t) = 2t, y(t) = t 2 1 ja f (x, y) = x 2 2xy. f (t) = f t = f x x t + f y y t = (2x 2y)2 2x2t = 4x 4y 4xt = 4(2t t 2 + 1 2t 2 ) = 12t 2 + 8t + 4.
Osittaisderivaattojen ketjusääntö Osittaisderivaattojen ketjusääntö, yleinen versio Olkoon funktio f : R n R, f (u) = f (u 1,..., u n ) R, missä u i : R m R, kaikilla i {1,..., n}. Jos funktiolla f on jatkuvat osittaisderivaatat f u i kaikilla i {1,..., n} ja funktioilla u i on osittaisderivaatat u i x j kaikilla i {1,..., n} ja kaikilla j {1,..., m}, niin f x j = n i=1 f u i u i x j.
Osittaisderivaattojen ketjusääntö Osittaisderivaattojen ketjusääntö, yleinen versio Laskettaessa osittaisderivaattaa f x j funktio f osittaisderivoidaan kaikkien muuttujien u i suhteen ja muuttujat u i muuttujan x j suhteen. Nämä osittaisderivaatat kerrotaan keskenään ja lasketaan yhteen.
Osittaisderivaattojen ketjusääntö Esimerkki Olkoon f, u 1, u 2 : R 2 R, f (u 1, u 2 ) = u1 2 u 1 u 2 + 3u2, 2 u 1 (x 1, x 2 ) = x 1 + x 2 ja u 2 (x 1, x 2 ) = x 1 x 2. Nyt f u 1 = 2u 1 u 2, f u 2 = u 1 + 6u 2, u 1 x 1 = 1, u 1 x 2 = 1, u 2 x 1 = 1 ja u 2 x 2 = 1 ja funktion f osittaisderivaatat muuttujien x 1 ja x 2 suhteen ovat
Osittaisderivaattojen ketjusääntö Esimerkki f (u 1, u 2 ) = u 2 1 u 1 u 2 +3u 2 2, u 1 (x 1, x 2 ) = x 1 +x 2 ja u 2 (x 1, x 2 ) = x 1 x 2. ja funktion f osittaisderivaatat muuttujien x 1 ja x 2 suhteen ovat f x 1 = 2 i=1 f u i u i x 1 = f u 1 u 1 x 1 + f u 2 u 2 x 1 = (2u 1 u 2 ) 1 + ( u 1 + 6u 2 ) 1 = u 1 + 5u 2 = 6x 1 4x 2 ja f x 2 = 2 i=1 f u i u i x 2 = f u 1 u 1 x 2 + f u 2 u 2 x 2 = (2u 1 u 2 ) 1 + ( u 1 + 6u 2 ) ( 1) = 3u 1 7u 2 = 4x 1 + 10x 2.
Types of Optimization Algorithms used in Neural Networks and Ways to Optimize Gradient Descent