Johdatus tekoälymatematiikkaan (kurssilla Johdatus Watson-tekn

Samankaltaiset tiedostot
Johdatus tekoälyn taustalla olevaan matematiikkaan

Johdatus tekoälyn taustalla olevaan matematiikkaan

Johdatus tekoälyn taustalla olevaan matematiikkaan

Johdatus tekoälyn taustalla olevaan matematiikkaan

JOHDATUS TEKOÄLYYN TEEMU ROOS

Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun

JOHDATUS TEKOÄLYYN TEEMU ROOS

ImageRecognition toteutus

Kognitiivinen mallintaminen Neuraalimallinnus, luento 1

JOHDATUS TEKOÄLYYN TEEMU ROOS

Johdatus tekoälyn taustalla olevaan matematiikkaan

Tekoälyn perusteita ja sovelluksia (TIEP1000)

Johdatus tekoälyn taustalla olevaan matematiikkaan

Tällä kerralla ohjelmassa. Kognitiivinen mallintaminen Neuraalimallinnus Kertausta: Perseptronin oppimissääntö

Kognitiivinen mallintaminen. Nelli Salminen

TEEMU ROOS (KALVOT MUOKATTU PATRIK HOYERIN LUENTOMATERIAALISTA)

Matematiikka B1 - avoin yliopisto

MS-A0207 Differentiaali- ja integraalilaskenta 2 Luento 5: Gradientti ja suunnattu derivaatta. Vektoriarvoiset funktiot. Taylor-approksimaatio.

MS-A0202 Differentiaali- ja integraalilaskenta 2 (SCI) Luento 4: Ketjusäännöt ja lineaarinen approksimointi

Numeeriset menetelmät TIEA381. Luento 8. Kirsi Valjus. Jyväskylän yliopisto. Luento 8 () Numeeriset menetelmät / 35

MS-A0207 Differentiaali- ja integraalilaskenta 2 (Chem) Yhteenveto, osa I

Antti Rasila. Kevät Matematiikan ja systeemianalyysin laitos Aalto-yliopisto. Antti Rasila (Aalto-yliopisto) MS-A0204 Kevät / 16

MS-A0205/MS-A0206 Differentiaali- ja integraalilaskenta 2 Luento 3: Osittaisderivaatta

Lauri Sintonen KEINOTEKOISTEN NEUROVERKKOJEN HYÖDYNTÄMINEN AUTOMAATTISESSA LINTUJEN TUNNISTAMISESSA ÄÄNEN PERUSTEELLA

Talousmatematiikan perusteet: Luento 6. Derivaatta ja derivaattafunktio Derivointisääntöjä Ääriarvot ja toinen derivaatta

Derivaatta: funktion approksimaatio lineaarikuvauksella.

Talousmatematiikan perusteet: Luento 6. Derivaatta ja derivaattafunktio Derivointisääntöjä Ääriarvot ja toinen derivaatta

Matematiikan tukikurssi

MS-A0205/MS-A0206 Differentiaali- ja integraalilaskenta 2 Luento 4: Ketjusäännöt ja lineaarinen approksimointi

Numeeriset menetelmät TIEA381. Luento 6. Kirsi Valjus. Jyväskylän yliopisto. Luento 6 () Numeeriset menetelmät / 33

1 Rajoittamaton optimointi

Kuva 1: Funktion f tasa-arvokäyriä. Ratkaisu. Suurin kasvunopeus on gradientin suuntaan. 6x 0,2

Viikon aiheet. Funktion lineaarinen approksimointi

r > y x z x = z y + y x z y + y x = r y x + y x = r

l 1 2l + 1, c) 100 l=0

Luento 8: Epälineaarinen optimointi

Takaisinkytkeytyvät neuroverkot. 1 Johdanto. Toni Helenius. Tiivistelmä

1. NEUROVERKKOMENETELMÄT

Funktioiden approksimointi ja interpolointi

