81
Povratne neuronske mreže Martin Tutek 6. Prosinac, 2017.

Povratne neuronske mreže

  • Upload
    dangbao

  • View
    244

  • Download
    5

Embed Size (px)

Citation preview

Page 1: Povratne neuronske mreže

Povratne neuronske mreže

Martin Tutek6. Prosinac, 2017.

Page 2: Povratne neuronske mreže

Uvod

Page 3: Povratne neuronske mreže

U prvom ciklusu

Obradili smo:• Modele za podatke s fiksnom

dimenzionalnošću

Primjeri slika iz CIFAR10

• Modele za podatke seksplicitnom međuovisnošću

Multivarijatna normalna razdioba1

Page 4: Povratne neuronske mreže

U prvom ciklusu

Obradili smo:• Modele za podatke s fiksnom

dimenzionalnošću

Multivarijatna normalna razdioba

• Modele za podatke seksplicitnom međuovisnošću

Primjeri slika iz CIFAR102

Page 5: Povratne neuronske mreže

U prvom ciklusu

Fiksna dimenzionalnost ulaznih podataka:

• Dimenzionalnost multivarijatne normalne razdiobe je fiksna za svakiuzorak iz razdiobe xi ∈ Rd

• Svaka slika iz CIFAR10 je dimenzija 32x32x3 (WxHxC)• Nije eksplicitno: (random) crop, pad, max/avg pooling,

interpolacija za skaliranje slika na iste dimenzije

Eksplicitna međuovisnost:

• Normalna razdioba: Definirana vektorom µ i matricom Σ

• Slike: slični pikseli (po boji) imaju slični intenzitet• Nije eksplicitno: lokalna korelacija → pikseli blizu jedan drugog su

vjerojatnije povezani (“riješeno” konvolucijskim filtrima)

3

Page 6: Povratne neuronske mreže

U prvom ciklusu

Fiksna dimenzionalnost ulaznih podataka:

• Dimenzionalnost multivarijatne normalne razdiobe je fiksna za svakiuzorak iz razdiobe xi ∈ Rd

• Svaka slika iz CIFAR10 je dimenzija 32x32x3 (WxHxC)• Nije eksplicitno: (random) crop, pad, max/avg pooling,

interpolacija za skaliranje slika na iste dimenzije

Eksplicitna međuovisnost:

• Normalna razdioba: Definirana vektorom µ i matricom Σ

• Slike: slični pikseli (po boji) imaju slični intenzitet• Nije eksplicitno: lokalna korelacija → pikseli blizu jedan drugog su

vjerojatnije povezani (“riješeno” konvolucijskim filtrima)

3

Page 7: Povratne neuronske mreže

Obrada prirodnog jezika

Prevedite iduću rečenicu na engleski jezik:

Duboko učenje je super.

Deep learning is great.

• Implicitno smo:• Razdvojili rečenicu (sekvencu slova) na smislene komponente• Razumjeli da izraz “duboko učenje” nije učenje na velikim dubinama

već podvrsta strojnog učenja• Shvatili značenje rečenice na ulaznom (source) jeziku bez

specifikacije koji je to jezik• Generirali rečenicu proizvoljne duljine na ciljnom jeziku

• Tekst:• Nije fiksne dimenzije (duljina rečenice varira)• Nema* eksplicitnu međuovisnost (donekle ima kroz sličnost slova)

4

Page 8: Povratne neuronske mreže

Obrada prirodnog jezika

Prevedite iduću rečenicu na engleski jezik:

Duboko učenje je super.

Deep learning is great.

• Implicitno smo:• Razdvojili rečenicu (sekvencu slova) na smislene komponente• Razumjeli da izraz “duboko učenje” nije učenje na velikim dubinama

već podvrsta strojnog učenja• Shvatili značenje rečenice na ulaznom (source) jeziku bez

specifikacije koji je to jezik• Generirali rečenicu proizvoljne duljine na ciljnom jeziku

• Tekst:• Nije fiksne dimenzije (duljina rečenice varira)• Nema* eksplicitnu međuovisnost (donekle ima kroz sličnost slova)

4

Page 9: Povratne neuronske mreže

Obrada prirodnog jezika

Prevedite iduću rečenicu na vijetnamski jezik:

インタ—ネットを待つ

Chờ internet ở đâu

(Where is the nearest internet shop)

• Jezik računalima izgleda otprilike kao što nama (koji ne znamojapanski) izgleda japanski

