Johdatus tekoälyn taustalla olevaan matematiikkaan Informaatioteknologian tiedekunta Jyväskylän yliopisto 2. luento 10.11.2017
Keinotekoiset neuroverkot Neuroverkko koostuu syöte- ja ulostulokerroksesta ja niiden välissä olevista piilokerroksista.
Keinotekoiset neuroverkot - parametrien merkinnät l on kerrosindeksi, 0 on syöte- ja L ulostulokerros N l = kerroksen l neuronien lukumäärä, wij l = kerroksen l 1 neuronin i ja kerroksen l neuronin j välillä oleva paino, = kerroksen l neuronin j vakiotermi, b l j z l j = kerroksen l neuronia j vastaava summa a l j z l j = N l 1 i=1 = kerroksen l neuronin j tulos w l ija l 1 i + b l j, a l j = ϕ(z l j ) = ϕ ( N l 1 i=1 ) wija l l 1 i + bj l, missä ϕ on aktivointifunktio (voi vaihdella kerroksesta toiseen).
Perseptroni Perseptroni on syötekerroksen ja yhden neuronin muodostama verkko, jonka ainoat mahdolliset tulokset ovat 0 ja 1. syöte x = (x 1, x 2,..., x n ) R n, painovektori w = (w 1, w 2,..., w n ) R n, vakiotermi b R, aktivointifunktio yksikköporrasfunktio (Heavisiden funktio) { 1, jos s > 0 h(s) = 0, jos s 0.
Perseptroni lineaarinen luokittelija, päätöksentekijä Perseptronia vastaa funktio P : R n {0, 1}, { 1, jos w x + b > 0 P(x) = 0, jos w x + b 0. Funktio f : R n {0, 1} voidaan esittää perseptronilla jos ja vain jos alkukuvat f 1 ({0}) ja f 1 ({1}) ovat lineaarisesti erotettavat. Tasossa R 2 tämä tarkoittaa sitä, että joukkoja A ja B vastaavat pisteet voidaan erottaa suoralla ja R 3 :ssa sitä, että pistejoukot voidaan erottaa tasolla.
Perseptroni Vasemman kuvan pistejoukko on lineaarisesti erotettava, oikean ei.
Perseptroni ja loogiset konnektiivit AND ja XOR Konnektiivi AND : {0, 1} {0, 1} {0, 1}, AND(0, 0) = 0, AND(0, 1) = 0, AND(1, 0) = 0, AND(1, 1) = 1, voidaan esittää perseptronilla.
Perseptroni ja loogiset konnektiivit AND ja XOR Mieti, miksi perseptronilla saadaan looginen konnektiivi AND.
Perseptroni ja loogiset konnektiivit AND ja XOR Konnektiivia XOR : {0, 1} {0, 1} {0, 1}, XOR(0, 0) = XOR(1, 1) = 0 XOR(0, 1) = XOR(1, 0) = 1 ei voida esittää perseptronilla.
Perseptroni Perseptronin ongelma: pieni muutos painossa voi aiheuttaa ison muutoksen tuloksessa! Ratkaisu: vaihdetaan aktivointifunktiota
Aktivointifunktiot Neuroverkon piilo- ja ulostulokerroksissa käytetään aktivointifunktioita ϕ: R R. Aktivointifunktion toivottuja ominaisuuksia epälineaarisuus: summa ja yhdistetty funktio affiineista funktioista affiini - halutaan yleisempää derivoituvuus: monissa virhefunktion minimointitavoissa tarvitaan aktivointivointifunktion derivaattaa identtisen funktion approksimointi: lähellä identtistä funktiota nollan lähellä = neuroverkko oppii tehokkaasti kun painot alustetaan satunnaisluvuilla
Matematiikkaa - funktiot Funktio Funktio f joukosta A joukkoon B, f : A B, on sääntö, joka liittää jokaiseen joukon A alkioon a täsmälleen yhden joukon B alkion f (a). A on funktion f lähtöjoukko ja B maalijoukko. f (a) B on alkion a kuva/ funktion f arvo pisteessä a. Joukko f (D) = {b B : f (a) = b jollain a D} on joukon D A kuvajoukko. Joukko f (A) on funktion f arvojoukko/kuvajoukko.
Matematiikkaa - funktiot Joukon C B alkukuva kuvauksessa f on joukko f 1 (C) = {a A : f (a) C}. Esimerkki - loogisten konnektiivien AND ja XOR alkukuvat AND, XOR : {0, 1} {0, 1} {0, 1}. Olkoon C = {0} ja D = {1}. ja AND 1 (C) = {(0, 0), (0, 1), (1, 0)} ja AND 1 (D) = {(1, 1)} XOR 1 (C) = {(0, 0), (1, 1)} ja AND 1 (D) = {(1, 0), (0, 1)}.
Matematiikkaa - R n Joukko R n on n-ulotteinen euklidinen avaruus. alkiot vektoreita x = (x 1, x 2,..., x n ), x i R kaikilla i {1, 2..., n}. Vektorin x normi on ( n x = i=1 x 2 i ) 1/2 ja pisteiden x ja y välinen (normista saatava) etäisyys on ( n d(x, y) = x y = (x i y i ) 2) 1/2. i=1
Matematiikkaa - yhdistetty funktio Neuronin syöte seuraavalle kerrokselle on yhdistetty funktio: aktivointifunktion arvo lasketaan summafunktion antamassa pisteessä. Yhdistetty funktio Olkoot A, B ja C joukkoja. Olkoot f : A B ja g : B C funktioita. Yhdistetty funktio on funktio h : A C, h(x) = (g f )(x) = g(f (x)).
Esimerkki Olkoon f, g : R, f (x) = 3x 4 ja g(x) = x 2. Näiden funktioiden yhdistetty funktio on g f : R R, (g f )(x) = g(f (x)) = g(3x 4) = (3x 4) 2 = 9x 2 24x 16.
Matematiikkaa - affiini funktio Neuroverkon piilo- ja ulostulokerroksen neuroneissa lasketaan edellisestä kerroksesta tulleiden syötteiden painotettu summa ja lisätään siihen vakiotermi. Jokaista neuronia vastaa siis affiini funktio, joka viedään aktivointifunktiolle. Affiini funktio Olkoon A n n-matriisi ja b R n. Funktio f : R n R n, on affiini funktio. f (x) = Ax + b, kääntää, skaalaa ja siirtää joukkoa kuvaa suorat suoriksi, yhdensuuntaiset suorat yhdensuuntaisiksi ja säilyttää janojen osien suhteet
Matematiikkaa - affiini funktio Jos b = 0, niin affiini funktio on lineaarikuvaus. Jos b 0, niin f (0) = b 0, joten kuvaus ei ole lineaarinen. Olkoot f, g : R n R n f (x) = Ax + b, ja g(x) = Cx + d. Nyt matriisien laskutoimitusten avulla nähdään, että ja (f + g)(x) = Ax + b + Bx + d = (A + B)x + (b + d) (g f )(x) = B(Ax + b) + d = BAx + (Bb + d), joten funktiot f + g ja g f ovat affiineja.
Matematiikkaa - affiini funktio n = 1: Funktion f : R R, f (x) = ax + b, kuvaaja on suora, jonka kulmakerroin on a ja joka leikkaa y-akselin pisteessä (0, b).
Matematiikkaa - kasvava ja vähenevä funktio Kasvava ja vähenevä funktio Olkoon I R väli. Olkoon f : I R funktio. Jos f (x) f (y) aina kun x y, niin f on kasvava. Jos f (x) f (y) aina kun x y, niin f on vähenevä. Esimerkki Funktio f : R R, f (x) = x 3 12x 5 on kasvava väleillä ], 2[ ja ]2, [. Se on vähenevä välillä ] 2, 2[.
Matematiikkaa - derivaatta Opetettaessa neuroverkkoa gradienttiin perustuvilla menetelmillä tarvitaan yleensä aktivointifunktion derivaattaa. Mitä derivaatta kertoo funktiosta? Olkoon f : R R. Paljonko funktion arvo f (x) muuttuu kun pistettä x siirretään vähän, pienen luvun h R verran. Muutosta tutkitaan keskimääräisenä muutoksena eli erotusosamääränä, f (x + h) f (x). h
Matematiikkaa - derivaatta Erotusosamäärä kertoo pisteiden (x, f (x)) ja (x + h, f (x + h)) kautta kulkevan suoran eli näiden pisteiden kautta kulkevan sekantin kulmakertoimen.
Matematiikkaa - derivaatta Derivaatta Olkoon f : R R. Jos erotusosamäärällä on äärellinen raja-arvo, niin f f (x + h) f (x) (x) = lim R h 0 h on funktion f derivaatta ja f on derivoituva pisteessä x. Jos f : ]a, b[ R, niin erotusosamäärää tutkittaessa otetaan mukaan pisteet x ]a, b[ ja ne siirtymät, joille x + h ]a, b[. muita merkintätapoja d df dx f (x) ja dx (x) Leibnizin merkinnät: erotusosamäärä y x dy dx = lim y x 0 x. ja derivaatta
Matematiikkaa - derivaatan tangenttitulkinta Derivoituvan funktion kuvaajalle voidaan piirtää pisteeseen (x 0, f (x 0 )) yksikäsitteinen tangentti, jolla on äärellinen kulmakerroin. f (x 0 ) on tangentin kulmakerroin ja tangentin yhtälö on y f (x 0 ) = f (x 0 )(x x 0 ). Mitä suurempi kulmakerroin, sitä jyrkempi tangentti. Positiivisilla kulmakertoimilla suora on nouseva ja negatiivisilla laskeva. Epäjatkuvan funktion kuvaajalle ei voi piirtää tangenttia epäjatkuvuuskohdassa. Jos tangentti on pystysuora, sillä ei ole äärellistä kulmakerrointa. = funktio ole derivoituva
Matematiikkaa - derivaatan tangenttitulkinta Esimerkki Itseisarvofunktio f : R R, f (x) = x. Funktion f kuvaajalla ei ole pisteessä (0, f (0)) = (0, 0) yksikäsitteistä tangenttia vaan niitä on äärettömän monta, joten f ei ole derivoituva nollassa.
Matematiikkaa - derivaatan tangenttitulkinta Esimerkki jatkuu Itseisarvofunktio f : R R, f (x) = x. Erotusosamäärä: nollassa vasemman- ja oikeanpuoleinen raja-arvo ovat erisuuret eli raja-arvoa ei ole olemassa. Kun h > 0, niin f (0 + h) f (0) h ja kun h < 0, niin = h h = h h = 1 1 kun h 0 f (0 + h) f (0) h Siten f ei ole derivoituva nollassa. = h h = h = 1 1 kun h 0. h
Matematiikkaa - derivaattoja d dx x a = ax a 1, kaikilla a R, d dx ex = e x, d dx sin x = cos x, d dx cos x = sin x, d dx tan x = 1 cos 2 x = 1 + tan2 x, d dx log x = 1 x, kun x > 0.
Matematiikkaa - derivaatan ketjusääntö Ketjusääntö Olkoot f ja g derivoituvia funktioita. Funktio f g on derivoituva ja (f g) (x) = f (g(x))g (x) kaikilla x. Leibnizin merkintä: Merkitään h = f g, y = g(x) ja z = f (y). Funktioiden f ja g derivaatat Leibnizin merkinnöin ovat g (x) dy f (y) dz dy. Ketjusääntö tässä muodossa on dz dx = dz dy dy dx. dx ja
Matematiikkaa - derivaatan ketjusääntö Esimerkki Olkoon f : R R, f (x) = (sin 2x + 3) 2. Funktio f on yhdistetty funktio v g h kolmesta funktiosta h(x) = 2x, g(y) = sin y + 3 ja v(z) = z 2. Ketjusääntö kahteen kertaan antaa f (x) = v (g(h(x)))(g h) (x) = v (g(h(x)))g (h(x))h (x) = 2(sin 2x + 3)(cos 2x)2.
Aktivointifunktiot - Sigmoid Sigmoid-funktio σ : R ]0, 1[, σ(x) = 1 1+e x = 1 1+ 1 e x rajoitettu, aidosti kasvava, jatkuva σ C (R) ja σ (x) = e x (1 + e x ) 2 = σ(x)(1 σ(x)). lim σ(x) = 0, lim σ(x) = 1 x x
Aktivointifunktiot - Sigmoid σ(x) = 1 1+e x kasvaa hyvin hitaasti kun x kasvaa ja vähenee hyvin hitaasti kun x vähenee Häviävän gradientin ongelma: σ = σ(x)(1 σ(x)) on hyvin pieni kun x on suuri tai pieni = verkko oppii hitaasti käytettäessä derivaattoihin perustuvia menetelmiä ei ole symmetrinen nollan suhteen käytetään lähinnä ulostulokerroksessa varsinkin jos verkon tulokset ovat välillä [0, 1].
Aktivointifunktiot - tanh Hyperbolinen tangentti tanh: R ] 1, 1[, tanh(x) = 1 e 2x 1+e 2x rajoitettu, aidosti kasvava, jatkuva tanh C (R) ja tanh (x) = 1 tanh 2 (x) lim tanh(x) = 1, lim tan(x) = 1 x x symmetrinen nollan suhteen, kasvaa nopeammin nollan lähellä kuin σ
Aktivointifunktiot - ReLu ReLu (Rectified Linear Unit f : R [0, [, f (x) = max{0, x}. kasvava, jatkuva ei ole derivoituva nollassa lim x f (x) = f (x) = 0 ja f (x) = 0 kun x < 0 = neuronien painot saattavat päivittyä oppimisen aikana nollaksi jolloin neuronit kuolevat
Aktivointifunktiot - ReLu yksinkertainen ja tehokas hyvin yleinen syväoppimisessa (deep learning) käytä vain piilokerroksissa häviävän gradientin ongelman korjaa Leaky ReLu, f : R R, f (x) = max{ax, x} 0 < a < 1.
Luennon kuvat: Johdatus tekoa lyn taustalla olevaan matematiikkaan