美文网首页ML&DL
Naive RNN vs LSTM vs GRU、attenti

Naive RNN vs LSTM vs GRU、attenti

作者: cherryleechen | 来源:发表于2019-05-03 11:54 被阅读46次

    一、Recurrent Neural Network

    图1.1 Recurrent Neural Network1
    图1.2 Recurrent Neural Network2
    图1.3 Recurrent Neural Network3

    二、Naive RNN

    图2.1 Naive RNN1
    图2.2 Naive RNN2

    Naive RNN更新参数时易出现梯度消失/爆炸的问题。

    三、LSTM

    图3.1 LSTM1
    图3.2 LSTM2
    • peephole
    图3.3 LSTM3
    • Naive RNN vs LSTM
      记忆更新部分的操作,Naive RNN为乘法,LSTM为加法。因此LSTM能记得更久些。
      \delta_c^t=\frac{\partial L}{\partial c^t}=\frac{\partial L}{\partial c^{t+1}}\frac{\partial c^{t+1}}{\partial c^t}=\delta_c^{t+1}(z^f+\cdots)。当z^f=1时,即使其他项很小,梯度也能够很好地传达到上一个时刻;当z^f=0时,上一个时刻的记忆不会影响当前时刻,梯度也不会回传回去。因此,z^f控制了梯度回传的衰减程度。
      能有效地缓解梯度消失/爆炸问题。
    图3.4 LSTM4
    • LSTM设计原因
    图3.5 LSTM5

    标准形式的LSTM能工作得很好;输入门与遗忘门联动(类似GRU)以及没有peephole也能工作得很好。
    输出激活函数、遗忘门对于LSTM的表现很重要。

    四、GRU

    图4.1 GRU1
    图4.2 GRU2

    与LSTM相比,GRU可以看做是输入门和遗忘门联动。由4个矩阵乘法变为了3个,参数量更少,降低了过拟合的可能性。

    五、attention基础

    • dot
      S_{ab}=h_a^Th_b
    • general
      S_{ab}=h_a^T W h_b
    • concat
      S_{ab}=v^T tanh(W_a h_a+W_b h_b)

    相关文章

      网友评论

        本文标题:Naive RNN vs LSTM vs GRU、attenti

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