• Pojmovi značenja riječi, sličnosti riječi i jezičnih jedinica nisudefinirani

• Najčešće, prije obrade teksta algoritmima strojnog učenja možemobarem inicijalizirati te pojmove pomoću vektorskih (distribuiranih)reprezentacija riječi

5

Page 10: Povratne neuronske mreže

Obrada prirodnog jezika

Prevedite iduću rečenicu na vijetnamski jezik:

インタ—ネットを待つ

Chờ internet ở đâu

(Where is the nearest internet shop)

• Jezik računalima izgleda otprilike kao što nama (koji ne znamojapanski) izgleda japanski

• Pojmovi značenja riječi, sličnosti riječi i jezičnih jedinica nisudefinirani

• Najčešće, prije obrade teksta algoritmima strojnog učenja možemobarem inicijalizirati te pojmove pomoću vektorskih (distribuiranih)reprezentacija riječi

5

Page 11: Povratne neuronske mreže

Obrada prirodnog jezika

Prevedite iduću rečenicu na vijetnamski jezik:

インタ—ネットを待つ

Chờ internet ở đâu

(Where is the nearest internet shop)

• Jezik računalima izgleda otprilike kao što nama (koji ne znamojapanski) izgleda japanski

• Pojmovi značenja riječi, sličnosti riječi i jezičnih jedinica nisudefinirani

• Najčešće, prije obrade teksta algoritmima strojnog učenja možemobarem inicijalizirati te pojmove pomoću vektorskih (distribuiranih)reprezentacija riječi

5

Page 12: Povratne neuronske mreže

Reprezentacije podataka

Page 13: Povratne neuronske mreže

Analiza teksta

6

Page 14: Povratne neuronske mreže

Reprezentacije riječi - one-hot

7

Page 15: Povratne neuronske mreže

Reprezentacije rečenica - bag-of-words

• ”Vreća riječi” reprezentacija• Svaku riječ reprezentiramo s rijetkim vektorom iz {0, 1}|V|, pri čemu

je | V | veličina vokabulara koji koristimo.• Niz riječi reprezentiramo s vektorom veličine | V |, pri čemu su

elementi veltora na indeksima koji odgovaraju riječima u nizu 1(upaljeni, hot)

8

Page 16: Povratne neuronske mreže

Reprezentacije rečenica - bag-of-words

9

Page 17: Povratne neuronske mreže

Reprezentacije rečenica - bag-of-words

• Problemi:1. Veličina vokabulara | V | je obično jako velika

• U logističkoj regresiji, trebamo naučiti težinu za svaku riječ uvokabularu

2. Nemamo pojam sličnosti između riječi• sim(avion, zrakoplov) = sim(avion, pas)• Pri čemu je sim proizvoljna mjera sličnosti (npr. kosinusna sličnost)

3. Gubimo pojam redoslijeda riječi• Pri reprezentaciji rečenice, imamo samo informaciju koje su se riječi

pojavile u rečenici, ali ne i kojim redoslijedom• bow(”duboko ucenje je super ali”) = bow(”super je ucenje ali

duboko”)

• U nastavku ćemo se prvo baviti rješavanjem problema 1. i 2. krozdistribuirane reprezentacije riječi, a potom problemom 3. krozpovratne neuronske mreže

10

Page 18: Povratne neuronske mreže

Distribuirane reprezentacije riječi

• Ideja: umjesto velikog i rijetkog vektora nula i jedinica, iskoristitigusti d-dimenzionalni vekor realnih brojeva Rd u kojemu će svakariječ biti jedinstveno određena kao točka u prostoru

Vizualizacija distribuiranih reprezentacija riječi iz [3]

11

Page 19: Povratne neuronske mreže

Model matrice susjedstva

• Matrica susjedstva• Firth-ova hipoteza distribucijske semantike - ”poznavati ćete riječ po

njenom društvu”• Svaka riječ će biti reprezentirana s vektorom wi, pri čemu su elementi

vektora wij = count5(wi,wj). Count5 je funkcija koja broji koliko putase riječi wi i wj nalaze unutar udaljenosti od 5 jedna od druge unekom skupu podataka (npr. engleska Wikipedija)

• Plus: imamo informaciju o sličnosti riječi (2.)• Minus: koristimo matricu veličine | V |2 12

Page 20: Povratne neuronske mreže

Modeli redukcije dimenzionalnosti

