神经网络学习的体会:关于RNN的总结

       本人前段时间学习和研究神经网络的理论和编程,特别关注了在语音识别、语言模型、机器翻译等方面有广泛应用的RNN模型和LSTM模型。发现绝大多数有关RNN模型的文章,对于RNN模型的基本结构和前向传播公式基本是相同的,但是在误差反向传播方面,存在不同版本的理论公式,虽然大致相同,但还是有很多不同的地方,而且对公式的解释也会各有不同。在研究了多个版本后,发现没有一个跟我的理解是完全一致的,虽然有些在计算上是结果一致,但在公式的推导和理解方面会有不同。所以打算把自己所理解的对RNN模型的计算公式做一个完整的介绍总结,欢迎大家讨论指正。

一、RNN模型的文字说明

RNN前向传播公式基本是相同的,下面是一张简单的示意图:

循环示意图

       如图循环神经网络就是将网络的状态保存在一个记忆单元中,这个记忆单元和下一个时刻的输入一起进入神经网络中,得到下一个时刻记忆单元的值(状态)。具体如后面一节中的公式(1)所示。

展开示意图

      在展开图中h为状态值,t时刻输出是h的值先通过神经元得到一个值, 再乘上权重系数矩阵W得到特定维数的值,这个值再通过一个输出神经元,得到最终输出。具体如后面一节中的公式(2)(3)(4)所示。

二、RNN模型的数学公式

正向传播的基本公式:

    (1)

                        (2)

                     (3)

                        (4)

标准误差:

            (5) 为真实值,为输出值,

当一个神经网络只有在能够修正误差的情况下才有实际意义,所以误差反馈机制就特别重要,为此构建一个值,表示在t时刻的Loss。

          (6-1)  t时刻需要考虑的Loss为t时刻的标准误差加上后一时刻的Loss。

由于递推关系,考虑只有m个输出对应有……,,那么就有下面的公式:

         注:

   

……

上述公式合并表达为:

            (6-2)

容易得到:

                (6-3)

(6-1)式与(6-2)式的值相同。(6-1)式方便用于计算,(6-2)的物理意义更清楚

 下面介绍一下误差反向传播的基本公式:

                       (7)   由(4)(5)得到

  

                    (8) 由(1)(2)(3)(6-1)得到

       (9)  由公式(3)(6-1)和(6-3)得到

    (10)  由公式(1)得到

          (11)  由公式(1)得到

三、RNN模型数学公式的文字说明

  1. 在神经网络模型构建好以后,一般最关心的就是训练模型中参数的更新,通过上述的公式,各种参数的更新还是比较简单的。更新的过程一般从最后一个输出时刻t开始做计算,向后一直到对第一个输入时刻做计算。
  2. 的更新按照公式(9)中所要求的, 和 都是直接可以取值,而的计算涉及到公式(7)。公式(7)中的各个值很容易得到,对于特定的σ',都会有现成的公式可以套用。
  3. 的更新按照公式(10)中所要求的,​​​​​ 和 都是直接可以取值, ,而 的计算涉及到公式(8)。公式(8)中的值可以参考第2条中的方法计算,可以直接得到,而则不必计算,直接等于上一个时刻已经计算好的结果值
  4. 的更新按照公式(11)中所要求的,都是直接可以取值,而的  的计算涉及到公式(8)。公式(8)的计算同上面第3条所描述的一样,只要计算一次,就可以同时用于 的更新。
  5. 循环神经网络要求每一个时刻都要有一个输入,但是不一定要求输出。在没有输出的情况下,不难发现公式(8)的仍然是有值的,根据公式(10)(11)这意味着和 都可以在没有输出的情况下做更新。
  6. 对于softmax类型的输出,在做误差反馈的时候,只要把(7)中的值用softmax的误差反馈值代替即可。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周洪岳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值