napredne povratne neuronske mreže

92
Napredne povratne neuronske mreže Martin Tutek 13. Svibanj, 2020.

Upload: others

Post on 09-Nov-2021

18 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Napredne povratne neuronske mreže

Napredne povratne neuronske mreže

Martin Tutek13. Svibanj, 2020.

Page 2: Napredne povratne neuronske mreže

Recap

Page 3: Napredne povratne neuronske mreže

Podsjetnik: RNN

1

Page 4: Napredne povratne neuronske mreže

Podsjetnik: RNN ćelija

• Ažuriranje skrivenog stanja RNN ćelije

h(t) = tanh(Whhh(t−1) + Wxhx(t) + bh︸ ︷︷ ︸a(t)

)

• Izlazna projekcijao(t) = Whyh(t) + bo (1)

• Iako uspješno obrađujemo cijeli niz, i dalje koristimo samo jedan slojpovratne neuronske mreže

• Često – samo jedan sloj nije dovoljan za reprezentacijukompliciranijih međuovisnosti u ulaznim podacima

• “Iznad” jednog sloja RNNa možemo dodati još jedan sloj!

2

Page 5: Napredne povratne neuronske mreže

Duboke povratne neuronskemreže

Page 6: Napredne povratne neuronske mreže

Duboka (višeslojna) povratna neuronska mreža

3

Page 7: Napredne povratne neuronske mreže

Duboka povratna neuronska mreža

• Vidite li neki problem s prethodnom skicom?• Dimenzionalnost ulaza x(t) nije jednaka dimenzionalnosti h(t)• U slojevima n > 1 ulazna projekcija ima drukčije dimenzije

Wxh ∈ Rh×h

• Za n = 1

h(t)n = tanh(Wnhhh(t−1)

n + Wnxhx(t) + bnh︸ ︷︷ ︸a(t)n

) (2)

• za n > 1

h(t)n = tanh(Wnhhh(t−1)

n + Wnxh h(t)n−1 + bnh︸ ︷︷ ︸

a(t)n

) (3)

• [!!] Ovu izmjenu ne morate raditi ručno – svaka deep learningbiblioteka će ju napraviti automatski za rnn ćelije s više slojeva

4

Page 8: Napredne povratne neuronske mreže

Duboka povratna neuronska mreža: backprop

5

Page 9: Napredne povratne neuronske mreže

Duboka povratna neuronska mreža: sažetak

• RNN mreže mogu biti duboke u slojevima (vertikalno) i vremenu(horizontalno)

• U praksi, vertikalna dubina za klasične varijante RNN mreža možebiti korisna do 4 sloja, a za jako velike skupove podataka i do 8slojeva

• Više od 8 uzastopnih RNN slojeva (čak i za napredne ćelije) u praksine poboljšava performanse značajno

• Dimenzionalnost ulaza prvog sloja (d) i dimenzionalnost ulazapreostalih slojeva (h) su različite

• Ovo nam ne stvara praktične probleme osim ako ne implementiramoćelije samostalno

• Implementacijski, dodavanje više slojeva se provodi postavljanjemargumenta u konstruktoru odabrane RNN ćelije

6

Page 10: Napredne povratne neuronske mreže

Problemi

• Koliko je receptivno polje svake povratne ćelije?

7

Page 11: Napredne povratne neuronske mreže

Problemi

• Koliko je receptivno polje svake povratne ćelije?

8

Page 12: Napredne povratne neuronske mreže

Problem receptivnog polja RNN ćelije

• RNN ćelija (u bilo kojem sloju) u trenutku t vidi samo ulaze x(t) ≤ t• Predikcija u trenutku t je uvjetovana samo dotadašnjim ulazima!• Za probleme gdje nije bitno skrivanje budućeg konteksta, htjeli bi

omogućiti ćelijama da vide cijeli ulazni niz prije nego napravipredikciju

• Ideja: Ako skriveno stanje h(t) RNN ćelije koja čita s lijeva na desnovidi ulaze x(t) ≤ t, onda RNN ćelija koja čita u obrnutom smjeru vidipreostale ulaze x(t) > t

• Zajedno, skrivene reprezentacije te dvije RNN ćelije vide cijeli ulazniniz

9

Page 13: Napredne povratne neuronske mreže

Dvosmjerne povratne neuronskemreže

Page 14: Napredne povratne neuronske mreže

Dvosmjerna povratna neuronska mreža

• Dodajemo još jednu, nezavisnu povratnu neuronsku mrežu (←−−RNN)koja funkcionira u obrnutom smjeru od originalne (−−→RNN)

10

Page 15: Napredne povratne neuronske mreže

• Kako agregiramo izlaze RNNa prije predikcije?

11

Page 16: Napredne povratne neuronske mreže

Dvosmjerna povratna neuronska mreža

Dvosmjerna povratna neuronska mreža (eng. bidirectional RNN cell,BiRNN) sastoji se od dvije odvojene RNN mreže koje funkcioniraju usuprotnim smjerovima

• −−→RNN koja čita s lijeva na desno• ←−−RNN koja čita s desna na lijevo• Kako kombiniramo skrivena stanja te dvije mreže?

