我正在学习使用keras构建定制的序列到序列模型,并且已经阅读了其他人编写的一些代码,例如here。关于常量的调用方法我很困惑。有keras "Note on passing external constants to RNNs",但是我很难理解常量对模型的作用。
我确实通过了attention model和pointer network论文,但也许我错过了一些东西。
任何对建模细节的参考都将不胜感激!提前谢谢。
答案 0 :(得分:1)
好的,只是作为参考,以防其他人偶然发现这个问题:我查看了recurrent.py文件中的代码,我认为get_constants正在获取dropout掩码和recurrent dropout mask,然后将其与[ h,c]状态(LSTM步骤方法中需要这四个元素的顺序)。之后它对原始LSTM单元格不再重要,但您可以添加自己的常量' (从某种意义上说,它不会被学习)从一个时间步到另一个时间步。所有常量将隐式添加到返回的[h,c]状态。在Keon's example中,返回状态的第五个位置是输入序列,并且可以通过调用状态[-1]在每个时间步长中引用它。