Oletetaan, että funktio f on määritelty jollakin välillä ]x 0 δ, x 0 + δ[. Sen derivaatta pisteessä x 0 on

VEKTORIANALYYSIN HARJOITUKSET: VIIKKO 4

12. Hessen matriisi. Ääriarvoteoriaa

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 6: Ääriarvojen luokittelu. Lagrangen kertojat.

1. NEUROVERKKOMENETELMÄT

f(x 1, x 2 ) = x x 1 k 1 k 2 k 1, k 2 x 2 1, 0 1 f(1, 1)h 1 = h = h 2 1, 1 12 f(1, 1)h 1 h 2

. Kun p = 1, jono suppenee raja-arvoon 1. Jos p = 2, jono hajaantuu. Jono suppenee siis lineaarisesti. Vastaavasti jonolle r k+1 = r k, suhde on r k+1

MS-C1340 Lineaarialgebra ja

Numeeriset menetelmät

Numeeriset menetelmät

y x1 σ t 1 = c y x 1 σ t 1 = y x 2 σ t 2 y x 2 x 1 y = σ(t 2 t 1 ) x 2 x 1 y t 2 t 1

MATEMATIIKAN PERUSKURSSI I Harjoitustehtäviä syksy Millä reaaliluvun x arvoilla. 3 4 x 2,

Numeeriset menetelmät

Pienimmän neliösumman menetelmä

l 1 2l + 1, c) 100 l=0 AB 3AC ja AB AC sekä vektoreiden AB ja

MS-A0205/MS-A0206 Differentiaali- ja integraalilaskenta 2 Luento 6: Ääriarvojen luokittelu. Lagrangen kertojat.

Luento 8: Epälineaarinen optimointi

Tee-se-itse -tekoäly

3.2.2 Tikhonovin regularisaatio

Talousmatematiikan perusteet: Luento 14. Rajoittamaton optimointi Hessen matriisi Ominaisarvot Ääriarvon laadun tarkastelu

Backpropagation-algoritmi

(1.1) Ae j = a k,j e k.

Funktion määrittely (1/2)

Matematiikan tukikurssi

Oletetaan ensin, että tangenttitaso on olemassa. Nyt pinnalla S on koordinaattiesitys ψ, jolle pätee että kaikilla x V U

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Cantorin joukko LUKU 8

Johdatus reaalifunktioihin P, 5op

MS-A0102 Differentiaali- ja integraalilaskenta 1

jakokulmassa x 4 x 8 x 3x

MS-C1340 Lineaarialgebra ja

2 Funktion derivaatta

Ratkaisuehdotukset LH 7 / vko 47

Matematiikan tukikurssi

Numeeriset menetelmät TIEA381. Luento 5. Kirsi Valjus. Jyväskylän yliopisto. Luento 5 () Numeeriset menetelmät / 28

Taustatietoja ja perusteita

Ongelma(t): Miten digitaalista tietoa voidaan toisintaa ja visualisoida? Miten monimutkaista tietoa voidaan toisintaa ja visualisoida?

k=0 saanto jokaisen kolmannen asteen polynomin. Tukipisteet on talloin valittu

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 5: Taylor-polynomi ja sarja

Numeeriset menetelmät

3 = Lisäksi z(4, 9) = = 21, joten kysytty lineaarinen approksimaatio on. L(x,y) =

Tekoäly ja alustatalous. Miten voit hyödyntää niitä omassa liiketoiminnassasi

Tehtävä 1. Näytä, että tason avoimessa yksikköpallossa

Numeerinen analyysi Harjoitus 3 / Kevät 2017

Kimppu-suodatus-menetelmä

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Talousmatematiikan perusteet: Luento 13. Rajoittamaton optimointi Hessen matriisi Ominaisarvot ja vektorit Ääriarvon laadun tarkastelu

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

Kaikkia alla olevia kohtia ei käsitellä luennoilla kokonaan, koska osa on ennestään lukiosta tuttua.

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä.

Viikko 3: Lineaarista regressiota ja luokittelua Matti Kääriäinen

, on säännöllinen 2-ulotteinen pinta. Määrää T x0 pisteessä x 0 = (0, 1, 1).

Johdatus tekoälyyn. Luento : Koneoppiminen. Patrik Hoyer. [ Kysykää ja kommentoikaa luennon aikana! ]

Matematiikan tukikurssi

x j x k Tällöin L j (x k ) = 0, kun k j, ja L j (x j ) = 1. Alkuperäiselle interpolaatio-ongelmalle saadaan nyt ratkaisu

Yhdistetty funktio. Älä sekoita arvo- eli kuvajoukkoa maalijoukkoon! (wikipedian ongelma!)

Oletetaan, että virhetermit eivät korreloi toistensa eikä faktorin f kanssa. Toisin sanoen

Transkriptio:

Johdatus tekoälymatematiikkaan (kurssilla Johdatus Watson-tekniikkaan ITKA352) Informaatioteknologian tiedekunta Jyväskylän yliopisto 23.3.2018

Tekoälyn historiaa 6 1 Introduction Kuva Fig. lähteestä 1.3 History of [?]. the various AI areas. The width of the bars indicates prevalence of the method s use

