深度学习小白专场之循环神经网络和递归神经网络
全连接神经网络和卷积神经⽹网络,都只能单独的去处理单个的输入,且前后的输入之间毫无关系。但是在一些任务中,我们需要更好的去处理序列的信息,即前后的输⼊之间存在关系。比如,在理解一整句话的过程中,孤立理解组成这句话的词是不够的,我们需要整体的处理由这些词连接起来的整个序列;当我们处理视频时,我们也不能单独地仅仅分析每一帧,⽽要分析这些帧连接起来的整个序列。这就引出了了深度学习领域中另⼀类非常重要的神经网络:循环神经⽹网络(Recurrent Neural Network)。
1.循环神经网络
我们首先来看一下一个简单的循环神经⽹络图,它由输⼊层、一个隐藏层和⼀个输出层组成。我们可以看到,循环神经网络的隐藏层的值s不仅仅取决于当前这次的输入x,还取决于上一次隐藏层的值s,权重矩阵W就是隐藏层上一次的值作为这一次的输入的权重。
从上⾯可以看出,循环神经⽹网络的输出值ot,是受前⾯历次输⼊入值xt、xt−1、xt−2. . . 的影响的, 这就是为什么循环神经网络可以往前看任意多个输入值的原因。
对比与卷积神经网络CNN一般用于处理网格化数据如一个图像的神经网络,循环神经网络RNN是一类用于处理序列数据的神经网