Marcelo Finger
Alan Barzilay

LSTM & GRU

Parte 2

Roteiro

  1. Revisão de AL
  2. LSTMs
  3. GRUs
  4. Redes Bidirecionais

LSTM: Long Short Term Memory

Como vimos na aula passada, Redes Neurais Recorrentes sofrem de vanishing gradient.

Vanishing Gradient

A LSTM combate isso ao criar um cell state onde informações podem fluir de um estado anterior ao próximo, gerando uma espécie de memória na rede.

A LSTM possui 3 gates principais:

  • Forget gate

  • Input gate

  • Output gate

Forget Gate

O que deve ser esquecido?

Decide o que apagar do cell state, valores próximos de 1 serão mantidos e próximos de 0 serão descartados.

'

Input Gate

\(\tilde{C}_t\) calcula candidatos a serem armazenados no cell state

O input gate decide quais desses valores candidatos devem ser atualizados no cell state

'

'

Cell State

Os valores “selecionados” do cell state anterior e do candidato serão combinados para formar o novo cell state

Output Gate

Novamente uma sigmoide, “seleciona” os elementos do cell state que serão utilizados como output.

'

Recapitulando LSTM

O forget gate decide o que manter das etapas anteriores, o input gate decide que informação manter da etapa atual e o output gate determina o próximo hidden state.



 

tf.keras.layers.LSTM(
    units,
    activation="tanh",
    recurrent_activation="sigmoid",
    use_bias=True,
    kernel_initializer="glorot_uniform",
    recurrent_initializer="orthogonal",
    bias_initializer="zeros",
    unit_forget_bias=True,
    kernel_regularizer=None,
    recurrent_regularizer=None,
    bias_regularizer=None,
    activity_regularizer=None,
    kernel_constraint=None,
    recurrent_constraint=None,
    bias_constraint=None,
    dropout=0.0,
    recurrent_dropout=0.0,
    implementation=2,
    return_sequences=False,
    return_state=False,
    go_backwards=False,
    stateful=False,
    time_major=False,
    unroll=False,
    **kwargs
)
Imagem de um botão estilizado de volta para pagina inicial