Rekurentní neuronové sítě (RNN)

Rekurentní neuronové sítě (RNN) zpracovávají sekvence prvek po prvku a udržují si přitom vnitřní skrytý stav, který se v každém kroku aktualizuje na základě nového vstupu a své předchozí hodnoty. Tento stav funguje jako paměť: teoreticky do něj lze zakódovat libovolně dlouhou historii, a tatáž sada vah se přitom používá v každém časovém kroku, takže model zvládá vstupy proměnné délky. Trénink probíhá metodou zpětného šíření v čase, kdy se síť rozvine do tolika kopií, kolik má sekvence prvků. Právě odsud plyne zásadní slabina: opakovaným násobením týchž matic gradient buď exponenciálně klesá k nule, nebo explodovaně roste, takže se síť prakticky nedokáže naučit závislosti přes delší odstup. Druhým omezením je nutná sekvenčnost – krok n nelze spočítat bez kroku n−1, což brání paralelizaci na moderních akcelerátorech. Vylepšené hradlované varianty LSTM a GRU první problém výrazně zmírnily, druhý však nikoli. Právě tímto ohledem je v roce 2017 překonala transformerová architektura, která celou sekvenci zpracuje naráz.


Představte si člověka, který čte knihu skulinkou tak úzkou, že vidí vždy jen jedno slovo. Aby mu příběh dával smysl, vede si v hlavě jednu jedinou souhrnnou myšlenku, kterou po každém slově přepíše. Funguje to překvapivě dobře pro poslední větu nebo dvě. Ale co se dozvěděl na straně deset, se mu do té jedné myšlenky po dvou stech stranách přepisování nevejde – vytratí se. A protože musí číst slovo za slovem, nemůže si práci rozdělit s kolegy a přečíst knihu desetkrát rychleji. Obojí je důvod, proč dnešní modely fungují jinak.

Je pro vás článek užitečný a čerpáte z něj? Zkopírujte si citaci