Celle GRU e LSTM

Reti Neurali Ricorrenti (RNN) per il Language Modeling con Keras

David Cecchini

Data Scientist

Zoom su una cella SimpleRNN, con lo stato di memoria in input dalla cella precedente e l’input della parola successiva. La cella produce il nuovo stato di memoria e la previsione

Reti Neurali Ricorrenti (RNN) per il Language Modeling con Keras

Zoom sulla cella GRU, con le strutture aggiuntive chiamate update gate e candidato iniziale per la memoria

Reti Neurali Ricorrenti (RNN) per il Language Modeling con Keras

Zoom sulla cella LSTM, con forget gate, output gate, update gate e il candidato per la memoria

Reti Neurali Ricorrenti (RNN) per il Language Modeling con Keras

Niente più vanishing gradients

  • La cella simpleRNN può avere problemi di gradiente.

    • La matrice dei pesi elevata a t moltiplica gli altri termini
  • Le celle GRU e LSTM non hanno il problema del vanishing gradient

    • Grazie ai loro gate
    • Non hanno termini di matrici dei pesi che moltiplicano il resto
    • Gli exploding gradient sono più facili da gestire
Reti Neurali Ricorrenti (RNN) per il Language Modeling con Keras

Uso 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'))
Reti Neurali Ricorrenti (RNN) per il Language Modeling con Keras

Passiamo alla pratica!

Reti Neurali Ricorrenti (RNN) per il Language Modeling con Keras

Preparing Video For Download...