- View
Rekurentne neuronske mreže (eng. recurrent neural networks) su tip neuronskih mreža koje se primarno koriste za obradu sekvencijalnih podataka. Sekvencijalni podaci ili sekvence se sastoje iz elemenata koji slede jedan za drugim. Takvi su, recimo, tekstualni podaci (elementi su pojedinačne reči), audio-zapisi (elementi su pojedinačni semplovi), vremenske serije (elementi su pojedinačna merenja), genetske sekvence (elementi su pojedinačni nukleotidi) i mnogi drugi. Rekurentne mreže obrađuju element po element sekvence. Da bi mogao da se obradi element na poziciji t moraju da se obrade svi elementi koji mu prethode, a da bi elementi sekvence mogli da se povežu u jednu celinu, između obrade uzastopnih elemenata ulaza dele se vrednosti skrivenih slojeva. To se obično prikazuje grafički kao na donjoj slici.
Rekurentna neuronska mreža
(slika je preuzeta sa https://d2l.ai/chapter_recurrent-neural-networks/index.html)
Rekurentne neuronske mreže zbog svog dizajna hipotetički mogu da obrađuju beskonačno duge sekvence: obrađuje se element po element. Ipak, prilikom obučavanja ovakvih mreža primećeno je da zaboravljaju. Ukoliko su sekvence previše duge, mreža počinje da zaboravlja šta je videla na početku i na nivou skrivenih slojeva čuva skorije viđene informacije. Ovo zapažanje je dovelo do dizajniranja specijalnih neurona koji se zovu LSTM (eng. Long Short Term Memory) i GRU (eng. Gated Recurrent Unit), a u čije detalje zbog kompleksnosti nećemo zalaziti. Još jedna dosetka za rešenje ovog problema su dvosmerne rekurentne neuronske mreže (eng. bidirectional recurrent neural networks): u ovim mrežama se, sa jedne strane, sekvenca obrađuje od početka ka kraju, a sa druge strane od kraja ka početku. Reprezentacija ulaza pojedinačnih elemenata predstavlja nadovezane reprezentacije ovih prolaza, ilustrativno prikazano kao na donjoj slici.
Dvosmerna rekurentna neuronska mreža - uzastopni elementi
(slika je preuzeta sa https://www.arxiv-vanity.com/papers/1506.00019/)
Postoji nekoliko popularnih arhitektura rekurentnih neuronskih mreža. U donjoj tabeli ćemo kratko proći kroz neke najpopularnije primere tako što ćemo ih prikazati grafički u levoj koloni i opisati mrežu i oblasti primene u desnoj koloni.
|
ARHITEKTURA |
POJAŠNJENJE I PRIMERI PRIMENE |
|---|---|
|
|
Ovaj tip mreže odgovara zadacima u kojima je ulaz sekvenca a izlaz vektorska reprezentacija fiksne dužine. Mreže ovog tipa nazivamo enkoderima (eng. encoders) a dobijene vektore fiksnih dužina kontekstom Zadaci u kojima susrećemo ovaj tip mreža su razni zadaci klasifikacije poput klasifikacije audio-zapisa ili klasifikacije teksta. |
|
|
Za razliku od prethodnog primera, ulaz za ovaj tip mreže je vektorska reprezentacija fiksne dužine a izlaz sekvenca. Ovakav tip mreža nazivamo dekoderima (eng. decoders). Zadaci u kojima susrećemo dekodere su generisanje naslova slika. |
|
|
Ovaj tip mreže predstavlja kombinaciju prethodna dva tipa i naziva se enkoder-dekoder arhitektura. Zadatak enkodera je da na osnovu ulazne sekvence kreira reprezentaciju (kontekst) koju dekoder može da iskoristi za generisanje nove izlazne sekvence. Ovaj tip mreža susrećemo u zadacima mašinskog prevođenja ili generisanja sažetaka. |
|
|
Ovaj tip mreže omogućava generisanje izlaza za svaki element ulaza. Kao što možemo da vidimo, i na ulazu i na izlazu su sekvence. Zadaci u kojima susrećemo ovaj tip mreža su, recimo, zadaci tagiranja (obeležavanja) pojedinačnih elemenata. |
Jedan veliki nedostatak rekurentnih neuronskih mreža je nemogućnost paralelizacije: da bi se obradio element na poziciji t moraju se obraditi svi elementi koji mu prethode. Zato treniranje neuronskih mreža iziskuje mnogo više vremena i resursa nego obučavanje konvolutivnih neuronskih mreža koje smo upoznali u prethodnoj lekciji. Ove okolnosti su dovele do pojave mehanizma pažnje i transformera, tipa neuronskih mreža o kojima će biti više reči u narednoj lekciji.
Audio -zapisi se mogu obrađivati i primenom konvolutivnih neuronskih mreža. Naime, audio-zapis se može podeliti na fragmente, kraće delove koji traju nekoliko sekundi, a zatim se za svaki deo mogu kreirati spektrogrami. Spektrogram je grafički prikaz svih frekvencija zvuka prisutnih u audio-zapisu. Ovako dobijene slike se dalje mogu prosleđivati kao ulazi konvolutivnim neuronskim mrežama i koristiti za analizu audio-zapisa.

Primer jednog spektrograma





