LSTM je speciální typ rekurentní neuronové sítě (RNN), která je schopna se učit dlouhodobé závislosti v datech. Byla navržena Seppem Hochreiterem a Jürgenem Schmidhuberem v roce 1997 jako řešení problému mizejícího gradientu (vanishing gradient), kvůli kterému standardní RNN zapomínaly informace ze začátku dlouhých sekvencí.
Zatímco běžná RNN má v každém kroku jednoduchou strukturu (např. jednu vrstvu s funkcí tanh), LSTM uzel (buňka) obsahuje složitý systém „bran“, které regulují tok informací.
Klíčem k LSTM je stav buňky (cell state) – horizontální linka procházející horní částí schématu, která funguje jako „dopravní pás“ pro informace. Brány (gates) pak rozhodují, co se na tento pás přidá a co se z něj odstraní.
Rozhoduje o tom, které informace z předchozího stavu již nejsou důležité a mají být vymazány.
Určuje, které nové informace ze současného vstupu budou uloženy do stavu buňky. Skládá se ze dvou částí: jedna vybere hodnoty k aktualizaci a druhá vytvoří nové kandidáty na uložení.
Na základě aktuálního stavu buňky rozhodne, co bude výsledným výstupem (hidden state) pro tento krok. Tento výstup je pak předán další buňce v sekvenci.
Díky těmto branám si LSTM dokáže udržet důležitou informaci (např. podmět věty) po velmi dlouhou dobu, i když mezi ním a souvisejícím slovem (např. slovesem na konci souvětí) leží desítky jiných slov.
| Vlastnost | Standardní RNN | LSTM |
|---|---|---|
| Paměť | Velmi krátká (jednotky kroků). | Dlouhá (stovky až tisíce kroků). |
| Komplexita | Nízká (1 aktivační funkce). | Vysoká (4 vrstvy s různými funkcemi). |
| Trénování | Rychlé, ale často neúspěšné. | Pomalejší, ale mnohem stabilnější. |
| Využití | Jednoduché časové řady. | Překlad textu, generování řeči. |
Zajímavost: Architektura LSTM byla tak úspěšná, že dominovala oblasti AI téměř 20 let, dokud v roce 2017 nepřišel článek „Attention Is All You Need“, který představil Transformery.