Rekurentné neurónové siete

Rekurentné neurónové siete (neurónové siete) sú typom neurónových sietí, ktoré sa primárne používajú na spracovanie sekvenčných údajov. Sekvenčné údaje alebo sekvencie sa skladajú z prvkov, ktoré po sebe nasledujú. Sú to napríklad textové údaje (prvky sú jednotlivé slová), zvukové záznamy (prvky sú jednotlivé vzorky), časové rady (prvky sú individuálne merania), genetické sekvencie (prvky sú jednotlivé nukleotidy) a mnoho ďalších. Rekurentné siete spracovávajú sekvenciu prvok po prvku. Aby bolo možné spracovať prvok na pozícii t , musia byť spracované všetky prvky, ktoré mu predchádzajú, a aby sa prvky sekvencie spojili do jedného celku, hodnoty skrytých vrstiev sa rozdelia medzi spracovanie po sebe nasledujúcich vstupných prvkov. Zvyčajne je to znázornené graficky ako na obrázku nižšie.

Rekurentná neurónová sieť

(obrázok prevzatý z https://d2l.ai/chapter_recurrent-neural-networks/index.html )

Rekurentné neurónové siete sú hypoteticky schopné spracovávať nekonečne dlhé sekvencie: prvok po prvku. Pri trénovaní takýchto sietí sa však pozorovalo, že zabúdajú. Ak sú sekvencie príliš dlhé, sieť začne zabúdať, čo videla na začiatku, a ukladá nedávno videné informácie na úrovni skrytých vrstiev. Toto pozorovanie viedlo k návrhu špeciálnych neurónov nazývaných LSTM (LSTM).  Long Short Term Memory) a GRU (eng. Gated Recurrent Unit) a nebudeme zachádzať do podrobností kvôli jej zložitosti. Riešením tohto problému sú obojsmerné rekurentné neurónové siete (neural networks). Obojsmerné rekurentné neurónové siete (Bidirectional Recurrent Neural Networks). V týchto sieťach sa na jednej strane sekvencia spracováva od začiatku do konca a na druhej strane od konca po začiatok. Vstupná reprezentácia jednotlivých prvkov predstavuje súvislé reprezentácie týchto pasáží, znázornené ako na obrázku nižšie.

Obojsmerná rekurentná neurónová sieť - sekvenčné prvky

(obrázok prevzatý z https://www.arxiv-vanity.com/papers/1506.00019/ )

Existuje niekoľko populárnych architektúr rekurentných neurónových sietí. V nasledujúcej tabuľke si stručne prejdeme niektoré z najpopulárnejších príkladov tak, že ich graficky znázorníme v ľavom stĺpci a v pravom stĺpci popíšeme sieť a aplikačné oblasti.

ARCHITEKTÚRA

OBJASNENIE A PRÍKLADY POUŽITIA

Tento typ siete zodpovedá úlohám, v ktorých je vstupom sekvencia a výstupom vektorová reprezentácia pevnej dĺžky. Siete tohto typu sa nazývajú kódovače (encoders) a získaných vektorov pevných dĺžok podľa kontextu . Úlohy, v ktorých sa stretávame s týmto typom sietí, sú rôzne klasifikačné úlohy, ako je klasifikácia zvukových stôp alebo klasifikácia textu.

Na rozdiel od predchádzajúceho príkladu je vstupom pre tento typ siete vektorová reprezentácia pevnej dĺžky a výstupom je sekvencia. Tento typ siete sa nazýva dekodéry (decoders). Úlohy, v ktorých sa stretávame s dekodérmi, sú generovanie názvov obrázkov.

Tento typ siete je kombináciou predchádzajúcich dvoch typov a nazýva sa  architektúra kodér-dekodér.  Úlohou kódovača je vytvoriť reprezentáciu (kontext) na základe vstupnej sekvencie, ktorú môže dekodér použiť na vygenerovanie novej výstupnej sekvencie. Tento typ siete sa vyskytuje pri úlohách strojového prekladu alebo generovania abstraktov.

Tento typ siete umožňuje generovanie výstupov pre každý prvok vstupu. Ako vidíte, pri vchode aj pri východe sú sekvencie. Úlohy, pri ktorých sa stretávame s týmto typom siete, sú napríklad úlohy označovania (označovania) jednotlivých prvkov.

Jednou z hlavných nevýhod rekurentných neurónových sietí je neschopnosť paralelizácie: na spracovanie prvku v polohe t musia byť spracované všetky prvky, ktoré mu predchádzajú. Preto trénovanie neurónových sietí vyžaduje oveľa viac času a zdrojov ako trénovanie konvolučných neurónových sietí, ktoré sme spoznali v predchádzajúcej lekcii. Tieto okolnosti viedli k vzniku mechanizmu pozornosti a transformátorov, neurónových sietí, o ktorých sa bude podrobnejšie diskutovať v ďalšej lekcii.

Zvukové záznamy je možné spracovávať aj pomocou konvolučných neurónových sietí. Zvukový záznam je totiž možné rozdeliť na fragmenty, kratšie kusy, ktoré trvajú niekoľko sekúnd, a potom je možné pre každú časť vytvoriť spektrogramy. Spektrogram je grafické znázornenie všetkých frekvencií zvuku prítomných vo zvukovom zázname. Výsledné obrázky potom môžu byť odovzdané ako vstupy do konvolučných neurónových sietí a použité na analýzu zvuku.

Príklad spektrogramu

Last modified: Sunday, 23 March 2025, 3:38 PM