今天我们学习的是,双向循环神经网络,也就是不止从前往后,也要从后往前的神经网络。
单向神经网络无法解决我们之前提到的Teddy问题,只从前面的3个词没办法准确分类出Teddy是否表示的是名字或者是泰迪熊。
首先我们先介绍一下这个模型的结构:
这个结构首先让我没想到的是它把a分成了->和<-两个部分,这两个部分在计算的时候是互不相关的。一个负责前向传播的部分,一个负责后向传播的部分,前向传播的更新从a<1>开始,后向传播的从a<t>开始往前传播。
在这样的两个部分作用下,其中的每个元素都能收到它前面跟后面单词的影响,从而得到更加准确的预测值。
这种双向的思想不止可以用于RNN当中,也可以用在GRU或者LSTM上,都是看应用场景进行开发。
双向传播神经网络有个缺点:你必须得知道整个数据集的内容,才可以对其中的某个序列进行预测,因此在生成序列的应用当中没办法使用到这种网络结构(也没必要)。
网友评论