1. Konkatenacijah(t) = [

−→h (t),←−h (t)]

• Dimenzionalnost izlaza mreže je duplo veća• Implementacije RNN ćelija uglavnom automatski konkateniraju

dvosmjerne izlaze2. Uprosječivanje3. Proizvoljna (parametrizirana?) funkcija

12

Page 17: Napredne povratne neuronske mreže

13

Page 18: Napredne povratne neuronske mreže

Dvosmjerne povratne neuronske mreže: sažetak

• Dvosmjerna RNN mreža se sastoji od dvije zasebne RNN mreže kojeiteriraju po podacima u različitom smjeru

• Konkatenacija (ili sličan način kombinacije) ulaza iz oba smjeraomogućava da skrivena reprezentacija ima pregled svih ulaza

• Zbog konkatenatcije povećavamo dimenzionalnost izlaznereprezentacije

• Konkatenacija skrivenih stanja u posljednjem sloju je defaultnoponašanje implementacija dvosmjernih povratnih neuronskih mreža

• Alternative: uprosječivanje, proizvoljna funkcija, ...

• Trebamo pripaziti smije li naša mreža imati pristup svim ulaznimpodacima (označavanje slijeda)

14

Page 19: Napredne povratne neuronske mreže

Problemi s treniranjem povratnihneuronskih mreža

Page 20: Napredne povratne neuronske mreže

Problem nestajućeg i eksplodirajućeg gradijenta

• Povratne neuronske mreže pate od problema nestajućeg ieksplodirajućeg gradijenta

• Uzrok je dijeljenje parametara kroz velik broj uzastopnih slojeva• Konkretno: problem proizlazi iz opetovanog množenja matricom Whh

• Podsjetnik:

h(t) = tanh(Whhh(t−1) + Wxhx(t) + bh)

• Za početak, analizu ćemo napraviti u skalarnom prostoru

h(t) = tanh(whhh(t−1) + wxhx(t) + bh︸ ︷︷ ︸a(t)

)

• whh,wxh, bh, h, x ∈ R

15

Page 21: Napredne povratne neuronske mreže

Problem nestajućeg i eksplodirajućeg gradijenta

h(t) = tanh( whhh(t−1) + wxhx(t) + bh︸ ︷︷ ︸a(t)

)

• Zanima nas iznos gradijenta između dva uzastopna skrivana stanja

∂h(t)

∂h(t−1) =∂h(t)

∂a(t)∂a(t)

∂h(t−1)

= ∂th(a(t))∂a(t) whh

= (1− th2(a(t)))whh

tanh = thdth(x)

dx = 1− th2(x)

• Iznos derivacije tangensa hiperbolnog je ograničen!

tanh(x) ∈ (−1, 1)∂tanh(x)

x = (1− tanh2(x)) ∈ (0, 1)

16

Page 22: Napredne povratne neuronske mreže

Problem nestajućeg i eksplodirajućeg gradijenta

∂h(t)

∂h(t−1) = (1− th2(a(t)))whh

• Primjenjujemo supstituciju:

γ = max(∂tanh(x)/∂x) = 1

• Slično: γσ = max(∂σ(x)/∂x) = 1/4

∂h(t)

∂h(t−1) = γwhh

∂h(T)

∂h(t0) =∏T

t0γwhh

∂h(T)

∂h(t0) = (γwhh)T−t0

t→ T

γ,whh indep. t

17

Page 23: Napredne povratne neuronske mreže

Uvjet nestajućeg i eksplodirajućeg gradijenta

∂h(T)

∂h(t0)= (γwhh)

T−t0

• Ovisno o vrijednosti argumenta γwhh, za broj vremenskih korakaT− t0 ≫ 0 gradijent eksplodira, nestaje ili je u rijetkom slučajustabilan

(γwhh)T−t0 →

∞ if γwhh > 1 (eksp.)0 if γwhh < 1 (nest.)1 if γwhh ≈ 1

• Za γ = 1, konkretan uvjet vrijedi na sam parametar whh

• Ponovimo analizu u stvarnom prostoru parametara

18

Page 24: Napredne povratne neuronske mreže

Problem nestajućeg i eksplodirajućeg gradijenta

h(t) = tanh(Whhh(t−1) + Wxhx(t) + bh)

• Zanima nas iznos gradijenta između dva uzastopna skrivena stanja∂h(t)

∂h(t−1) = WThhdiag(∂h(t)

∂a(t) ) (4)

• diag pretvara vektor u dijagonalnu matricu• Norma nad kvadratnim matricama ima svojstvo:

∥AB∥ ≤ ∥A∥ ∥B∥• Pa je gradijent ograničen odozgo:

∂h(t)

∂h(t−1) ≤∥∥WT

hh∥∥∥∥∥∥diag(∂h(t)

∂a(t) )∥∥∥∥ ≤ γλ1 (5)

• Pri čemu je λ1 najveća svojstvena vrijednost matrice Whh, a γ gornjagranica diag( ∂tanh(a(t))

∂a(t) )19

Page 25: Napredne povratne neuronske mreže

