AI智能
改变未来

循环神经网络_LSTM&GRU

文章目录

  • 目前普通RNN存在的问题
  • Long Short-Term Memory 长短时记忆网络
  • 引入
  • 结构
  • 过程
  • 说明
  • 为什么LSTM能解决梯度问题?
  • 整体公式
  • GRU(Gated Recurrent Unit)
    • 结构与公式
    • 优势

    目前普通RNN存在的问题


    记忆存储部分一直在任务中传递,倘若序列较长, 其参数的幂较大,易于出现梯度消失或者梯度爆照的问题。这就造成一般的RNN不能“长期依赖”。
    因此我们引入LSTM。

    Long Short-Term Memory 长短时记忆网络

    引入

    序列短时,相关的信息和预测的词位置之间的间隔小,RNN可以学会使用先前的信息;
    然而,序列长时,相关信息和当前预测位置之间的间隔大,RNN会丧失学习到连接如此之远的信息的能力;
    此外,序列过长时,会发生梯度爆炸或者梯度消失。

    结构


    四个输入分别为:存入的记忆以及三个决定门开闭的信号
    一个输出为:取出的记忆。

    过程

    说明

    1.与一般的神经网络相比,只需要将神经元变成LSTM的结构即可。
    2.LSTM不仅仅是更新c<t>c^{<t>}c<t>,其实还会把输出作为输入,把记忆也作为输入(变种):

    其中ht≠yth_t \\not =y_tht​20fde​=yt​。这与SRN类似,但多了一个记忆单元。

    3.当然,LSTM也不仅仅是一层:
    4.其中,输入xtx^txt经过四个transform转化为三个信号一个输入数据,用以运行LSTM,每一个input都是一个向量,控制多个LSTM。

    5.能够解决梯度消失的情况。

    为什么LSTM能解决梯度问题?

    原本:ω1(ω1⋅x1+x2)\\omega_1(\\omega_1\\cdot x_1 + x_2)ω1​(ω1​⋅x1​+x2​)
    LSTM:c<2>=Γic^<2>+Γfc<1>c^{<2>} =\\Gamma_i\\widehat{c}^{<2>} + \\Gamma_fc^{<1>}c<2>=Γi​c<2>+Γf​c<1>

    导致梯度爆炸/梯度消失的罪魁祸首是递归的倒数一直大于1,或者一直在0和1之间,而LSTM的递归倒数在不同的情况下,控制门控取值,从而抑制梯度消失或者爆炸,保持梯度。

    整体公式

    无peephole。

    GRU(Gated Recurrent Unit)

    门控循环单元,LSTM的简化版。

    结构与公式


    优势

    参数少,过拟合风险小:
    LSTM的参数量是Navie RNN的四倍,参数量过多就会存在过拟合的风险,而GRU只用两个门控开关就达到了和LSTM接近的结果,参数量不过是Naive RNN的三倍。

  • 赞(0) 打赏
    未经允许不得转载:爱站程序员基地 » 循环神经网络_LSTM&GRU