1. 前提
我们考虑以下三个在文本序列中填空的任务。
• 我___。
• 我___饿了。
• 我___饿了,我可以吃半头猪。
根据可获得的信息量,我们可以用不同的词填空,如“很高兴”(“happy”)、“不”(“not”)和“非常”(“very”)。很明显,每个短语的“下文”传达了重要信息(如果有的话),而这些信息关乎到选择哪个词来填空,所以无法利用这一点的序列模型将在相关任务上表现不佳。
2. 双向RNN
- 能够提供与隐马尔可夫模型类似的前瞻能力
- 只需要增加一个“从最后一个词元开始从后向
前运行”的循环神经网络,而不是只有一个在前向模式下“从第一个词元开始运行”的循环神经网络。 - 双向循环神经网络(bidirectional RNNs)添加了反向传递信息的隐藏层,以便更灵活地处理此类信息。
3. 小结
- • 在双向循环神经网络中,每个时间步的隐状态由当前时间步的前后数据同时决定。
- • 双向循环神经网络与概率图模型中的“前向‐后向”算法具有相似性。
- • 双向循环神经网络主要用于序列编码和给定双向上下文的观测估计。
- • 由于梯度链更长,因此双向循环神经网络的训练代价非常高。