Koneoppiminen Koneoppiminen on tekoälyn osa-alue, jossa kone/ohjelma oppii pohjatiedon ja käyttäjän toiminnan perusteella. Kaikkia erilaisia tilanteita varten ei ole erillistä ohjetta vaan oppiminen tapahtuu kokemuksen pohjalta. Ohjattu oppiminen Konetta opetetaan luokitellun aineiston (syöte-tavoite-parit) avulla. Halutaan, että kone osaa tehdä luokittelun samankaltaiselle aineistolle. (Käsinkirjoitettujen numeroiden tunnistus.) Ohjaamaton oppiminen Jäljittelee ihmisen oppimista. Opettamiseen käytetään raakadataa, josta pyritään löytämään samankaltaisuuksia ja suhteita eri syötteiden välillä. (Akateemikko Teuvo Kohosen 1980-luvulla kehittämä itseorganisoituva kartta.) Vahvistettu oppiminen Kone oppii ympäristön antaman palautteen perusteella. (Robotiikka.)

Ohjattu, ohjaamaton ja vahvistettu oppiminen

Ohjattu oppiminen Syöte-tavoite-parien (x, y) valinta. (esim. käsinkirjoitetun tekstin tunnistamisessa kirjain/sana/rivi) Opetusesimerkkijoukon valinta. Syötteen ominaisuusvektorin x = (x 1,..., x n ) valinta. Montako ominaisuutta? Mitkä ominaisuudet? Opetusmenetelmän -ja algoritmin valinta. Päätöspuu/tukivektorikone/neuroverkko/Bayes-verkko/...? Alkuparametrien valinta. Koneen opettaminen opetusesimerkkijoukon avulla. Parametrien päivittäminen. Testaaminen testijoukon avulla.

Keinotekoiset neuroverkot Jäljittelevät ihmisen aivojen toimintaa. Keksittiin 1940-luvulla. Uusi aalto 1990-luvulla - eivät olleet muita menetelmiä parempia ja silloisilla tietokoneilla ei voitu käsitellä neuroverkkojen opettamisessa tarvittavia suuria datamääriä. 2010-luvulla koneiden nopeutuminen ja datan määrän valtava kasvaminen ovat kasvattaneet innostusta syväoppimiseen (deep learning) = toinen uusi aalto! Kuvantunnistus, konenäkö, puheentunnistus, kieltenkääntäjät, pelit ja lääketieteelliset diagnoosit.

Keinotekoiset neuroverkot Neuroverkko koostuu syöte- ja ulostulokerroksesta ja niiden välissä olevista piilokerroksista. Neuroverkko on funktio f : R n R m. Syöte on n-ulotteinen vektori x = (x 1, x 2,..., x n ), piilokerrokset hoitavat laskutehtävän ja ulostulokerroksesta saadaan funktion arvo f (x) = y = (y 1, y 2,..., y m ).

Keinotekoiset neuroverkot Piilokerroksien ja ulostulokerroksen jokaisessa neuronissa lasketaan syötekerroksesta tai piilokerroksesta tulleiden syötteiden painotettu summa ja siihen lisätään neuronin vakiotermi. Ennen neuronin tuloksen lähettämistä seuraavalle neuronille summa viedään aktivointifunktioon. Aktivointifunktiot muuttavat affiinin (eli ensimmäisen asteen polynomin) syötteen epälineaariseksi. (Ohjatussa oppimisessa) tulosta verrataan syötettä x vastaavaan tavoitteeseen y ja verkkoa opetetaan tuloksen ja tavoitteen välisen virheen avulla.

Neuroverkkoesimerkki (1 piilokerros) Syötevektorin komponentit x 1 ja x 2 kerrotaan piilokerroksen neuroneiden painoilla wij 0, lasketaan yhteen ja summaan lisätään piilokerroksen neuronin vakiotermi b i :

Neuroverkkoesimerkki (1 piilokerros) z 1 1 = w 0 11x 1 + w 0 21x 2 + b 1 = z 1 2 = w 0 12x 1 + w 0 22x 2 + b 2 = 2 i=1 2 i=1 w 0 i1x i + b 1, w 0 i2x i + b 2, summat z3 1 ja z1 4 lasketaan samaan tapaan. Nämä summat viedään piilokerroksen aktivointifunktiolle. Piilokerroksen neuronien antamat syötteet ulostulokerrokselle ovat a 1 = ϕ(z 1 ), a 2 = ϕ(z 2 ), a 3 = ϕ(z 3 ) ja a 4 = ϕ(z 4 ). Verkon antama tulos saadaan käyttämällä piilokerroksen ja ulostulokerroksen välisiä painoja ja aktivointifunktiota: ( 4 t = ϕ(z1 2 ) = ϕ wi1a 1 i ). i=1

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, bj l = kerroksen l neuronin j vakiotermi, z l j = kerroksen l neuronia j vastaava summa z l j = N l 1 i=1 a l j = kerroksen l neuronin j tulos a l j = ϕ(z l j ) = ϕ w l ija l 1 i + b l j, ( N l 1 i=1 ) wija l l 1 i + bj l, missä ϕ on aktivointifunktio (voi vaihdella kerroksesta toiseen).

