Cellules GRU et LSTM

Réseaux de neurones récurrents (RNN) pour la modélisation du langage avec Keras

David Cecchini

Data Scientist

Zoom sur une cellule SimpleRNN, montrant l'état mémoire en entrée issu de la cellule précédente et l'entrée du mot suivant. La cellule produit le nouvel état mémoire et la prédiction

Réseaux de neurones récurrents (RNN) pour la modélisation du langage avec Keras

Zoom sur la cellule GRU, montrant les structures ajoutées appelées porte de mise à jour et candidat initial pour la mémoire

Réseaux de neurones récurrents (RNN) pour la modélisation du langage avec Keras

Zoom sur la cellule LSTM, montrant la porte d'oubli, la porte de sortie, la porte de mise à jour et le candidat mémoire ajoutés

Réseaux de neurones récurrents (RNN) pour la modélisation du langage avec Keras

Fin des gradients qui s'annulent

  • La cellule simpleRNN peut avoir des problèmes de gradient.

    • La matrice de poids à la puissance t multiplie les autres termes
  • Les cellules GRU et LSTM n'ont pas de problème de gradient qui s'annule

    • Grâce à leurs portes
    • Pas de termes de matrices de poids qui multiplient le reste
    • Les gradients explosifs sont plus faciles à gérer
Réseaux de neurones récurrents (RNN) pour la modélisation du langage avec Keras

Utilisation dans 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'))
Réseaux de neurones récurrents (RNN) pour la modélisation du langage avec Keras

Passons à la pratique !

Réseaux de neurones récurrents (RNN) pour la modélisation du langage avec Keras

Preparing Video For Download...