Buňky GRU a LSTM

Rekurentní neuronové sítě (RNN) pro jazykové modelování s Keras

David Cecchini

Data Scientist

Přiblížení paměťové buňky SimpleRNN zobrazující paměťový stav jako vstup z předchozí buňky a vstup dalšího slova. Buňka vydává nový paměťový stav a predikci

Rekurentní neuronové sítě (RNN) pro jazykové modelování s Keras

Přiblížení buňky GRU zobrazující přidané struktury: aktualizační bránu a počátečního kandidáta paměťové buňky

Rekurentní neuronové sítě (RNN) pro jazykové modelování s Keras

Přiblížení buňky LSTM zobrazující přidané bránu zapomínání, výstupní bránu, aktualizační bránu a kandidáta paměťové buňky

Rekurentní neuronové sítě (RNN) pro jazykové modelování s Keras

Konec mizejících gradientů

  • Buňka simpleRNN může mít problémy s gradientem.

    • Matice vah na t-tou mocninu násobí ostatní členy
  • Buňky GRU a LSTM nemají problémy s mizejícím gradientem

    • Díky svým bránám
    • Neobsahují členy matic vah násobící zbytek
    • Explodující gradient se snáze řeší
Rekurentní neuronové sítě (RNN) pro jazykové modelování s Keras

Použití v Keras

# Import the layers
from tensorflow import keras
from tensorflow.keras.layers import GRU, LSTM
# Add the layers to a model
model.add(GRU(units=128, return_sequences=True, name='GRU layer'))
model.add(LSTM(units=64, return_sequences=False, name='LSTM layer'))
Rekurentní neuronové sítě (RNN) pro jazykové modelování s Keras

Pojďme si procvičit!

Rekurentní neuronové sítě (RNN) pro jazykové modelování s Keras

Preparing Video For Download...