可选参数“常量”在 keras 循环层中有什么作用?

nat*_*nij 5 python keras rnn

我正在学习使用 keras 构建自定义的序列到序列模型,并且一直在阅读其他人编写的一些代码,例如这里。我对有关常量的调用方法感到困惑。有 keras “关于将外部常量传递给 RNN 的注意事项”,但是我无法理解常量对模型的作用。

我确实浏览了注意力模型指针网络论文,但也许我错过了一些东西。

对建模细节的任何参考将不胜感激!提前致谢。

nat*_*nij 1

好的,作为参考,以防其他人偶然发现这个问题:我浏览了 recurrent.py 文件中的代码,我认为 get_constants 正在获取丢失掩码和经常丢失掩码,然后将其与 [h,c ] 状态(LSTM 步骤方法中需要这四个元素的顺序)。之后,它对原始 LSTM 单元不再重要,但您可以添加自己的“常量”(从某种意义上说,它不会被学习)以从一个时间步传递到下一个时间步。所有常量都将隐式添加到返回的 [h,c] 状态中。在Keon 的示例中,返回状态的第五个位置是输入序列,可以通过调用 states[-1] 在每个时间步中引用它。