• Dekompozicija matrice susjedstva (SVD, LSI, LSA, NMF)• Ponovno računamo matricu susjedstva M, no sad joj smanjujemo

dimenzionalnost• Tražimo vektor vi ∈ Rk za svaku riječ wi ∈ VN

• Pri čemu je N veličina vokabulara, a k << N dimenzija vektora kojeučimo

• Minimiziramo npr. rekonstrukcijsku grešku

• Podsjetnik: SVDA = UΣVT

• A = velika matrica realnih brojeva (u našem slučaju, dimenzija NxN)• UTU = I, VTV = I (I = matrica identiteta)• Σ = dijagonalna matrica svojstvenih vrijednosti sortiranih po

padajućim vrijednostima• U, Σ, V - jedinstveni!

13

Page 21: Povratne neuronske mreže

Modeli redukcije dimenzionalnosti - SVD

• Jesmo li zadovoljni s ovom dekompozicijom?

• Nismo!• Ali, možemo odabrati najbitnijih k elemenata matrice svojstvenih

vrijednosti (najbitnijih = najvećih)

14

Page 22: Povratne neuronske mreže

Modeli redukcije dimenzionalnosti - SVD

• Jesmo li zadovoljni s ovom dekompozicijom?• Nismo!• Ali, možemo odabrati najbitnijih k elemenata matrice svojstvenih

vrijednosti (najbitnijih = najvećih)

14

Page 23: Povratne neuronske mreže

Modeli redukcije dimenzionalnosti - SVD

• Zapravo želimo matricu U dimenzija Nxk koja transformiraN-dimenzionalne rijetke vektore susjedstva za svaku riječ uk-dimenzionalan gusti vektor

• Kroz ovu projekciju interesantna svojstva postanu izraženija

15

Page 24: Povratne neuronske mreže

Modeli redukcije dimenzionalnosti - interesantna svojstva

• Kroz prisiljavanje na kompresiju podataka, algoritam je grupiraoslične koncepte

• Plus: imamo informaciju o sličnosti riječi (2.)• Plus: dimenzija k je mnogo manja od veličine vokabulara N (1.)• Može li bolje?

16

Page 25: Povratne neuronske mreže

Klasifikacijski modeli

• Može:• u dosadašnjim pristupima koristimo samo pozitivne primjere (nizove

riječi koje stvarno vidimo u tekstu)

• Ideja:• klasifikacijski zadatak u kojem neki klasifikator (npr. logistička

regresija) za zadanu centralnu riječ wi i njen kontekst ci (riječiudaljene za ≤ k od wi) predviđa da li je niz riječi ispravan

• Izvedba:• Za svaku centralnu riječ učimo vektor težina wi

• Za svaki kontekst učimo vektor težina wc

f(x) = σ(wi · wc)

• Problem - ”pripada li riječ u kontekst”• Logloss + trikovi (negative sampling, hierarchical softmax,

subsampling, ...)

17

Page 26: Povratne neuronske mreže

Klasifikacijski modeli

18

Page 27: Povratne neuronske mreže

Klasifikacijski modeli

• Word2Vec• ”Efficient Estimation of Word Representations in Vector Space” T.

Mikolov et al. [2]

(a) Muško - žensko(b) Država - glavni grad

Regularnosti u reprezentacijama riječi

19

Page 28: Povratne neuronske mreže

Svojstva vektorskih reprezentacija riječi

• Mikolov et al. uvode tzv. ”igru analogija”• ”Man is to woman as king is to x”

x = vec(king)− vec(man) + vec(woman)

mini

abs(veci − x) = vec(queen)

• O. Levy i Y. Goldberg [1] pokazuju da su ova svojstva prisutna i utradicionalnim reprezentacijama pomoću matrica sličnosti, no danačin treniranja izražava određene konceptualne veze

20

Page 29: Povratne neuronske mreže

Sažetak

• Riješili smo probleme 1. i 2.• Smanjili smo dimenzionalnost vektorskog zapisa riječi• Uspješno smo uhvatili sličnost između riječi• Sve sa plitkim modelima

• Opstaje problem 3.• Ne koristimo redoslijed riječi• Procesiranje slijedova varijabilne duljine - kako?

• U nastavku• Problem strojnog prevođenja & povratne neuronske mreže

21

Page 30: Povratne neuronske mreže

Problem strojnog prevođenja

Page 31: Povratne neuronske mreže