Uvjet nestajućeg i eksplodirajućeg gradijenta

• Generaliziramo jednadžbu (5) na više vremenskih koraka prekopravila ulančavanja

∂h(T)

∂h(t0)≤ (γλ1)

T−t0 (6)

• Ovisno o vrijednosti argumenta γλ1, za broj vremenskih korakaT− t0 ≫ 0 gradijent eksplodira, nestaje ili je stabilan

(γλ1)T−t0 →

∞ if γλ1 > 1 (eksp.)0 if γλ1 < 1 (nest.)1 if γλ1 ≈ 1

(7)

• Vrijednosti matrice Whh moraju poštivati jako stroge uvjete kako nebi došlo do problema pri optimizaciji

• Za detaljniju analizu: Pascanu et al. (2013) [6]

20

Page 26: Napredne povratne neuronske mreže

Problem učenja dugih veza

• Povratne neuronske mreže konzistentno imaju lošije performanse naduljim primjerima

• Problem je poznat još od 1994.: Bengio et al. [3]• Jedan od uzroka je i nestabilnost signala greške pri propagaciji

unatrag• Problem: eksponencijacija zbog opetovanog množenja matricom

Whh pri propagaciji unatrag uzrokuje eksplodirajući i nestajućigradijent

• Možemo osigurati da su svojstvene vrijednosti matrice povratne vezeiz poželjnog intervala

• “Unitary Evolution Recurrent Neural Networks” Arjovsky et al, [1]• Možemo ukloniti množenje iz povratne veze

• Želimo: rasteretiti parametre povratne neuronske mreže• Matrice Whh,Wxh imaju teške zadatke: filtriranje nepotrebnih

informacija, pamćenje dosad viđenih ulaza, projekcija novihelemenata ulaza u skriveno stanje, ...

• Skriveno stanje h nam služi za izračun izlaza i pamćenje informacija

21

Page 27: Napredne povratne neuronske mreže

Ćelija s dugoročnom memorijom(LSTM)

Page 28: Napredne povratne neuronske mreže

Long short term memory (LSTM)

• Notacija:• Vektor h(t) ćemo prenamijeniti samo za računanje izlaza• Uvodimo vektor stanja ćelije c(t) koji samo pamti dosadašnje

informacije• Uvodimo vektor c(t) u kojemu držimo vrijednost kojom ažuriramo

stanje ćelije• Uvodimo f(t) i i(t):

• f(t) zovemo propusnicom zaboravljanja (engl. forget gate)• i(t) zovemo propusnicom novog ulaza (engl. input gate)

• Želimo eliminirati množenje iz povratne relacije

c(t) = c(t−1) + c(t)

∂c(t)∂c(t−1) = I

22

Page 29: Napredne povratne neuronske mreže

Long short term memory (LSTM)

c(t) = c(t−1) + c(t)

1. Želimo zaboraviti određeni dio informacija iz prošlog stanja

f(t) = σ (W fhh h(t−1) + W fxh x(t) + b fh ) = σ(a(t)f ) (8)

• Svaka propusnica ima svoj skup parametara Whh,Wxh, bh

2. Želimo propustiti podskup informacija iz ulaza

i(t) = σ(Wihhh(t−1) + Wixhx(t) + bih) = σ(a(t)i ) (9)

• Uvrštavamo u rekurzivnu relaciju:c(t) = f(t) ⊙ c(t−1) + i(t) ⊙ c(t) (10)

23

Page 30: Napredne povratne neuronske mreže

Propusnice: intuicija

c(t) = f(t) ⊙ c(t−1) + i(t) ⊙ c(t)

• ⊙: Hadamardov umnožak - množenje vektora po elementima

a⊙ b =

a0b0. . .

aibi

• Cilj propusnica: filtriranje informacija

σ : R→ (0, 1)

• Sigmoida ima vjerojatnosnu interpretaciju - koju u našem slučajugledamo kao - količinu informacija koje želimo sačuvati

• Zbog ograničenja f(t) i i(t) na interval (0, 1), eliminirali* smo problemeksplodirajućeg gradijenta

• Primjetite da iako je ovaj interval teoretski otvoren zbogasimptotskog ponašanja, u praksi je zatvoren zbog strojne preciznosti

24

Page 31: Napredne povratne neuronske mreže

Long short term memory (LSTM)

c(t) = f(t) ⊙ c(t−1) + i(t) ⊙ c(t)

• c je međurezultat ažuriranja stanja ćelije

c(t) = tanh(Wchhh(t−1) + Wcxhx(t) + bch) = tanh(a(t)c ) (11)

• Pri izračunu c(t) koristimo i prošlo skriveno stanje• Drukčiji zapis nego u knjizi

• U knjizi s(t) := c(t); g(t) := i(t); q(t) := o(t)• U knjizi ne postoji estetska supstitucija s c(t)

s(t) = f(t)s(t−1) + g(t)(

tanh(Wh(t−1) + Ux(t) + bs))

25

Page 32: Napredne povratne neuronske mreže

Long short term memory (LSTM)

c(t) = f(t) ⊙ c(t−1) + i(t) ⊙ c(t)

