bir*_*aum 5 bidirectional deep-learning keras recurrent-neural-network
在Keras中,RNN的Bidirectional包装器也支持stateful=true.我真的不明白这是怎么回事:
在有状态的单向模型中,批次的状态被转移到下一批次.我猜它对双向模型中的前向层的作用相同.
但是后向层从哪里获取它的状态?如果我理解正确的一切,它应该从技术上接受"下一批"的状态.但显然"下一个"批次还不是计算机,所以它是如何工作的?
Bidirectional人们可以通过以下方式思考一层:
forward = Recurrent(..)(input)
backward = Recurrent(..., reverse_input=True)(input)
output = merge([forward, backward], ...)
Run Code Online (Sandbox Code Playgroud)
因此,正如您所看到的,您正在失去时间方向。您正在从头到尾分析输入。在这种情况下 - 设置stateful=True只是根据双向分支的方向从先前的样本获取其起始状态(forwardtakes from forward,backwardtakesfrombackward)从先前的样本中获取其起始状态。
这使得您的模型失去了解释能力 - 来自并发批次的样本可能被解释为分为多个批次的紧凑序列。
| 归档时间: |
|
| 查看次数: |
525 次 |
| 最近记录: |