Perseptroni - yksinkertaisin neuroverkko 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 ), painovektori w = (w 1, w 2,..., w 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 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 painoissa 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

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.

Neuroverkon opettaminen - gradienttimenetelmä Neuroverkkoa opetetaan syöte-tavoite-pareilla (x, y) eli opetusesimerkeillä. Neuronien parametrit alustetaan ja verkon syötteelle x antamaa tulosta t verrataan valitulla virhefunktiolla tavoitteeseen y. Virhefunktion arvo lasketaan valitulla opetusesimerkkijoukolla. Tavoitteena on virhefunktion minimointi. Kaikkien neuronien vaikutus virheeseen ja virhefunktion E osittaisderivaatat E E w ja b verkon kaikkien painojen w ja vakiotermien b suhteen lasketaan esimerkiksi vastavirta-algoritmilla. Osittaisderivaatoista saadaan gradientti E.

Neuroverkon opettaminen - gradienttimenetelmä Virhefunktion gradientti E kertoo nopeimman kasvun ja siten gradientin vastavektori E nopeimman vähenemisen suunnan. Sopivilla askelilla nopeimman vähenemisen suuntaan siirtymällä löydetään (gradienttimenetelmään sopiville funktioille) lokaali minimi. Kun piilokerroksen parametreja on muutettu niin, että verkko toimii halutulla tavalla opetusesimerkeille, sen toimintaa tarkastetaan testiesimerkeillä. Gradientti Olkoon f : R n R funktio, jolla on osittaisderivaatat kaikkien muuttujien x i, i {1,..., n} suhteen. Funktion f gradientti on vektori ( f f (x) = (x), f (x),..., f ) (x). x 1 x 2 x n

Neuroverkon opettaminen - gradienttimenetelmä Kun etsitään gradienttimenetelmällä minimiä kahden muuttujan funktiolle, niin kuvaajan voi ajatella kumpuilevaksi maastoksi. Rinteessä seisova ihminen haluaa mennä laakson pohjalle jyrkkyydestä välittämättä. Gradienttimenetelmän keinolla alas mennään vähän matkaa jyrkintä rinnettä (gradientin vastavektorin suuntaan), pysähdytään ja valitaan taas jyrkin suunta. Näin jatketaan, kunnes päästään laakson pohjalle. Jos laaksoja on monta, niin liian pitkä siirtymä yhteen suuntaan voi johtaa väärän laakson pohjalle

Neuroverkon opettaminen - virhefunktio Monesti syötettä 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ä?

Gradientin laskeminen vastavirta-algoritmilla Esimerkki Ulostulokerroksessa on 2 ja viimeisessä piilokerroksessa 3 neuronia. Lasketaan virhefunktion osittaisderivaatat ulostulokerroksen painojen suhteen.

Vastavirta-algoritmi - ulostulokerros - esimerkki ulostulokerroksen aktivointifunktio ϕ(t) = t ulostulokerroksen vakiotermit b L 1 = bl 2 = 0 virhefunktio E = 1 2 y t 2 = 1 2 ( (t 1 y 1 ) 2 +(t 2 y 2 ) 2). ulostulokerroksen neuronien tulokset t j = ϕ(z j ) = z j = 3 k=1 w L kj al 1 k, j = 1, 2.

Vastavirta-algoritmi - ulostulokerros - esimerkki Lasketaan virhefunktion osittaisderivaatta ulostulokerroksen 1. neuronia vastaavien painojen w L i1 suhteen. Ulostulokerroksen 2. neuronin tulos on t 2 = z 2 = 3 k=1 w L k2 al 1 k. = Painot w 11, w 21 ja w 31 eivät vaikuta ulostuloon t 2. = Virhefunktiossa (t 2 y 2 ) 2 on vakio osittaisderivoinneissa painojen w 11, w 21 ja w 31 suhteen. = Kaikilla i = 1, 2, 3 on E w L i1 = 1 wi1 L 2 (t 1 y 1 ) 2 = (t 1 y 1 ) w L i1 (t 1 y 1 ).

Vastavirta-algoritmi - ulostulokerros - esimerkki Summan t 1 = z 1 = 3 k=1 w L k1 al 1 k termit, joissa on wk1 L, k i, ja y 1 ovat wi1 L :n suhteen vakiota. = wi1 L (t 1 y 1 ) = wi1 L = E w L i1 Vastaavasti saadaan E w L i2 3 k=1 w L k1 al 1 k = (t 1 y 1 )a L 1 i, i = 1, 2, 3. = (t 2 y 2 ) w L i2 = a L 1 i, i = 1, 2, 3 (t 2 y 2 )= (t 2 y 2 )a L 1 i.

Vastavirta-algoritmi - ulostulokerros Derivoinnin ketjusääntöä käyttäen saadaan laskettua yleinen tilanne. Jos ulostulokerroksessa on m neuronia, aktivointifunktio on ϕ ja virhefunktio on E = 1 2 y t 2 = 1 ( m (t k y k ) 2), 2 k=1 niin osittaisderivaatat painojen w L ij suhteen ovat E w L ij ja vakiotermien suhteen = (t j y j )ϕ (z L j )a L 1 i E b L j = (t j y j )ϕ (z j ).

Vastavirta-algoritmi - piilokerrokset Piilokerroksissa osittaisderivaatat ovat: E w l ij E b l j N l+1 = a l 1 i ϕ (zj l ) N l+1 = ϕ (zj l ) k=1 k=1 E z l+1 k E z l+1 k w l+1 jk. w l+1 jk.

Vastavirta-algoritmi - piilokerrokset Mieti, miksi osittaisderivaattoja painojen wij l suhteen ei lasketa erotusosamäärien E(w i +he i ) E(w i ) h avulla? (Painot järjestetty jonoon, e i on i. kantavektori.) Vastavirta: Osittaisderivaatat kerroksen l suhteen saadaan laskettua rekursiivisesti kerroksen l + 1 osittaisderivaattojen avulla. Aloita ulostulokerroksesta ja jatka kerros kerrokselta kohti syötekerrosta. Uudet painot vastavirta-algoritmin jälkeen ovat w l ij w l ij α E w l ij ja b l j b l j α E b l j missä α on verkon oppimisnopeus.

Vastavirta-algoritmi - huomioita Jos kerroksen l 1 syöte a l 1 i on pieni, niin kerroksen l osittaisderivaatat E ovat pieniä. wij l Jos osittaisderivaatta painojen suhteen on pieni, niin painot muuttuvat vastavirta-algoritmissa vähän ja neuroni oppii hitaasti. Aktivointifunktion derivaatat vaikuttavat virheen osittaisderivaattoihin ja siten neuroneiden parametrien muutokseen. Jos aktivointifunktion derivaatta on pieni, niin parametrit muuttuvat vähän ja neuronit oppivat hitaasti.

Vastavirta-algoritmi - huomioita Verkon käyttötarkoitukseen sopivan virhefunktion ja aktivointifunktioiden valinta on tärkeää. Muista aktivointifunktioiden ja niiden derivaattojen käyttäytyminen: Verkon eri kerroksissa voidaan käyttää eri aktivointifunktioita. (Käytä laskuissa ja kaavoissa verkon kerrosta vastaavia alaindeksejä ϕ l.)

Lineaarialgebraa Neuroverkon parametreihin liittyvät kaavat annetaan monesti vektorien- ja matriisien avulla. Kerroksen l parametrit ovat vakiotermit b l = (b l 1,..., bl N l ), painotetut summat z l = (z l 1,..., zl N l ) neuronien tulokset a l = (a l 1,..., al N l ) ja painot jolloin W l = w11 l w12 l... w1n l l w21 l w22 l... w2n l l... wn l l 1 1 wn l l 1 2... wn l l 1 N l, z l = a l 1 W l + b l ja a l = ϕ(z l ) = (ϕ(z l 1),..., ϕ(z l N l )).

Lineaarialgebraa Vastavirta-algoritmin, gradienttimenetelmän ja muiden algoritmien toteutus tehdään ohjelmistokirjastojen tehokkaiden vektori- ja matriisilaskentapakettien (esim. NumPy) avulla. Yksittäisiä parametreja ei kannata käsitellä silmukoilla. Lineaarialgebran opiskelu aloitetaan yleensä lineaarisen yhtälöryhmän ratkaisemista. Siitä on kyse myös neuroverkon parametrien etsinnässä.

W. Ertel: Introduction to Artificial Intelligence, Springer, 2011 ConvNetJS - Deep Learning in your browser Playgroung TensorFlow