• Skrivena reprezentacija se računa temeljem stanja ćelije

h(t) = o(t) ⊙ tanh(c(t)) (12)

• Pri čemu o(t) zovemo izlaznom propusnicom (engl. output gate):

o(t) = σ(Wohhh(t−1) + Woxhx(t) + boh) = σ(a(t)o ) (13)

• Sažetak:• razdvojili smo ”pamćenje” od skrivene reprezentacije, i pri tome

rasteretili h(t) koji je u običnoj povratnoj ćeliji imao oba zadatka• uveli smo ”stanje ćelije” c(t) koje isključivo pamti informacije, i čije je

vrijednosti teško promijeniti• broj parametara je četiri puta veći od obične RNN ćelije

26

Page 33: Napredne povratne neuronske mreže

LSTM u slikama

Slike u nastavku preuzete od Cristophera Olaha [link]

Razmislite: koji je redoslijed naziva propusnica na skici?27

Page 34: Napredne povratne neuronske mreže

LSTM u slikama - stanje ćelije

c(t) = f(t) ⊙ c(t−1) + i(t) ⊙ c(t)

• Stanje ćelije je modificirano samo s jednim operatorom množenja ijednim operatorom zbrajanja - protok informacija je jednostavan

• Stanje ćelije je teško modificirati: preostali parametri moraju“propustiti” izmjenu

28

Page 35: Napredne povratne neuronske mreže

LSTM u slikama - propusnica zaboravljanja

c(t) = f(t) ⊙ c(t−1) + i(t) ⊙ c(t)

f(t) = σ(Wfhhh(t−1) + Wfxhx(t) + bfh)

29

Page 36: Napredne povratne neuronske mreže

LSTM u slikama - propusnica novog ulaza

c(t) = f(t) ⊙ c(t−1) + i(t) ⊙ c(t)

i(t) = σ(Wihhh(t−1) + Wixhx(t) + bih)

c(t) = tanh(Wchhh(t−1) + Wcxhx(t) + bch)

30

Page 37: Napredne povratne neuronske mreže

LSTM u slikama - propusnica novog ulaza

c(t) = tanh(Wchhh(t−1) + Wcxhx(t) + bch)

• Ovisno o literaturi, za privremeni ulaz c(t) se nekad koristi logističkasigmoida, a ponekad tangens hiperbolni

• U implementacijama u pytorchu/tensorflowu koristi se tanh

31

Page 38: Napredne povratne neuronske mreže

LSTM u slikama - ažuriranje stanja ćelije

c(t) = f(t) ⊙ c(t−1) + i(t) ⊙ c(t)

32

Page 39: Napredne povratne neuronske mreže

LSTM u slikama - izlazni sloj

h(t) = o(t) ⊙ tanh(c(t))

o(t) = σ(Wohhh(t−1) + Woxhx(t) + boh)

33

Page 40: Napredne povratne neuronske mreže

Problemi pri učenju RNNova & LSTM: sažetak

• Obične povratne neuronske mreže su problematične za optimizaciju• Čest je problem eksplodirajućeg i nestajućeg gradijenta zbog

opetovanog množenja matricom povratne veze Whh

• U praksi mreže funkcioniraju lošije što je duljina ulaznih primjera veća

• Uvodimo ćeliju s dugoročnim pamćenjem (LSTM)

c(t) = f(t) ⊙ c(t−1) + i(t) ⊙ c(t)

h(t) = o(t) ⊙ tanh(c(t))

• Uklanjamo (matrično) množenje iz unaprijedne (i povratne) veze• Uvodimo propusnice koje imaju zadatak filtriranja informacija• Svaki skup parametara ima svoju odgovornost - želimo ukloniti

preopterećenje pri kojem mreža mora “birati” na što će sekoncentrirati

34

Page 41: Napredne povratne neuronske mreže

LSTM: problem eksplodirajućeg i nestajućeg gradijenta

c(t) = f(t) ⊙ c(t−1) + i⊙ ct

• Zanima nas gradijent povratne veze

∂c(t)∂c(t−1) = f(t) = σ(a(t)f ) ∈ (0, 1)

• Preko pravila ulančavanja

∂c(T)

∂c(t0)=

T∏t=t0

f(t) ≤ 1

• Kao što vidimo, problem eksplodirajućeg gradijenta je eliminiran!• Je li stvarno?• LSTM ćelija ima dualno skriveno stanje (c(t), h(t))

35

Page 42: Napredne povratne neuronske mreže

LSTM: problem eksplodirajućeg i nestajućeg gradijenta

h(t) = o(t) ⊙ tanh(c(t))

• Prvo, gledamo izlaznu propusnicu

o(t) = σ(a(t)o ) = σ(Wohhh(t−1) + Woxhx(t) + boh)

• Možemo primjetiti sličan uzorak kao u originalnom problemu kodpovratnih neuronskih mreža:

h(t) = σ(Wohh h(t−1) + Woxhx(t) + boh)⊙ tanh(c(t))

∂h(t)

∂h(t−1) =∂h(t)

∂a(t)o

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

ohh∂h(t)

∂a(t)o= . . .