Strojno prevođenje

• Strojno prevođenje je problem u kojemu dobivamo tekst (nizznakova w1, . . . ,wT) u ulaznom jeziku, a cilj nam je smislenoreproducirati ulazni tekst u zadanom izlaznom jeziku.

22

Page 32: Povratne neuronske mreže

Strojno prevođenje - pristup

• Problemu strojnog prevođenja možemo pristupiti modelomunaprijedne neuronske mreže, gdje na temelju ulaznog nizapredviđamo svaku riječ izlaznog niza

• Sve riječi u svakom jeziku spremimo u mape vokabulara veličina Vinte Vout

• Na izlazu kao svaki element izlaznog niza predviđamo najvjerojatnijuriječ iz Vout

• P(Wo,1, . . . ,Wo,T) =

P(Wo,1|Wi,1, . . . ,Wi,T) . . .P(Wo,2|Wi,1, . . . ,Wi,T)

• Tražimo Wout,1, . . . ,Wout,T koji maksimizira zadanu vjerojatnost.

23

Page 33: Povratne neuronske mreže

Pretvorba ulaznog niza u vektore

• Probleme sličnosti riječi i dimenzionalnosti vokabulara smo većriješili pomoću distribuiranih reprezentacija riječi, te ćemo u prvomkoraku mapirati riječi iz ulaznog niza na već naučene reprezentacije

24

Page 34: Povratne neuronske mreže

Pretvorba izlaznih vjerojatnosti u riječi

• Ovisno o notaciji, u vektoru o su ponekad već vjerojatnosti, aponekad log vjerojatnosti, koje se potom skaliraju preko softmaxfunkcije 25

Page 35: Povratne neuronske mreže

Unaprijedna neuronska mreža za strojno prevođenje

26

Page 36: Povratne neuronske mreže

27

Page 37: Povratne neuronske mreže

Problemi?

28

Page 38: Povratne neuronske mreže

Problem: Varijabilna duljina niza

29

Page 39: Povratne neuronske mreže

Problemi...

• Broj parametara• Prosječna duljina rečenice u engleskom jeziku je 15 riječi• Prosječna duljina rečenice u hrvatskom jeziku je 12 riječi• Pretpostavimo li da je veličina reprezentacije riječi 300, a veličina

skrivenog sloja 1000, veličina ulaznog vokabulara 10000, te veličinaizlaznog vokabulara 10000

• Uz sve ovo, u pristupu s jednoslojnom neuronskom mrežom imamo:• Ulazni sloj: 10000 x 300 = 3,000,000 realnih brojeva• Skriveni sloj: 12 x 300 x 1000 = 3,600,000 realnih brojeva• Izlazni sloj: 15 x 1000 x 10000 = 150,000,000 realnih brojeva

• Ogroman broj parametara za treniranje! (sama veličina na disku je700MB u idealnim uvjetima, no teško je optimizirati ovoliki brojparametara)

30

Page 40: Povratne neuronske mreže

Problemi...

• Težine su vezane za poziciju riječi u tekstu

• ...što ne znači da učimo poredak riječi - samo da moramo naučitiisto ponašanje za svaku riječ na svakoj njenoj mogućoj poziciji urečenici (u svakoj matrici težina) 31

Page 41: Povratne neuronske mreže

Problemi...

• Zapravo i ne koristimo poredak riječi u rečenici

• Mreža može naučiti ignorira neke veze - no zašto taj postupakprepustiti mreži?

32

Page 42: Povratne neuronske mreže

Rješenja?

33

Page 43: Povratne neuronske mreže

Dijeljenje parametara

• Neovisno o broju (npr.) riječi na ulazu, koristimo istu matricu U• Rješava:

1. Broj parametara2. Varijabilnu duljinu nizova3. Težine vezane za poziciju u rečenici

• Ne rješava:1. Poredak riječi 34

Page 44: Povratne neuronske mreže

Poredak riječi

• Dodajemo težinsku matricu W koja povezuje skriveni sloj izprethodnog vremenskog koraka s trenutnim skrivenim slojem

35

Page 45: Povratne neuronske mreže

Novi ”neuron”

• Naša nova verzija ”neurona” u svakom koraku prima dva ulaza -vektor prethodnog stanja pomnoženog s matricom W, te vektornovog ulaza pomnožen s matricom U

h(t) = f(Wh(t−1) + Ux(t) + b)

