如何在Keras中构建自定义RNN层?

时间:2016-10-19 06:53:11

标签: deep-learning keras recurrent-neural-network

我正在尝试在Keras中实现自定义RNN层,并尝试按照此link中的说明进行操作,这基本上指示如何从现有RNN类继承。但是,我的公式中隐藏层的更新方程有点不同:h(t) = tanh(W.x + U.h(t-1) + V.r(t) + b)我有点困惑。在此等式中,r(t) = f(x, p(t))x的函数,固定输入随时间分布,还有p(t) = O(t-1).alpha + p(t-1),其中O(t)是每个RNN单元的Softmax输出。

我认为在继承的super(customRNN, self).step函数中调用step后,标准h(t)应该被我对h(t)的定义所覆盖。但是我不知道如何修改statesget_constants函数,以及我是否需要修改Keras中recurrent和simpleRNN类的任何其他部分。 我的直觉是get_constants函数只将退出矩阵作为额外状态返回到阶梯函数,所以我猜测应该在我的方程式中为V的压差矩阵添加至少一个状态。 / p>

我刚刚开始使用Keras,我找不到很多关于自定义Keras图层定义的参考资料。对不起,如果我的问题有很多参数,我只是想确保我没有错过任何一点。谢谢!

0 个答案:

没有答案