• Eksplozija je i dalje moguća kod unatražnog prolaza vezanog za h(t)

• No u praksi se mnogo rjeđe pojavljuje 36

Page 43: Napredne povratne neuronske mreže

LSTM - varijante i dodaci

Špijunke (engl. peepholes)

• Pri izračunu vrijednosti propusnica ne vidimo stanje ćelije (c(t−1))• Ideja: dodajemo stanje ćelije pri izračunu vrijednosti propusnice

f(t) = σ(Wfchc(t−1) + Wfhhh(t−1) + Wfxhx(t) + bfh︸ ︷︷ ︸a∗(t)f

) (14)

• Istu izmjenu radimo i za ostale propusnice• Plus: Informacija o trenutnom stanju ćelije pomaže [5]• Minus: povećavamo broj parametara• Minus: uvodimo još jedan smjer u kojem se može dogoditi eksplozija

gradijenta

37

Page 44: Napredne povratne neuronske mreže

LSTM - varijante i dodaci

Spojene propusnice (engl. fused gates) zaboravljanja i novog ulaza

c(t) = f(t) ⊙ c(t−1) + i(t) ⊙ c(t)

• Ideja: ako brišemo neki udio informacija - trebali bi ga nadomjestiti

c(t) = f(t) ⊙ c(t−1) + (1− f(t))⊙ c(t) (15)

• Plus: Manji broj parametara (25% manje)• Minus: Ne radi jednako dobro kao i LSTM (parametri ipak pomažu)• Minus: Nema istu ekspresivnost (problem zbrajanja)

38

Page 45: Napredne povratne neuronske mreže

Propusna povratna ćelija

• Propusna povratna ćelija (engl. gated recurrent unit, GRU)• Nažalost - nema intuitivno objašnjenje

39

Page 46: Napredne povratne neuronske mreže

Propusna povratna ćelija

• Uvodimo r(t) i u(t), vraćamo svu odgovornost na h(t)

• u(t) je propusnica ažuriranja (engl. update gate)

u(t) = σ(Wuhhh(t−1) +Wuxhx(t) + buh

)(16)

• r(t) je propusnica resetiranja (engl. reset gate)

r(t) = σ(Wrhhh(t−1) +Wrxhx(t) + brh

)(17)

• Privremeno stanje h(t)

h(t) = σ(

Whh (r(t) ⊙ h(t−1)) + Wxhx(t) + bh)

(18)

• Konačna povratna relacija:

h(t) = u(t)h(t−1) + (1− u(t))h(t) (19)

40

Page 47: Napredne povratne neuronske mreže

Varijante povratnih neuronskih mreža: sažetak

• U LSTMima je i dalje moguć isti problem s eksplodirajućim inestajućim gradijentima

• No u praksi se dosta rjeđe pojavljuje• Od popularizacije LSTMa, razvijen je niz varijanti ćelija povratnih

neuronskih mreža1. LSTM sa špijunkama (peepholes):

• Budući da smo vidjeli da je uvjet eksplodirajućeg gradijenta i daljeprisutan - možemo i eksplicitno dodati informaciju o stanju ćelije ujednadžbe ažuriranja

2. Spojene propusnice• Da bi uštedili na količini parametara, spajamo propusnice

zaboravljanja i novog ulaza3. Propusna povratna ćelija (GRU)

• Iskorištava spojene propusnice, izmjenjuje semantiku propusnica• U praksi korištena jednako kao i LSTM ovisno o preferenci

(performanse su otprilike jednake)

41

Page 48: Napredne povratne neuronske mreže

Analiza: Slijed-u-slijed

Page 49: Napredne povratne neuronske mreže

Problem strojnog prevođenja

• Klasifikacijski problem nepoznate duljine: za ulazni slijed riječiželimo generirati izlazni slijed riječi

• Na izlazu imamo višeklasnu klasifikaciju pri čemu je veličina izlaznogvokabulara broj klasa

• Skupovi podataka WMT1, IWSLT2 (ažurirani povremeno uzkonferencije)

• primjer ulaza i izlaza za jednu instancu WMT-14 en-de korpusa:

Parliament Does Not Support Amendment Freeing TymoshenkoKeine befreiende Novelle für Tymoshenko durch das Parlament

1https://www.statmt.org/wmt15/translation-task.html2https://sites.google.com/site/iwsltevaluation2015/mt-track

42

Page 50: Napredne povratne neuronske mreže

Problem strojnog prevođenja: preliminarno

• Ciljne varijable:• Riječi na ciljnom jeziku: {keine, befreiende,Novelle, . . .}• Ciljne varijable pretvaramo u indekse: {0, . . . ,Vout}• Biramo veličinu ciljnog vokabulara

• Ulazne varijable• Odabiremo veličinu ulaznog vokabulara• Riječi mapiramo na indekse koji odgovaraju retcima u ugradbenoj

(embedding) matrici• Ovaj pristup je sličan označavanju slijeda, no:

1. Ne znamo broj izlaznih varijabli2. Što su ulazi mreže pri generiranju izlaznog slijeda?

43

Page 51: Napredne povratne neuronske mreže

Slijed-u-slijed

