循环神经网络(RNN)主要用于预测任务:基于当前和历史输入序列,预测序列的下一个字符。循环神经网络相对于普通神经网络而言,最大的特点在于颖仓变量H的引进,用Ht表示H在时间步t的值,该变量记录了到当前字符为止的序列信息。历史信息的使用使得预测更为精确。循环神经网络的示意图:
循环神经网络模型
假设Xt∈Rn×d是时间步t的小批量输入,Ht∈Rn×h是该时间步的隐藏变量,则:
Ht=Φ(XtWxh+Ht−1Whh+bh)
其中Wxh∈Rd×h,Whh∈Rh×h,bh∈R1×h,Φ函数是非线性**函数。由于引入了Ht−1Whh,Ht能够捕捉截至当前时间步的序列的历史信息,就像是神经网络当前时间步的状态或记忆一样。循环神经网络的展开式示意图如下所示:
在时间步,输出层的输出为:
Ot=HtWhq+bq
其中Whq∈Rd×h,bq∈R1×q。
注:上述来源于伯禹学习平台的《动手学深度学习》的学习笔记
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:动手学深度学习——循环神经网络 - Python技术站