为什么要使用双向RNN? 单向RNN根据前面的信息推出后面,但只看前面的话可能还不够
例如,
我今天不舒服,所以打算____一天。
如果只是“不舒服”,可能会有“去医院”、“睡觉”、“请假”等打算,但加上之后的“一天”,可选择的范围变小,“去医院”就不能选择了
什么是双向LSTM? 双向卷积神经网络的隐层必须保存两个值,a参与正向计算,a '参与反向计算。
最终输出值y为a和a ' :
也就是说,正向计算时,隐层的s_t与s_t-1有关; 对于反向计算,隐藏层的s_t与s_t 1相关。
在某些任务中,双向lstm优于单向lstm。