Podsjetnik: slijed u slijed

• U nastavku ćemo prvo formalizirati slijed u slijed pristup, a potom sebaviti s konkretnim metodama rješavanja navedenih problema

44

Page 52: Napredne povratne neuronske mreže

Slijed-u-slijed: formalizacija

• Razdvajamo problem na dva podproblema1. Pročitati ulazni slijed i izgraditi što bolju reprezentaciju u skrivenom

sloju: Mreža ”čitač” (encoder)2. Na temelju skrivene reprezentacije generirati što ispravniji slijed

riječi: Mreža ”pisač” (decoder)

45

Page 53: Napredne povratne neuronske mreže

Slijed-u-slijed: formalizacija

• Posljednje skriveno stanje mreže čitača je koristi se za inicijalizacijupočetnog skrivenog stanja mreže pisača

h(0)dec = f(h(T)

enc)

• U praksi, najčešće se posljednje skriveno stanje čitača direktnoprosljeđuje u pisač (h(0)dec = h(T)

enc)• No, f može biti proizvoljna funkcija (neuronska mreža)• Razmislite: kad bi to bilo potrebno?

• Primjetite: pisač ne prima direktan signal klasifikacijskog gubitka• Signal gubitka prvo propagira kroz cijeli pisač

• Problem: što su nam ulazi mreže pisača?

46

Page 54: Napredne povratne neuronske mreže

Slijed-u-slijed: ulazi pisača

Kao ulaze koristimo izlaze generirane u prethodnom koraku

47

Page 55: Napredne povratne neuronske mreže

Slijed-u-slijed: generiranje izlaznog slijeda

• Ulaz pisača u vremenskom koraku t > 0 je najvjerojatniji izlaz pisačaiz prethodnog koraka

• Što s prvim vremenskim korakom t = 0?• Prvi ulaz mreže pisača je posebni simbol koji označava početak

slijeda (<sos>, start-of-sentence)• Kada prestajemo generirati?

• Za signal prestanka generiranja koristimo posebni simbol kojioznačava kraj slijeda (<eos>, end-of-sentence)

• <eos> se dodaje na kraj svakog ciljnog slijeda skupa podataka• Prekidamo generiranje kad pisač generira <eos> ili pređemo

ograničenje duljine generiranog slijeda• Zbog težine učenja slijed-u-slijed zadataka u ranoj fazi optimizacije,

često koristimo teacher forcing• S vjerojatnošću p za instancu kao ulaze pisača koristimo stvarne

izlaze prethodnih koraka• S vjerojatnošću 1− p za instancu kao ulaze pisača koristimo ulaze

generirane u prethodnom koraku

48

Page 56: Napredne povratne neuronske mreže

Slijed-u-slijed: generiranje izlaznog slijeda

• Kako generiramo riječi pri evaluaciji?• Slijed riječi koje su najvjerojatnije u svakom koraku (greedy pristup)

ne mora biti najvjerojatniji izlazni slijed!• Pristupi generiranju izlaznog slijeda:

1. Pohlepni pristup: u svakom koraku biramo najvjerojatniju riječ• Kao i sa svim pohlepnim algoritmima, moguće da najbolje rješenje

ne sadrži riječ koja je najvjerojatnija (u nekom koraku)• Ovaj pristup nije dobar za uzorkovanje jer generira determinističke

slijedove2. Selekcija proporcionalna vjerojatnosti (roulette wheel)

• Selekcijom proporcionalnom vjerojatnosti unosimo dozu nasumičnostiu izbor izlaznog niza, te time potičemo različitost u izlazu

• Želimo li stvarno da postoji ikakva vjerojatnost da odaberemo lošuriječ

3. Pretraživanje zrakom (eng. beam search)• U svakom koraku razmatramo trenutačno najboljih k rezultata• k je širina zrake (eng. beam width)

49

Page 57: Napredne povratne neuronske mreže

Slijed-u-slijed: vizualizacija pretraživanja zrakom

50

Page 58: Napredne povratne neuronske mreže

Slijed-u-slijed: vizualizacija pretraživanja zrakom

51

Page 59: Napredne povratne neuronske mreže

Slijed-u-slijed: vizualizacija pretraživanja zrakom

52

Page 60: Napredne povratne neuronske mreže

Slijed-u-slijed: vizualizacija pretraživanja zrakom

53

Page 61: Napredne povratne neuronske mreže

Slijed-u-slijed: sažetak

• Kompleksnost slijed-u-slijed problema proizlazi iz varijabilne duljineciljnog slijeda

• Umjesto “jednostavne” klasifikacije temeljem konteksta, mreža moranaučiti generirati cijeli izlazni slijed

• Problemu pristupamo razdvajanjem na (1) čitanje ulaznog slijeda i(2) generiranje izlaznog slijeda

• Mreže čitač (encoder) i pisač (decoder) s zasebnim parametrima• Rana faza treniranja je problematična

• Mreži pomažemo pomoću teacher forcinga (“šalabahtera”) u nekomudjelu primjera iz skupa za treniranje