• Pri čemu je f funkcija nelinearnosti, u ovom slučaju tangenshiperbolni, a b vektor pristranosti dimenzije H

36

Page 46: Povratne neuronske mreže

Povratne neuronske mreže

Page 47: Povratne neuronske mreže

Povratna ćelija

• Operacije koje radimo u svakom koraku možemo izolirati u ćeliju,koju u ovom slučaju zovemo (običnom) povratnom ćelijom

37

Page 48: Povratne neuronske mreže

Povratna ćelija kao sloj neuronske mreže, vrijeme

• Povratnu ćeliju možemo interpretirati kao jedan sloj neuronskemreže kojoj je prijenosna funkcija tangens hiperbolni

• Vrijeme u povratnim neuronskim mrežama označava redoslijed kojimse podaci šalju na ulaz

38

Page 49: Povratne neuronske mreže

Izlaz povratne ćelije

39

Page 50: Povratne neuronske mreže

Izlaz povratne ćelije

• Pri računanju izlaza povratne neuronske mreže uvodimo novutežinsku matricu V te vektor pristranosti c.

o(t) = Vh(t) + c

• Ovisno o problemu (regresija, klasifikacija), iz vektora o(t) se nadrugačiji način računa predikcija (y(t))

• U slučaju strojnog prevođenja, predviđamo koja riječ iz vokabularaciljnog jezika ima najveću vjerojatnost kao idući element izlaza 40

Page 51: Povratne neuronske mreže

Povratna neuronska mreža za strojno prevođenje

41

Page 52: Povratne neuronske mreže

Povratna neuronska mreža za strojno prevođenje

• Povratna neuronska mreža u svakom koraku kao izlaz generiranenormalizirane vjerojatnosti u vektoru o(t) dimenzije Y

• Y je broj ciljnih klasa (u problemu strojnog prevođenja, veličinavokabulara ciljnog jezika).

• Vjerojatnosti normaliziramo funkcijom softmax te spremamo uvektor y

ˆy(t) = softmax(o(t))

• Normalizirane vjerojatnosti uspoređujemo sa stvarnom distribucijomna izlazu (na izlazu imamo prijevod u ciljnom jeziku) te koristimogubitak unakrsne entropije

L = −Y∑

i=1yilog(yi)

• Pri čemu je yi stvarna riječ prijevoda u koraku i.

42

Page 53: Povratne neuronske mreže

Gubitak povratne neuronske mreže

43

Page 54: Povratne neuronske mreže

Povratne neuronske mreže - formalizacija

44

Page 55: Povratne neuronske mreže

Povratne neuronske mreže - Hiperparametri

• Veličina skrivenog sloja H određuje kolika je reprezentativna moćmreže

• Uobičajeno je pravilo - što više, to bolje• Problem se može dogoditi ukoliko je veličina skrivenog sloja veća od

dimenzionalnosti podataka, te mreža krene pamtiti ulazne podatke• U praksi, ograničenje je količina dostupne memorije

• Broj vremenskih koraka odmatanja mreže T• T je obično uvjetovan podacima, no u slučaju podataka varijabilne

duljine (tekst, rečenice) možemo odrediti maksimalnu duljinurečenice koju primamo

• U tom slučaju, podaci dulji od T se krate na T, a podaci kraći od Tnpr. nadopunjuju nulama (u praksi drugi pristupi)

• Algoritam optimizacije i stopa učenja• Optimizacija: algoritmi s adaptivnim stopama učenja• U praksi Adam, RMSProp (AdaGrad)

45

Page 56: Povratne neuronske mreže

Povratne neuronske mreže - formalizacija

Radi jednostavnosti, inicijaliziramo skriveno stanje na vektor nula:

h(0) = 0

Projekcija ulaza u skriveno stanje i projekcija prošlog skrivenog stanja uskriveno stanje:

h(t) = tanh(Wh(t−1) + Uxt + b) (1)Projekcija u izlazni sloj:

o(t) = Vh(t) + c (2)Vjerojatnosti izlaznog sloja (klasifikacija):

y(t) = softmax(o(t)) (3)

Gubitak unakrsne entropije:

L(t) =C∑i

y(t)i log(y(t)i ) (4)

46

Page 57: Povratne neuronske mreže

Povratne neuronske mreže - propagacija unaprijed

47

Page 58: Povratne neuronske mreže

Povratne neuronske mreže - propagacija unaprijed

