视频链接
深度循环神经网络
双向循环神经网络
注解
一、RNN的深度
00:01
为了获得更强大的模型,我们通常把神经网络模型做的很“深”,这里要注意的是,在循环神经网络中,我们取很长的序列来做下一步的预测,这里的”长“,指的并不是深度,这里指的深度指的是隐藏层的深度,这里用图说明会更清晰
从数学公式的角度来说明深度
Ht(1)Ht(j)Ot=f1(Ht−1(1),Xt)⋯=fj(Ht−1(j),Ht(j−1))⋯=g(Ht(L))
其中j=1⋯L,代表的是深度;其中t=1⋯T,代表的是序列长度
二、双向RNN
00:01
在日常生活中,未来的数据也很重要,当我们的任务是根据过去与未来预测中间的一个时间点时,我们就需要使用到双向的RNN,要构建反向的RNN,我们只需要增加一个从后到前的隐状态即可
此时我们的输出就需要合并两个隐状态来得到(将他们组合在一起的权重Whq是学出来的),得到公式:
HtHtHtOt=ϕ(XtWxhforward+Ht−1XtWhhforward+bhforward)=ϕ(XtWxhbackward+Ht−1XtWhhbackward+bhbackward)=[Ht,Ht]=HtWhq+bq
然而,双向循环神经网络的推理是个难题,由于我们一般无法获取未来的数据,因此双向循环神经网络经常用于对特征的提取、填空,而不是预测未来