• Generiranje podataka je problematično• Želimo maksimizirati vjerojatnost slijeda, a ne zasebnih komponenti• Koristimo beam search gdje pamtimo k trenutačno najvjerojatnijih

slijedoova za svaki vremenski korak generiranja

54

Page 62: Napredne povratne neuronske mreže

Pozornost

Page 63: Napredne povratne neuronske mreže

Pozornost

Uspješnost strojnog prevođenja u ovisnosti o duljini rečenice. RNNsearchmodeli koriste pažnju. Slika iz Bahdanau et al. [2].

• Uz sve modifikacije koje smo napravili nad običnom RNN ćelijom,uspješnost modela vidljivo opada što duljina rečenice više raste(pamćenje) 55

Page 64: Napredne povratne neuronske mreže

Pozornost

• Motivacija:• ”When I’m translating a sentence, I pay special attention to the word

I’m presently translating. When I’m transcribing an audio recording,I listen carefully to the segment I’m actively writing down. And ifyou ask me to describe the room I’m sitting in, I’ll glance around atthe objects I’m describing as I do so.”

• Naša skrivena reprezentacija nije savršena (ima ograničenu veličinu)• Ako ćelija ne može zapamtiti sve relevantne informacije, možda

može zapamtiti gdje su se nalazile?• Trenutačnu skrivenu reprezentaciju koristimo kao upit (eng. query)• Pretražujemo prethodne skrivene reprezentacije (memoriju) kao ključ

(eng. keys)• Računamo sličnost* između upita i ključa• Rezultat je težinsko sažimanje ključeva gdje su težine izračunate

temeljem sličnosti upita i ključa

56

Page 65: Napredne povratne neuronske mreže

Pozornost: osnovna formulacija

• Funkcija pozornosti vraća skalarnu mjeru sličnosti dva vektora

a(t) = attn(q(t), k(t)) a(t) ∈ R; q ∈ Rq; k ∈ Rk

• Pri čemu su q(t) = h(t)dec, k(t) = h(t)enc skrivena stanja pisača i čitača• Želimo dobiti mjeru sličnosti između upita i svih ključeva

a = attn(q,K) a ∈ RT;K = [k(1), . . . , k(T)]

• Mjeru sličnosti normaliziramo na vjerojatnosnu distribuciju

α = softmax(a)

• Konačni izlaz je težinsko sažimanje skrivenih stanja mreže čitača

outattn =T∑t

αtk(t) (20)

57

Page 66: Napredne povratne neuronske mreže

Pozornost: osnovna formulacija

• Izlaz pozornosti nam je vektor iste veličine kao i skriveno stanjemreže čitača koji sadrži težinsko sažimanje skrivenih stanja čitača

• Taj vektor konkateniramo na skriveno stanje mreže pisača prijegeneriranja riječi (ne koristi se u RNNu)

h∗(t)dec = [h(t)dec; outattn]

• Kako izgleda funkcija pozornosti?1. Bahdanau pozornost: sloj neuronske mreže

a(t) = w2tanh(W1[q(t); k(t)])

• Pri čemu je W1 matrica, a w2 vektor parametara2. Skalarni produkt (uvjet: Rq = Rk)

a(t) = q(t) · k(t)√dim(k)

• Razmislite: zašto se primjenjuje skaliranje dimenzijom

58

Page 67: Napredne povratne neuronske mreže

Pozornost: vizualizacija

59

Page 68: Napredne povratne neuronske mreže

Pozornost: vizualizacija

60

Page 69: Napredne povratne neuronske mreže

Pozornost

Sličnosti između skrivenih stanja čitača i pisača za problem strojnog prevođenja 61

Page 70: Napredne povratne neuronske mreže

Pozornost: općenita formulacija

• Općenita formulacija pozornosti razlikuje vrijednosti i ključeve

k(t) = fk(h(t)enc) v(t) = fv(h(t)

enc)

• fk i fv su transformacije kojima iz vektora skrivenog stanjageneriramo vektor ključa i vrijednosti

• U praksi, fk i fv su linearne transformacijek(t) = Wkh(t)

enc v(t) = Wvh(t)enc

• Općenit izračun pozornosti

α = softmax(attn(q,K)) (21)

outattn =T∑t

αt v(t) (22)

• Kako koristiti pozornost u problemima koji nisu slijed-u-slijed?

62

Page 71: Napredne povratne neuronske mreže

Pozornost u klasifikaciji slijeda

• Problem: ako računamo pozornost na skrivenim stanjima iste mreže,upit će nam biti skriveno stane nad kojim računamo sličnost

• U praksi, skriveno stanje na temelju kojeg računamo upit često imadominantnu težinu α(t) neovisno o primjeni transformacija ključeva ivrijednosti

• Samopozornost (eng. self-attention)• Izbacujemo upit iz formulacije

α = softmax( attn(K) ) (23)

outattn =T∑t

αtv(t) (24)

• Reformulacija funkcija pozornosti

a(t) = w2tanh(W1 k(t) )

a(t) = w · k(t)√dim(k) 63

Page 72: Napredne povratne neuronske mreže

Pozornost u klasifikaciji slijeda: vizualizacija

64

Page 73: Napredne povratne neuronske mreže

