Cellules GRU et LSTM

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

David Cecchini

Data Scientist

Gros plan 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

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

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

Gros plan sur la cellule LSTM, montrant les portes ajoutées : oubli, sortie, mise à jour et le candidat pour la cellule mémoire

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

Fini les gradients évanescents

  • 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 évanescent

    • Grâce à leurs portes
    • Pas de matrices de poids qui multiplient le reste
    • Les gradients explosifs se gèrent plus facilement
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...