美文网首页
RNN循环神经网络

RNN循环神经网络

作者: 机器不能学习 | 来源:发表于2019-03-29 12:08 被阅读0次

    RNN

    时间序列在深度学习的解决方案就是RNN了,RNN又叫循环神经网络。

    RNN循环神经网络

    它可以表示为该图。

    又一个神经网络递归形成,但是有先后顺序。

    对参数进行说明

    s隐藏层输出

    RNN循环神经网络

    x是该层的输入

    o是最终的概率输出,一般是softmax

    RNN循环神经网络

    至于UVW都是权重矩阵

    根据St的公式,我们发现,t时间的输出和当前输入和t-1时刻输出有关。

    对于反向传播,对s求导时会牵涉到st-1,那么就形成了链式法则

    RNN循环神经网络

    但是RNN具有遗忘性,表现为序列过长时,越久的信息越会保留少。

    因为这个原因,认为的修改公式,使其达到长时间的记忆。比如LSTM算法

    LSTM

    也叫长短期记忆序列

    其增加了一个叫门的概念。所谓门,无非是谁进谁不进,对信息进出有管控作用。

    LSTM有三道门,分别是遗忘门(通过x和ht-1选出哪些信息需要遗忘),更新门(通过x和ht-1选出哪些信息需要更新增加),输出门(根据St.ht-1.x选出哪些信息作为输出给下一时刻)输出值为h

    我们使用理解lstm文章中的三个图很容易说清楚

    RNN循环神经网络

    遗忘门,f是遗忘矩阵

    RNN循环神经网络

    更新门,i是更新矩阵,Ct是t时刻信息

    RNN循环神经网络

    用f决定t-1时刻的信息哪些需要遗忘,i来决定t时刻信息哪些更新到原来信息中

    RNN循环神经网络

    ot决定哪些信息需要输出,ht是最终输出

    变体,lstm的变体GRU减少了参数个数,也就是减少了门,他把更新和删除合成了一个门

    RNN循环神经网络

    也把S和h混合,z如果为遗忘,那么1-z就是更新。简化的处理了更新和遗忘

    LSTM的输入:

    其输入是一个3D张量

    (sample,timestep,inputdim)

    第一维是指有多少个数据的训练集,第二个参数是时间步数,第三个是训时间步数下的练维度。

    假如我们有20个句子,一个句子10个单词,一个单词由20维数据表示那么输入为(20,10,20)

    如果我们得到的是10个时间序列,一秒代表一个值,一个序列有50个值,我们的输入为(10,50,1)

    相关文章

      网友评论

          本文标题:RNN循环神经网络

          本文链接:https://www.haomeiwen.com/subject/cxhlbqtx.html