美文网首页
LSTM和GRU中的门

LSTM和GRU中的门

作者: 锦绣拾年 | 来源:发表于2021-02-02 14:34 被阅读0次

    LSTM和GRU中的门

    LSTM

    https://zhuanlan.zhihu.com/p/32085405

    https://www.jianshu.com/p/4b4701beba92

    门控主要实现的依据:

    一个sigmoid网络+点乘运算。在LSTM中,主要用\sigma{(W\cdot [h_{t-1},x_t]+b)}输出0,1之间的数,作为门控。(点乘:操作矩阵中对应的元素相乘,因此要求两个相乘矩阵是同型的)

    遗忘门: 上一层保留多少。控制C_{t-1}需要遗忘的比例。

    查看h_{t-1}(前一个输出)和x_t(当前输入),为单元格状态C_{t-1}输出0和1之间的数字,表明这部分信息保留多少。

    f_t = \sigma{(W_f\cdot [h_{t-1},x_t]+b_f)}

    f_t \odot C_{t-1}

    输入门层:新的输入需要记忆多少

    i_t = \sigma{(W_i \cdot[h_{t-1},x_t]+b_i)}【表示输入门控】

    \widetilde{C_t}=tanh(W_c\cdot[h_{t-1},x_t]+b_c)【tanh信息,表示输入信息】

    可以将上一个状态值,更新为C_t

    C_t = f_t × C_{t-1}+i_t × \widetilde{C_t} 【这里大小会不会不可控?】

    输出门:当前状态的输出,需要输出多少

    o_t = \sigma{(W_o \cdot[h_{t-1},x_t]+b_o)} 【输出门控】

    h_t = o_t × tanh(C_t) tanh: 将信息映射到【-1,1】之间

    GRU

    https://www.cnblogs.com/jiangxinyang/p/9376021.html

    https://zhuanlan.zhihu.com/p/32481747

    深入理解lstm及其变种gru - Evan的文章 - 知乎 https://zhuanlan.zhihu.com/p/34203833

    有两个门,门的计算方式和LSTM相同,主要用\sigma{(W\cdot [h_{t-1},x_t]+b)}输出0,1之间的数

    更新门:可以看作对遗忘门和输入门的组合。

    重置门

    z_t = \sigma{(W_z \cdot[h_{t-1},x_t]+b_z)} 更新门

    r_t = \sigma{(W_r \cdot[h_{t-1},x_t]+b_r)} 重置门,r_t \odot h_{t-1}帮助重置之前的状态。

    \widetilde{h_t} = tanh(W\cdot [r_t × h_{t-1},x_t])r_t控制保留多少之前的信息or只保留当前信息。

    h_t = (1-z_t) × h_{t-1}+z_t × \widetilde{h_t}z_t控制从隐藏层遗忘多少信息。【只用一个门,记录两个分别保留多少】

    相关文章

      网友评论

          本文标题:LSTM和GRU中的门

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