lstm的理解

lstm的模型图如下

在这里插入图片描述

上图来源这里
其中xt为当前时刻的输入,ct-1为上一个时刻的记忆,ht-1为上一个时刻的输出
分为输入门,遗忘门,输出门,三个门来实现

1.遗忘门:在这里插入图片描述

遗忘门是用来计算上一时刻的记忆保存多少,计算方式为ft=sigmoid(Wf*[ht-1,xt]+bf),这个计算出是一个0,1之间的数字

2.输入门:

在这里插入图片描述
输入门是用来计算当前状态的记忆,计算方式为
it = sigmoid(Wi*[ht-1,xt]+bi)
~Ct = tanh(Wc*[ht-1,xt]+bc)
Cnow = ~Ct*it
就我自己的理解,感觉it应该被理解为当前记忆被加入记忆的比率

更新记忆

Ct = Ct-1*ft+Cnow

3.输出门

在这里插入图片描述
输出门控制此时刻的输出,计算方式为:
ot = sigmoid(Wo*[ht-1,xt]+bo)
ht = ot*tanh(Ct)

ps:使用sigmoid和tanh激活函数的原因:
1.因为是以门的方式进行实现,所以要保证值在【0,1】之间,所以选取sigmoid和tanh
2.门实现应该最需要的是0,1的阶梯函数,因为不可导,所以使用sigmoid来进行近似
3.都是饱和函数,也就是说在输入达到一定值的情况下,输出就不会发生明显变化了
4.使用tanh函数,是因为其输出在-1-1之间,这与大多数场景下特征分布是0中心的吻合。此外,tanh函数在输入为0近相比 Sigmoid函数有更大的梯度,通常使模型收敛更快。

最后放一张rnn,lstm,gru的比较图

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值