Parte 3
Marcelo Finger Alan Barzilay
Forget e input gates são unidos em um unico update gate z
Cell state e hidden state passam a ser uma única entidade
Update Gate z controla se o estado h deve ser atualizado com \(\tilde{h}\)
tf.keras.layers.GRU(
    units,
    activation="tanh",
    recurrent_activation="sigmoid",
    use_bias=True,
    kernel_initializer="glorot_uniform",
    recurrent_initializer="orthogonal",
    bias_initializer="zeros",
    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,
    unroll=False,
    time_major=False,
    reset_after=True,
    **kwargs
)
LSTM é um pouco mais poderosa (captura mais padrões do contexto)
Â
GRU é mais rápida de ser treinada