认识循环神经网络

作者:杨润炜
日期:2018/2/18 17:12

循环神经网络

学习内容

  • 了解循环神经网络

我的理解

  • 先从基本的循环神经网络说起,它只包含一个隐含层,结构如下:
    Minion
    与之前所说的全连接神经网络的区别在于隐含层多了带箭头权重为w的圆圈;
    图中各部分解析如下:
    x是一个向量,它表示输入层的值;
    s是一个向量,它表示隐藏层的值;
    U是输入层到隐藏层的权重矩阵
    o也是一个向量,它表示输出层的值;
    V是隐藏层到输出层的权重矩阵
    W就是隐藏层上一次的值作为这一次的输入的权重;

    从图右侧计算流程看出,这个网络在t时刻接收到输入xt之后,隐藏层的值是st,输出值是ot。关键一点是,st的值不仅仅取决于xt,还取决于st-1。我们可以用下面的公式来表示循环神经网络的计算方法:

    Minion
    将第二个式子不断代入第一个式,得到:
    Minion
    循环神经网络的输出值 ,是受前面历次输入值的影响的,这就是循环神经网络可以往前看任意多个输入值的原因。

    接下来简单认识下双向循环神经网络,大体流程如下图:
    Minion
    从上图可以看出,双向卷积神经网络的隐藏层要保存两个值,一个A参与正向计算,另一个值A’参与反向计算。最终的输出值取决于A2和A2’,两者分别是正向计算和反向计算的结果,所以双向循环神经网络可以向前和向后看任意个输入值。

    最后再来看看深度循环神经网络,它是在基本循环神经网络的单层隐含层转变为多隐含层,而且隐含层之间存在输入输出联系,如下图所示:
    Minion

意义

了解了几种循环神经网络的基本实现原理,以及它适合自然语言处理和机器翻译的原因。

参考

零基础入门深度学习(5) - 循环神经网络

感谢您的阅读!
如果看完后有任何疑问,欢迎拍砖。
欢迎转载,转载请注明出处:http://www.yangrunwei.com/a/91.html
邮箱:glowrypauky@gmail.com
QQ: 892413924