循环神经网络

循环神经网络(RNN)主要用于预测任务:基于当前和历史输入序列,预测序列的下一个字符。循环神经网络相对于普通神经网络而言,最大的特点在于颖仓变量HH的引进,用HtH_{t}表示HH在时间步tt的值,该变量记录了到当前字符为止的序列信息。历史信息的使用使得预测更为精确。循环神经网络的示意图:
动手学深度学习——循环神经网络

循环神经网络模型

假设XtRn×d\boldsymbol{X_{t} \in \mathbb{R}^{n \times d}}是时间步tt的小批量输入,HtRn×h\boldsymbol{H_{t} \in \mathbb{R}^{n \times h}}是该时间步的隐藏变量,则:
Ht=Φ(XtWxh+Ht1Whh+bh) \boldsymbol{H_{t}}=\Phi(\boldsymbol{X_{t}}\boldsymbol{W_{xh}}+\boldsymbol{H_{t-1}}\boldsymbol{W_{hh}}+\boldsymbol{b_{h}})

其中WxhRd×h\boldsymbol{W_{xh} \in \mathbb{R}^{d \times h}}WhhRh×h\boldsymbol{W_{hh} \in \mathbb{R}^{h \times h}}bhR1×h\boldsymbol{b_{h} \in \mathbb{R}^{1 \times h}}Φ\Phi函数是非线性**函数。由于引入了Ht1Whh\boldsymbol{H_{t-1}}\boldsymbol{W_{hh}}Ht\boldsymbol{H_{t}}能够捕捉截至当前时间步的序列的历史信息,就像是神经网络当前时间步的状态或记忆一样。循环神经网络的展开式示意图如下所示:
动手学深度学习——循环神经网络
在时间步,输出层的输出为:
Ot=HtWhq+bq \boldsymbol{O_{t}}=\boldsymbol{H_{t}}\boldsymbol{W_{hq}}+\boldsymbol{b_{q}}

其中WhqRd×h\boldsymbol{W_{hq} \in \mathbb{R}^{d \times h}}bqR1×q\boldsymbol{b_{q} \in \mathbb{R}^{1 \times q}}

注:上述来源于伯禹学习平台的《动手学深度学习》的学习笔记

相关文章:

  • 2022-12-23
  • 2021-07-19
  • 2021-04-01
  • 2021-12-07
  • 2021-09-26
  • 2021-08-20
  • 2021-09-28
猜你喜欢
  • 2021-11-30
  • 2021-08-13
  • 2022-01-09
  • 2021-07-25
  • 2021-12-26
  • 2021-05-26
  • 2021-10-22
相关资源
相似解决方案