GRU- och LSTM-celler

Återkommande neurala nätverk (RNN) för språkmodellering med Keras

David Cecchini

Data Scientist

Inzoomning på en SimpleRNN-minnescell som visar minnestillståndet som indata från föregående cell och indata för nästa ord. Cellen matar ut det nya minnestillståndet och prediktionen

Återkommande neurala nätverk (RNN) för språkmodellering med Keras

Inzoomning på GRU-cellen som visar de tillagda strukturerna: uppdateringsgrinden och den initiala kandidaten för minnescellen

Återkommande neurala nätverk (RNN) för språkmodellering med Keras

Inzoomning på LSTM-cellen som visar den tillagda glömskegrinden, utgrinden, uppdateringsgrinden och kandidaten för minnescellen

Återkommande neurala nätverk (RNN) för språkmodellering med Keras

Inga fler försvinnande gradienter

  • simpleRNN-cellen kan drabbas av gradientproblem.

    • Viktmatrisens potens t multiplicerar de övriga termerna
  • GRU- och LSTM-celler har inga problem med försvinnande gradienter

    • Tack vare sina grindar
    • Viktmatristermerna multiplicerar inte resten
    • Exploderade gradienter är lättare att hantera
Återkommande neurala nätverk (RNN) för språkmodellering med Keras

Användning i 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'))
Återkommande neurala nätverk (RNN) för språkmodellering med Keras

Nu kör vi en övning!

Återkommande neurala nätverk (RNN) för språkmodellering med Keras

Preparing Video For Download...