有人能给我解释一下在初始化keras lstm层时传递的激活参数和循环激活参数之间的区别吗?

有人能给我解释一下在初始化keras lstm层时传递的激活参数和循环激活参数之间的区别吗?,keras,lstm,keras-layer,Keras,Lstm,Keras Layer,有人能给我解释一下在初始化keras lstm层时传递的激活参数和循环激活参数之间的区别吗 据我了解,LSTM有4层。如果我不向LSTM构造函数传递任何激活参数,请解释每个层的默认激活函数是什么?因此,当一个层被调用时,将执行两种操作: 实现内部存储单元的内部循环激活计算-为此,使用循环激活(默认值为硬sigmoid) 计算层的最终输出。这里您正在应用一个激活功能(默认值为tanh) 您可以阅读详细信息。我验证了您的问题,以下是我的结论: -激活:tanh; -反复激活:乙状结肠(keras

有人能给我解释一下在初始化keras lstm层时传递的激活参数和循环激活参数之间的区别吗

据我了解,LSTM有4层。如果我不向LSTM构造函数传递任何激活参数,请解释每个层的默认激活函数是什么?

因此,当一个层被调用时,将执行两种操作:

  • 实现内部存储单元的内部循环激活计算-为此,使用
    循环激活
    (默认值为
    硬sigmoid
  • 计算层的最终输出。这里您正在应用一个
    激活
    功能(默认值为
    tanh

您可以阅读详细信息。

我验证了您的问题,以下是我的结论: -激活:tanh; -反复激活:乙状结肠(keras中默认的硬乙状结肠); 对于一个单元中的4个门: -i、f、o使用循环激活;
-C和更新h使用激活

除候选隐藏状态(g)和输出隐藏状态(c)外,LSTM单元还有3个称为输入、忘记和输出门的门

LSTMCell类中的build方法包含调用这些激活的实现()

反复_激活参数适用于输入、忘记和输出门。此参数的默认值是硬sigmoid函数。激活参数应用于候选隐藏状态和输出隐藏状态。此参数的默认值是双曲正切函数

On

1932年的路线

i = self.recurrent_activation(z0)
f = self.recurrent_activation(z1)
c = f * c_tm1 + i * self.activation(z2)
o = self.recurrent_activation(z3)
h = o * self.activation(c)
循环_激活用于激活输入/忘记/输出门


激活如果用于单元状态和隐藏状态
更新候选和输出所需的激活是tanh。因此,重复激活与Keras文档中的这些激活相对应。

我刚刚阅读了您共享的文章。我所了解的是,在一个LSTM块中有四个层。1.忘记层决定从单元状态中忘记什么。2.输入门层决定我们要更新的单元状态值3。tanh层,该层创建一个新候选值向量,可以添加到状态。4.最后是一个sigmoid层,它决定了我们要输出什么。现在请你告诉我这四种激活中哪些是重复激活,哪些是正常激活。