Sažetak

• Uz sve modifikacije i varijante – povratne mreže i dalje imajuproblema s učenjem dugih veza

• Uvodimo metodu pozornosti• Pozornost je težinsko sažimanje skrivenih stanja• Težine su izračunate temeljem skrivenih stanja i upita (bitnost

informacije je funkcija informacije i potrebe)• U osnovnom slijed-u-slijed pristupu upit je trenutačno skriveno stanje

mreže pisača, a gledamo vrijednosti skrivenih stanja mreže čitača• Generalizirani pristup pozornosti možemo primjeniti i na

klasifikaciju/označavanje slijeda• Varijante funkcije pozornosti

• Bahdanau pozornost: jednoslojna neuronska mreža• Skalarni produkt pozornost: direktna usporedba upita i ključa

• Pozornost je (od uvođenja) korištena uz praktički sve varijantepovratnih neuronskih mreža

65

Page 74: Napredne povratne neuronske mreže

Pozornost je ... sve što trebamo?

66

Page 75: Napredne povratne neuronske mreže

Modeli bazirani isključivo na pozornosti

Anotirani članak s primjerima iz koda:http://nlp.seas.harvard.edu/2018/04/03/attention.html

67

Page 76: Napredne povratne neuronske mreže

Primjene, primjeri, SOTA

Page 77: Napredne povratne neuronske mreže

67

Page 78: Napredne povratne neuronske mreže

Weaknesses of RNN Variants

Članak: https://arxiv.org/pdf/1805.04908.pdf

• Radovi su pokazali da su:1. RNN-ovi s sigmoidalmom aktivacijskom funkcijom i beskonačnom

preciznosti stanja mogu simulirati Turingov stroj2. Nedavno, ovo je prošireno i na aktivacijsku funkciju ReLU

• No, pretpostavke su da:1. Cijeli ulaz je učitan u povratnu neuronsku mrežu, i beskonačno

vremena je dostupno povratnoj neuronskoj mreži za izračun2. Beskonačna preciznost

• Eksperiment brojanja: RNN arhitekture trebaju prepoznati nizoveoblika anbn ili anbncn

68

Page 79: Napredne povratne neuronske mreže

69

Page 80: Napredne povratne neuronske mreže

Demohttp://distill.pub/2016/augmented-

rnns/

69

Page 81: Napredne povratne neuronske mreže

Generirani rukopis

Demo:http://distill.pub/2016/handwriting/

70

Page 82: Napredne povratne neuronske mreže

Generiranje govora

https://google.github.io/tacotron/

71

Page 83: Napredne povratne neuronske mreže

WaveNet - generating sound from text

Demo:https://deepmind.com/blog/

wavenet-generative-model-raw-audio/

72

Page 84: Napredne povratne neuronske mreže

Generiranje opisa slika

Generiranje opisa slike pomoću pozornosti i povratnih mreža [7] 73

Page 85: Napredne povratne neuronske mreže

Strojno prevođenje

Google translate https://research.googleblog.com/2016/09/a-neural-network-for-machine.html

74

Page 86: Napredne povratne neuronske mreže

Google translate network arhitecture

75

Page 87: Napredne povratne neuronske mreže

Pitanja?

75

Page 88: Napredne povratne neuronske mreže

Pitanja? :)

75

Page 89: Napredne povratne neuronske mreže

U knjizi

• Relevantna poglavlja• 10.1, 10.2, 10.3, 10.4, 10.5, 10.7, 10.10, 10.11

Page 90: Napredne povratne neuronske mreže

References i

M. Arjovsky, A. Shah, and Y. Bengio.Unitary evolution recurrent neural networks.In International Conference on Machine Learning, pages 1120–1128,2016.D. Bahdanau, K. Cho, and Y. Bengio.Neural machine translation by jointly learning to align andtranslate.arXiv preprint arXiv:1409.0473, 2014.Y. Bengio, P. Simard, and P. Frasconi.Learning long-term dependencies with gradient descent isdifficult.IEEE transactions on neural networks, 5(2):157–166, 1994.

Page 91: Napredne povratne neuronske mreže

References ii

K. Cho, B. Van Merriënboer, C. Gulcehre, D. Bahdanau,F. Bougares, H. Schwenk, and Y. Bengio.Learning phrase representations using rnn encoder-decoder forstatistical machine translation.arXiv preprint arXiv:1406.1078, 2014.F. A. Gers and J. Schmidhuber.Recurrent nets that time and count.In Neural Networks, 2000. IJCNN 2000, Proceedings of theIEEE-INNS-ENNS International Joint Conference on, volume 3,pages 189–194. IEEE, 2000.R. Pascanu, T. Mikolov, and Y. Bengio.On the difficulty of training recurrent neural networks.ICML (3), 28:1310–1318, 2013.

Page 92: Napredne povratne neuronske mreže

References iii

K. Xu, J. Ba, R. Kiros, K. Cho, A. Courville, R. Salakhutdinov, R. S.Zemel, and Y. Bengio.Show, attend and tell: Neural image caption generation withvisual attention.arXiv preprint arXiv:1502.03044, 2(3):5, 2015.