48

Page 59: Povratne neuronske mreže

Povratne neuronske mreže - propagacija unaprijed

49

Page 60: Povratne neuronske mreže

Povratne neuronske mreže - propagacija unaprijed

50

Page 61: Povratne neuronske mreže

Povratne neuronske mreže - propagacija unaprijed

51

Page 62: Povratne neuronske mreže

Povratne neuronske mreže - propagacija unaprijed

52

Page 63: Povratne neuronske mreže

Povratne neuronske mreže - propagacija unaprijed

53

Page 64: Povratne neuronske mreže

Treniranje povratnih neuronskihmreža

Page 65: Povratne neuronske mreže

Propagacija unatrag kroz vrijeme

54

Page 66: Povratne neuronske mreže

Propagacija unatrag kroz vrijeme

55

Page 67: Povratne neuronske mreže

Propagacija unatrag kroz vrijeme

Podsjetnik - osnovna RNN ćelija je zapravo jednoslojna neuronska mreža:

h(t+1) = tanh(Wh(t) + Ux(t+1) + b)

56

Page 68: Povratne neuronske mreže

Intermezzo: tangens hiperbolni

Tangens hiperbolni je zapravo skalirana funkcija logističke sigmoide:

σ(x) = ex

1 + ex =1

1 + e−x

tanh(x) = 1 − e−2x

1 + e−2x =ex − e−x

ex + e−x

tanh(x) = 2σ(2x)− 1ddxtanh(x) = 1 − tanh2(x)

57

Page 69: Povratne neuronske mreže

Intermezzo: tangens hiperbolni

58

Page 70: Povratne neuronske mreže

Propagacija unatrag kroz vrijeme

• Stanja (i ulazi) povratne neuronske mreže utječu na svaki idući izlaz

h(t) = f(h(t−k−1), x(t−k)) 0 ≤ k < t ≤ T

• Svako stanje h(t) prima budući (engl. upstream) gradijent kroz h(t+1)

∂L∂h(t) =

∂L(t)

∂h(t) +∂L(t+)

∂h(t)

• Računanje gradijenta s obzirom na parametre radimo u suprotnomsmjeru od smjera ”protoka vremena”

• ”Backpropagation through time” - BPTT• Zapravo najobičniji backprop

59

Page 71: Povratne neuronske mreže

Propagacija unatrag kroz vrijeme - zadnji vremenski korak

U zadnjem vremenskom koraku propagiramo gradijent gubitka (npr.)unakrsne entropije s obzirom na funkciju softmax izlaza povratne mrežeo(t)

60

Page 72: Povratne neuronske mreže

Propagacija unatrag kroz vrijeme - zadnji vremenski korak

∂L(t)

∂o(t) = softmax(o(t))− y(t) (5)

61

Page 73: Povratne neuronske mreže

Propagacija unatrag kroz vrijeme - gradijent izlaznog sloja

• Podsjetnik: projekcija u izlazni sloj:

o(t) = Vh(t) + c (6)

∂L(t)

∂o(t) = softmax(o(t))− y(t) (7)

• Tražimo gradijente na matricu V, pristranost c u zadnjem koraku igradijent koji propagira dalje, s obzirom na h(t)

∂L∂V =

∂L∂o(t)

∂o(t)∂V = (softmax(o(t))− y(t))h(t)T (8)

∂L∂c =

∂L∂o(t)

∂o(t)∂c = softmax(o(t))− y(t) (9)

∂L∂h(t) =

∂L(t)

∂o(t)∂o(t)∂h(t) +

∂L(t+)

∂h(t) = VT(L(t)

∂o(t) ) +∂L(t+)

∂h(t) (10)

• Za zadnji vremenski korak, ∂L(t+)

∂h(t) = 0

62

Page 74: Povratne neuronske mreže

Propagacija unatrag kroz vrijeme - zadnji vremenski korak

Poznat nam je gradijent koji propagira kroz izlaz o(t), te sad trebamoodrediti gradijente s obzirom na parametre projekcije u skriveni sloj -matrica W, U i vektora b, te gradijente koji propagiraju dalje s obziromna ulaz x(t) i prošlo skriveno stanje h(t−1) 63

Page 75: Povratne neuronske mreže

Propagacija unatrag kroz vrijeme - gradijent ćelije

• Podsjetnik: projekcija u ćeliju:

h(t) = tanh(Wh(t−1) + Ux(t) + b)

