标准的LSTM网络以及公式

LSTM使用一个特殊的存储记忆单元可以改善RNN的梯度消失问题,因此在许多自然语言处理任务中它比RNN有更好的性能。LSTM单元的基本结构如下图所示。

在这里插入图片描述
它由输入门 i t i_{t} it,忘记门 f t f_{t} ft,输出门 o t o_{t} ot,以及一个记忆单元 c t c_{t} ct组成。

给定一个文本序列 x = { x 1 , x 2 , … , x n } , x t x=\left\{x_{1}, x_{2}, \ldots, x_{n}\right\}, x_{t} x={x1,x2,,xn},xt 表示当前时间步 t t t的输入, h t − 1 h_{t-1} ht1表示上一步LSTM的输出。

LSTM通过门更新记忆单元状态,添加或删除信息以保留与任务相关的内容。 i t i_{t} it乘以候选值 u t u_{t} ut决定了添加到记忆单元的新的输入信息。 f t f_{t} ft 乘以 h t − 1 h_{t-1} ht1 决定从记忆单元状态中移除的已有信息。输出门 o t o_{t} ot决定从记忆单元状态最终的输出信息。

输入门:
i t = σ ( W ( i ) x t + U ( i ) h t − 1 + b ( i ) ) i_{t}=\sigma\left(W^{(i)} x_{t}+U^{(i)} h_{t-1}+b^{(i)}\right) it=σ(W(i)xt+U(i)ht1+b(i))
忘记门:
f t = σ ( W ( f ) x t + U ( f ) h t − 1 + b ( f ) ) f_{t}=\sigma\left(W^{(f)} x_{t}+U^{(f)} h_{t-1}+b^{(f)}\right) ft=σ(W(f)xt+U(f)ht1+b(f))
输出门:
o t = σ ( W ( o ) x t + U ( o ) h t − 1 + b ( o ) ) o_{t}=\sigma\left(W^{(o)} x_{t}+U^{(o)} h_{t-1}+b^{(o)}\right) ot=σ(W(o)xt+U(o)ht1+b(o))

记忆单元候选值:
u t = tanh ⁡ ( W ( u ) x t + U ( u ) h t − 1 + b ( u ) ) u_{t}=\tanh \left(W^{(u)} x_{t}+U^{(u)} h_{t-1}+b^{(u)}\right) ut=tanh(W(u)xt+U(u)ht1+b(u))
记忆单元状态更新:
c t = i t ⊙ u t + f t ⊙ c t − 1 c_{t}=i_{t} \odot u_{t}+f_{t} \odot c_{t-1} ct=itut+ftct1
输出:
h t = o t ⊙ tanh ⁡ ( c t ) h_{t}=o_{t} \odot \tanh \left(c_{t}\right) ht=ottanh(ct)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

旺旺棒棒冰

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

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

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

打赏作者

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

抵扣说明:

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

余额充值