机器学习笔记(12)图解LSTM与GRU的区别以及各单元公式推导

发现无论哪场面试,LSTM与GRU的细节区分被提问的概率都很高,今天简单分析一下
参考资料:https://m.sohu.com/a/336551522_99979179
                  https://www.jianshu.com/p/4b4701beba92

LSTM


公式为


i的计算常被称为输入门,f的计算常被称为遗忘门,注意和tahn做运算的是输入门。
简单说明LSTM的整个过程:
1.首先输入为三个值,一个是此刻的输入值x,另一个是上一时刻的状态值c(t-1),最后一个是上一个隐含层单元的输出h(t-1)
2.最终输出为两个值,一个是此刻产生的状态值c(t)和输出h(t)
3.首先是输入值x和上一个单元的输出h(t-1),两个输入分别都有对应的权重,在经过sigmoid激活作用下得到0-1的值,也就是三个门值
4.和3差不多,依然还是输入值x和上一个单元的输出h(t-1),两个值有对应的权重和3中的描述一模一样,唯一的区别在于有一个tanh激活函数,最后相当于得到此时输入得到的当前state,也就是new memory。这里可以理解为输入其实是近似的x和h的concatenate操作,经过正常的神经网络的权重,最后经过tanh激活函数得到此时输入的当前的state,x相当于此刻的输入,h为前面历史的输入,合在一起就是整个序列的信息,也就是此时的new memory
5.最后输出的state,也就是final memory的计算利用了input gate和forget gate,output gate只与输出有关。final memory的计算自然而然和上一步算得此时的记忆state相关并且和上一个输出的final memory相关,故为忘记门和c(t-1)的乘积加上上一步算出来的此时单元的C和输入门的乘积为最终的state:c(t)
6.输出门只与输出相关,最终的输出h(t)为输出门乘以tanh(c(t))

GRU

内部结构与公式为:


简单说明LSTM的整个过程:
1.GRU只有两个gate,一个是update gate, 一个是reset gate, update gate的作用类似于input gate和forget gate,(1-z)相当于input gate, z相当于forget gate
2.输入为两个值,输出也为两个值,输入为、此时时刻值x和上一个时刻的输出h(t-1), 输出这个时刻的输出值h(t)
3.首先依然是利用x(t)和h(t-1)经过权重相乘通过sigmoid,得到两个0-1的值,即两个门值
4.接下来这里有一些不同,并且经常容易搞混淆。对于LSTM来说依然还是x(t)与h(t-1)分别权重相乘相加,之后经过tanh函数为此时的new memory,而GRU为在这个计算过程中,在h(t-1)与权重乘积之后和reset gate相乘,之后最终得到new memory,这里的reset gate的作用为让这个new memory包括之前的h(t-1)的信息的多少
5.接下来和lstm得到final memory其实一样,只是GRU只有两个输入,一个输出,其实这里h即输出也是state,就是说GRU的输出和state是一个值,所以4步骤得到的是new h,这步骤得到的是final h,通过update gate得到

细数LSTM与GRU的不同

结构上

1.lstm为三个输入xt,ht-1, ct-1,两个输出。gru为两个输入xt, ht-1,一个输出ht,输出即state。

2.lstm有三个门,输入输出忘记门。gru有两个门,reset,update 门。

3.update 类似于 input gate和forget gate

功能上

1.GRU参数更少,训练速度更快,相比之下需要的数据量更少

2.如果有足够的数据,LSTM的效果可能好于GRU

 

Reference

https://blog.csdn.net/sinat_33741547/article/details/82821782

https://towardsdatascience.com/understanding-gru-networks-2ef37df6c9be

https://medium.com/mlrecipies/deep-learning-basics-gated-recurrent-unit-gru-1d8e9fae7280

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白 AI 日记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值