Células GRU e LSTM

Redes Neurais Recorrentes (RNNs) para Modelagem de Linguagem com Keras

David Cecchini

Data Scientist

Zoom em uma célula SimpleRNN, mostrando o estado de memória como entrada obtida na célula anterior e a entrada da próxima palavra. A célula fornece o novo estado de memória e a previsão

Redes Neurais Recorrentes (RNNs) para Modelagem de Linguagem com Keras

Zoom na célula GRU, mostrando as estruturas extras chamadas de "update gate" e o candidato inicial para a célula de memória

Redes Neurais Recorrentes (RNNs) para Modelagem de Linguagem com Keras

Zoom na célula LSTM, mostrando as portas "forget", "output", "update" e o candidato para a célula de memória

Redes Neurais Recorrentes (RNNs) para Modelagem de Linguagem com Keras

Sem mais gradientes que somem

  • A célula simpleRNN pode ter problemas de gradiente.

    • A potência t da matriz de pesos multiplica os outros termos
  • Células GRU e LSTM não sofrem com gradiente que desaparece

    • Por causa de suas portas
    • Não têm termos de matrizes de pesos multiplicando o resto
    • Problemas de gradiente explosivo são mais fáceis de resolver
Redes Neurais Recorrentes (RNNs) para Modelagem de Linguagem com Keras

Uso no 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'))
Redes Neurais Recorrentes (RNNs) para Modelagem de Linguagem com Keras

Vamos praticar!

Redes Neurais Recorrentes (RNNs) para Modelagem de Linguagem com Keras

Preparing Video For Download...