LSTM与GRU有什么联系和区别?

LSTM结构中的C(cell),和GRU结构中的H(隐藏单元),有什么联系和区别?

LSTM中的C和GRU中的H都是经过了遗忘和输入门(GRU中的更新们也是由遗忘和输入门组成的),也都是未经过输出门而直接往后传递的。他们有什么区别呢?

我自己的猜想:GRU的重置门就相当于LSTM中的更新门。

LSTM中的C经过输出门之后形成了H,因为有输出门所以H更关注当前状态的信息,而C携带者之前的所有状态的信息。GRU中的H就相当于LSTM中的C同样也携带者之前状态的信息,GRU中的重置门就相当于LSTM中的输出门,重置之后的H就相当于LSTM中更关注当前状态的H。

 如图所示,左边为第一种形式也是网上常见的GRU画法。但是为了方便和LSTM对比,我画成了右边的形式,请先行对比。

然后我们再来将LSTM与上面右边的GRU结构放到一起进行对比。

  •  先对比两者的输出:

         在LSTM中,单元状态C_{t}经非线性变换tanh作用后,再经过输出门作用后得到整个单元的输出h_{t};而在GRU中,融入新信息后的单元状态就直接作为了 整个单元的输出H_{t}。因此在LSTM中,单元输出h_{t}可以看成是对单元状态C_{t}的再次筛选,而在GRU中去掉了这一步。

  • 再对比两者的遗忘门与输入门:

       在LSTM中,遗忘门是通过单元输出h_{t},与新输入x_{t} 训练得到的;而在GRU中,遗忘门也是通过单元输出H_{t} 与新输入x_{t}训练得到的。不同点在于,LSTM通过h_{t} 和 x_{t} 分别训练了一个遗忘门和输入门;而在GRU中这两者是互补的,也就是遗忘门和输入门在对信息进行筛选时有一种互补的效果。脑子想象出一个位置矩阵,在GRU中如果历史信息中某些位置的信息应该被减弱,那么在历史信息结合新输入的信息时,这些位置的信息就应该得到加强(并且从动机上来说也很有道理,同时还简化了模型)。

  • 最后对比两者对新输入的处理:

    在LSTM中,新的输入由当前时刻的输入x_{t} 和历史单元输出h_{t} 组成;而在GRU中,新的输入由当前时刻的输入x_{t} 和经筛选后的历史单元输出H_{t} 组成。在GRU中,H_{t} 经过再次筛选后才同x_{t} 结合,而在LSTM中没有(但可以看成是LSTM在输出的时候就已经进行筛选了,即LSTM中的输出门可以等价的看成是GRU中的重置门)。两者在这方面差别不算太大。

总结就是,LSTM中的C_{t}和GRU中的H_{t} 在整体形式上没有区别,都是先对历史信息就行筛选,然后再融入新的信息。但是,在细节GRU通过同一个共用的门,以互补的形式来减弱和加强信息,这应该算得上是GRU中最核心的部分。至于最后在对新输入的处理,基本没有太大的差别。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值