• Koristeći pravilo ulančavanja, izraz ćemo razdvojiti na način da ćemoprvo računati gradijent kroz funkciju tangens hiperbolni, a potomgradijent s obzirom na matrice W, U i vektor b

• Radi čitkosti, stavljamo a(t) = Wh(t−1) + Ux(t) + b• Gradijent tangensa hiperbolnog:

∂tanh(x)∂x = 1−tanh2(x) ∂tanh(a(t))

∂x = 1−tanh(a(t)2) = 1−h(t)2

(11)• Preko pravila ulančavanja:

∂L∂a(t) =

∂L∂h(t)

∂h(t)

∂a(t) =∂L∂h(t)

∂tanh∂a(t) =

∂L∂h(t) (1 − h(t)2

) (12)

64

Page 76: Povratne neuronske mreže

Propagacija unatrag kroz vrijeme - gradijent parametara ćelije

• Podsjetnik: projekcija u ćeliju, gradijent kroz a(t):

h(t) = tanh(Wh(t−1) + Ux(t) + b) = tanh(a(t))

∂L∂a(t) =

∂L∂h(t) (1 − h(t)2

)

• Gradijenti na parametre (W, U, b):

∂L∂W =

∂L∂a(t)

∂a(t)∂W =

∂L∂a(t) h(t−1)T (13)

∂L∂U =

∂L∂a(t)

∂a(t)∂U =

∂L∂a(t) x(t)T (14)

∂L∂b =

∂L∂a(t)

∂a(t)∂b =

∂L∂a(t) (15)

65

Page 77: Povratne neuronske mreže

Propagacija unatrag kroz vrijeme - gradijent ulaza ćelije

• Podsjetnik: projekcija u ćeliju, gradijent kroz a(t):

h(t) = tanh(Wh(t−1) + Ux(t) + b)

∂L∂a(t) =

∂L∂h(t) (1 − h(t)2

)

• Gradijenti na ulaze (h(t−1), x(t)):

∂L∂h(t−1) =

∂L∂a(t)

∂a(t)∂h(t−1) = WT ∂L

∂a(t) (16)

∂L∂x(t) =

∂L∂a(t)

∂a(t)∂x(t) = UT ∂L

∂a(t) (17)

66

Page 78: Povratne neuronske mreže

Propagacija unatrag kroz vrijeme - algoritam

• Gradijenti na parametre se akumuliraju

∂L∂W =

T∑t=1

∂L(t)

∂W =T∑

t=1

∂L(t)

∂a(t) h(t−1)T

• Jednako za sve ostake parametre• Implementacijski:

• Petlja od T prema 0• Cache podataka koji su nužni za idući korak backpropa (koji?)• Pamćenje sume gradijenata

• Gradijenti na ulaze - zašto?• Na ulazu su vektori dobiveni treniranjem na drugom zadatku (EN

wiki, Google news)→ Fine tuning

• Na ulazu je ... nešto drugo?→ Duboke povratne neuronske mreže

67

Page 79: Povratne neuronske mreže

Pitanja?

67

Page 80: Povratne neuronske mreže

Dodatni materijali

Uz (odličnu) knjigu, preporuča se pročitati ovim redoslijedom (1.-3.)

1. Peter’s notes: Implementing a NN / RNN from scratchhttp://peterroelants.github.io/

2. Andrej Karpathy: The Unreasonable Effectiveness of RecurrentNeural Networks http://karpathy.github.io/2015/05/21/rnn-effectiveness/

3. Cristopher Olah: Understanding LSTM’s http://colah.github.io/posts/2015-08-Understanding-LSTMs/

Za one koji žele znati (puno) više

• CS224d: Deep Learning for Natural Language Processinghttp://cs224d.stanford.edu/syllabus.html

68

Page 81: Povratne neuronske mreže

References I

O. Levy, Y. Goldberg, and I. Ramat-Gan.Linguistic regularities in sparse and explicit wordrepresentations.In CoNLL, pages 171–180, 2014.T. Mikolov, K. Chen, G. Corrado, and J. Dean.Efficient estimation of word representations in vector space.arXiv preprint arXiv:1301.3781, 2013.J. Turian, L. Ratinov, and Y. Bengio.Word representations: a simple and general method forsemi-supervised learning.In Proceedings of the 48th annual meeting of the association forcomputational linguistics, pages 384–394. Association forComputational Linguistics, 2010.