zoukankan      html  css  js  c++  java
  • Long Short term memory unit(LSTM)

    整理并翻译自吴恩达深度学习系列视频:序列模型第一周。

    Prerequisite:Gated Recurrent Unit(GRU)

    Long Short term memory unit(LSTM)

    在这里插入图片描述
    GRU 和 LST的对比。

    LTSM计算公式如下:
    C ~ < t > = t a n h ( W c [ a < t − 1 > , x < t > ] + b c ) ilde{C}^{<t>}=tanh(W_c[a^{<t-1>}, x^{<t>}]+b_c) C~<t>=tanh(Wc[a<t1>,x<t>]+bc)
    Γ u = σ ( W u [ C < t − 1 > , x < t > ] + b u ) Gamma_u=sigma(W_u[C^{<t-1>}, x^{<t>}]+b_u) Γu=σ(Wu[C<t1>,x<t>]+bu)
    Γ f = σ ( W f [ C < t − 1 > , x < t > ] + b f ) Gamma_f=sigma(W_f[C^{<t-1>}, x^{<t>}]+b_f) Γf=σ(Wf[C<t1>,x<t>]+bf)
    Γ o = σ ( W 0 [ C < t − 1 > , x < t > ] + b o ) Gamma_o=sigma(W_0[C^{<t-1>}, x^{<t>}]+b_o) Γo=σ(W0[C<t1>,x<t>]+bo)
    C < t > = Γ u C ~ < t > + Γ f C < t − 1 > C^{<t>}=Gamma_u ilde{C}^{<t>}+Gamma_fC^{<t-1>} C<t>=ΓuC~<t>+ΓfC<t1>
    a < t > = Γ o ∗ C < t > a^{<t>}=Gamma_o*C^{<t>} a<t>=ΓoC<t>

    LSTM有三个门控值,使用 Γ f Gamma_f Γf替换GRU里的 1 − Γ u 1-Gamma_u 1Γu,并且增加一个新的 Γ o Gamma_o Γo来控制输出的值。

    LSTM的图示结构如下图所示:
    在这里插入图片描述
    如图红色直线所示,只要三个门控值 Γ u Gamma_u Γu Γ f Gamma_f Γf Γ o Gamma_o Γo设置得当,我们需要的信息可以一直向后传递。

    这种结构的常见变种是peephole connection,即计算门控值时,也使用了前一层的 C < t − 1 > C^{<t-1>} C<t1>,如图中绿色圈起来的部分。

    GRU其实是LSTM的一种简化版本,事实上LTSM先于GRU被发明出来。

    GRU只有2个门控值,简单,计算快,可以扩展到更大的模型上;LSTM有三个门控值,更强大,更灵活。历史上,LTSM经常被当做首位的默认选择,但最近几年GRU获得了很多团队的支持,因为它很简单,也能做出很好地效果,更容易扩展到更大的问题。

  • 相关阅读:
    setMasksToBounds
    CSRF跨站
    ORM: object relationship mapping
    orm查询
    图书管理系统(增删改)
    django图书管理半成品(MySQL)
    模板继承(练习测试)
    模板层(template)
    django命令(笔记,自己看的)
    django(注册→登录→主页)增强版
  • 原文地址:https://www.cnblogs.com/wanghongze95/p/13842497.html
Copyright © 2011-2022 走看看