GRU- en LSTM-cellen

Recurrent Neural Networks (RNN's) voor taalmodellen met Keras

David Cecchini

Data Scientist

Inzoomen op een SimpleRNN-geheugencel, met de geheugenstatus als invoer uit de vorige cel en de invoer van het volgende woord. De cel geeft de nieuwe geheugenstatus en de voorspelling

Recurrent Neural Networks (RNN's) voor taalmodellen met Keras

Inzoomen op de GRU-cel, met extra structuren: update-poort en kandidaat-geheugenstatus

Recurrent Neural Networks (RNN's) voor taalmodellen met Keras

Inzoomen op de LSTM-cel, met extra forget-poort, output-poort, update-poort en kandidaat-geheugenstatus

Recurrent Neural Networks (RNN's) voor taalmodellen met Keras

Geen verdwijnende gradiënten meer

  • De simpleRNN-cel kan gradiëntproblemen hebben.

    • De gewichtenmatrix tot de t-de macht vermenigvuldigt andere termen
  • GRU- en LSTM-cellen hebben geen verdwijnende gradiënten

    • Dankzij hun poorten
    • Geen gewichtenmatrices die de rest vermenigvuldigen
    • Exploderende gradiënten zijn makkelijker te verhelpen
Recurrent Neural Networks (RNN's) voor taalmodellen met Keras

Gebruik in 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'))
Recurrent Neural Networks (RNN's) voor taalmodellen met Keras

Laten we oefenen!

Recurrent Neural Networks (RNN's) voor taalmodellen met Keras

Preparing Video For Download...