循环神经网络RNN

循环神经网络RNN     

 

 曾经因为新冠肺炎疫情的原因得到了一个超长假期,但是我没有好好珍惜。等到快开学的时候我才追悔莫及,如果上天再给我一次机会我一定会好好学习,天天向上,不睡懒觉,勤勉读书,励精图治,奋发图强。

       诚惶诚恐地上一波学习笔记。

        循环神经网络(Recurrent Neural Network)的作用:对于一些不仅依赖于当前情况还依赖于过去情况的问题,传统神经网络无法处理很好地处理,基于记忆的神经网络模型必不可少。

         RNN的原理:基于记忆模型的想法,期望网络能够记住前面出现的特征,并根据前面的特征推断出后面的结果,并且整个神经网络可以不断的循环。

         RNN模型结构:

                                                         循环神经网络RNN

 无论输入的序列有多长,都能够不断输入网络最终得到结果,这里使用参数共享的概念,表示如下图:

                                                                                 循环神经网络RNN

RNN缺点: 更清楚地记得最近发生的事情而遗忘很久之前的事情。

LSTM(Long Short Term Memory Networks)与GRU(Gated Recurrent Unit)这两种网络变式可以很好解决长时依赖问题。接着给出LSTM双循环神经网络的结构图: (在一个评论情感分析的案例种使用了Bi-LSTM模型)

                                          循环神经网络RNN                

      LSTM由输入门,输出门,遗忘门三个门来控制。 正是由于遗忘门的作用使得LSTM具备了长时记忆的功能,对于给定的任务,遗忘门能够自己学习保留多少以前的记忆,这使得网络能够自主学习。网络具体能够学习到保留多少记忆是由前一时刻的输出和这一时刻的输入共同决定的。

GRU与LSTM本质上是相同的,不同的是GRU将遗忘门和输入门合成一个更新门,线性变换没有使用偏置。

RNN的相关应用:情感分析;关键字提取,语音识别;CNN+RNN(图片转文字)

后记:1.RNN在训练时梯度的微小变化会在循环的结构之后被放大,设置一个固定的学习率并不能有效的收敛。梯度裁剪能够将放大的梯度裁剪掉,在一定程度上避免收敛不好的问题。

2.循环神经网络不适合处理图片,因为图片没有很强的序列关系,并且循环神经网络在传递时必须前面一个数据计算结束才能进行后面一个数据的计算,对于大图片而言是很慢的。