výhonek Co jsou RNN a LSTM v hlubokém učení? - Spojte se.AI
Spojte se s námi
Mistrovská třída AI:

AI 101

Co jsou RNN a LSTM v hlubokém učení?

mm
aktualizováno on

Mnoho z nejpůsobivějších pokroků ve zpracování přirozeného jazyka a AI chatbotů je poháněno Rekurentní neuronové sítě (RNN) a sítě s dlouhou krátkodobou pamětí (LSTM). RNN a LSTM jsou speciální architektury neuronových sítí, které jsou schopny zpracovávat sekvenční data, data, kde záleží na chronologickém řazení. LSTM jsou v podstatě vylepšené verze RNN, schopný interpretovat delší sekvence dat. Podívejme se, jak jsou RNN a LSTMS strukturovány a jak umožňují vytvářet sofistikované systémy zpracování přirozeného jazyka.

Co jsou Feed-Forward neuronové sítě?

Než se tedy budeme bavit o tom, jak funguje Long Short-Term Memory (LSTM) a Convolutional Neural Networks (CNN), měli bychom probrat formát neuronové sítě obecně.

Neuronová síť má zkoumat data a učit se relevantní vzory, takže tyto vzorce lze aplikovat na jiná data a nová data lze klasifikovat. Neuronové sítě jsou rozděleny do tří částí: vstupní vrstva, skrytá vrstva (nebo více skrytých vrstev) a výstupní vrstva.

Vstupní vrstva je to, co přijímá data do neuronové sítě, zatímco skryté vrstvy jsou to, co se učí vzory v datech. Skryté vrstvy v datové sadě jsou spojeny se vstupní a výstupní vrstvou pomocí „váh“ a „předpojatosti“, což jsou pouze předpoklady toho, jak spolu datové body souvisí. Tyto váhy se upravují během tréninku. Jak se síť trénuje, odhady modelu o trénovacích datech (výstupní hodnoty) se porovnávají se skutečnými trénovacími štítky. V průběhu školení by se síť měla (doufejme) zpřesnit v předpovídání vztahů mezi datovými body, aby mohla přesně klasifikovat nové datové body. Hluboké neuronové sítě jsou sítě, které mají více vrstev ve středních/více skrytých vrstev. Čím více skrytých vrstev a více neuronů/uzlů model má, tím lépe model dokáže rozpoznat vzory v datech.

Běžné, dopředné neuronové sítě, jako jsou ty, které jsem popsal výše, se často nazývají „husté neuronové sítě“. Tyto husté neuronové sítě jsou kombinovány s různými síťovými architekturami, které se specializují na interpretaci různých druhů dat.

Co jsou RNN (rekurentní neuronové sítě)?

Rekurentní neuronové sítě berou obecný princip dopředných neuronových sítí a umožňují jim zpracovávat sekvenční data pomocí dává modelu vnitřní paměť. Část názvu RNN „Recurrent“ pochází ze skutečnosti, že vstupní a výstupní smyčky. Jakmile je vytvořen výstup sítě, výstup je zkopírován a vrácen do sítě jako vstup. Při rozhodování se neanalyzuje pouze aktuální vstup a výstup, ale zohledňuje se také předchozí vstup. Jinými slovy, pokud je počátečním vstupem sítě X a výstupem H, H i X1 (další vstup v datové sekvenci) jsou přiváděny do sítě pro další kolo učení. Tímto způsobem je zachován kontext dat (předchozí vstupy), když síť trénuje.

Výsledkem této architektury je, že RNN jsou schopny zpracovávat sekvenční data. RNN však trpí několika problémy. RNN trpí mizející gradient a explodující problémy s gradientem.

Délka sekvencí, které může RNN interpretovat, je poměrně omezená, zejména ve srovnání s LSTM.

Co jsou LSTM (sítě s dlouhou krátkodobou pamětí)?

Sítě s dlouhou krátkodobou pamětí lze považovat za rozšíření RNN, opět uplatňující koncept zachování kontextu vstupů. LSTM však byly upraveny několika důležitými způsoby, které jim umožňují interpretovat minulá data lepšími metodami. Změny provedené v LSTM řeší problém mizejícího gradientu a umožňují LSTM zvažovat mnohem delší vstupní sekvence.

Modely LSTM se skládají z tři různé komponenty neboli brány. Je tu vstupní brána, výstupní brána a zapomenutá brána. Podobně jako RNN berou LSTM vstupy z předchozího časového kroku v úvahu při úpravě paměti modelu a vstupních vah. Vstupní brána rozhoduje o tom, které hodnoty jsou důležité a měly by být modelem propuštěny. Ve vstupní bráně je použita sigmoidní funkce, která určuje, které hodnoty se mají předat přes rekurentní síť. Nula snižuje hodnotu, zatímco 1 ji zachovává. I zde je použita funkce TanH, která rozhoduje o tom, jak důležité jsou pro model vstupní hodnoty v rozsahu -1 až 1.

Po zohlednění aktuálních vstupů a stavu paměti se výstupní brána rozhodne, které hodnoty se přesunou do dalšího časového kroku. Ve výstupní bráně jsou hodnoty analyzovány a je jim přiřazena důležitost v rozsahu od -1 do 1. Tím se regulují data před tím, než se přenesou do dalšího výpočtu časového kroku. Úkolem zapomenuté brány je nakonec vypustit informace, které model považuje za zbytečné pro rozhodování o povaze vstupních hodnot. Brána zapomenout používá na hodnoty sigmoidní funkci, která vydává čísla mezi 0 (zapomeň na to) a 1 (to si ponech).

Neuronová síť LSTM je tvořena jak speciálními vrstvami LSTM, které dokážou interpretovat sekvenční data slov, tak hustě propojenými, jak je popsáno výše. Jakmile data projdou vrstvami LSTM, postupují do hustě propojených vrstev.

Blogerka a programátorka se specializací v Strojové učení a Hluboké učení témata. Daniel doufá, že pomůže ostatním využívat sílu AI pro společenské dobro.