GRU je typ rekurentní neuronové sítě, který řeší problém mizejícího gradientu podobně jako LSTM, ale s jednodušší vnitřní strukturou. GRU kombinuje stav buňky a skrytý stav do jednoho vektoru a používá méně bran, což zrychluje trénování i samotný běh modelu.
Zatímco LSTM má tři brány, GRU používá pouze dvě hlavní brány k řízení toku informací:
Tato brána určuje, kolik informací z předchozího stavu má být zachováno a kolik nových informací má být přidáno. Je to v podstatě kombinace zapomínací a vstupní brány z LSTM. Pomáhá modelu rozhodnout, zda si má pamatovat dlouhodobý kontext, nebo jej přepsat novým vstupem.
Určuje, jak moc má být předchozí stav ignorován při výpočtu nového kandidáta na skrytý stav. Pokud je hodnota blízká nule, model „zapomene“ předchozí historii a začne zpracovávat aktuální vstup jako nový začátek sekvence.
[Image comparing internal gates of LSTM vs GRU units]
| Vlastnost | LSTM | GRU |
|---|---|---|
| Počet bran | 3 (Forget, Input, Output) | 2 (Update, Reset) |
| Počet parametrů | Více (náročnější na paměť) | Méně (lehčí a rychlejší) |
| Vnitřní stav | Oddělený Cell State a Hidden State | Pouze jeden Hidden State |
| Rychlost trénování | Pomalejší | Rychlejší |
| Přesnost | Často lepší u velmi dlouhých sekvencí | Lepší u menších datasetů nebo kratších sekvencí |
GRU je často preferovanou volbou v situacích, kde:
Zajímavost: V mnoha testech dosahují GRU a LSTM téměř identických výsledků. Neexistuje jednoznačný vítěz – v praxi se často vyzkouší obě architektury a vybere se ta, která pro konkrétní data funguje lépe.