神经网络之lstm

1. LSTM简介

1.1 定义与起源

长短期记忆网络(Long Short-Term Memory, LSTM)是一种特殊类型的循环神经网络(RNN),由 Hochreiter 和 Schmidhuber 于 1997 年提出。LSTM 旨在解决传统 RNN 在处理长序列数据时遇到的梯度消失或梯度爆炸问题。

LSTM 网络的核心是三个门的机制:遗忘门(forget gate)、输入门(input gate)、输出门(output gate)。这些门通过自适应的方式控制信息的流动,从而实现对长期依赖信息的捕捉。

1.2 与传统RNN的比较

与标准 RNN 相比,LSTM 引入了更为复杂的结构来维护和更新内部状态,即细胞状态(cell state)。标准 RNN 的更新公式为:
h t = tanh ⁡ ( W h h h t − 1 + W x h x t + b h ) h_t = \tanh(W_{hh} h_{t-1} + W_{xh} x_t + b_h) ht=tanh(Whhht1+Wxhxt+bh)
其中,$ h_t$ 是当前时间步的隐藏状态, x t x_t xt 是输入, W W W b b b 分别是权重和偏置。

LSTM 则通过以下公式更新其细胞状态 C t C_t Ct 和隐藏状态 h t h_t ht
f t = σ ( W h f x t + W h f h t − 1 + b f ) f_t = \sigma(W_{hf} x_t + W_{hf} h_{t-1} + b_f) ft=σ(Whfxt+Whfht1+bf)
i t = σ ( W h i x t + W h i h t − 1 + b i ) i_t = \sigma(W_{hi} x_t + W_{hi} h_{t-1} + b_i) it=σ(Whixt+Whiht1+bi)
C ~ t = tanh ⁡ ( W h c x t + W h c h t − 1 + b c ) \tilde{C}_t = \tanh(W_{hc} x_t + W_{hc} h_{t-1} + b_c) C~t=tanh(Whcxt+Whcht1+bc)
C t = f t ∗ C t − 1 + i t ∗ C ~ t C_t = f_t * C_{t-1} + i_t * \tilde{C}_t Ct=ftCt1+itC~t
h t = tanh ⁡ ( C t ) h_t = \tanh(C_t) ht=tanh(Ct)
o t = σ ( W h o x t + W h o h t − 1 + b o ) o_t = \sigma(W_{ho} x_t + W_{ho} h_{t-1} + b_o) ot=σ(Whoxt+Whoht1+bo)
h t = o t ∗ tanh ⁡ ( C t ) h_t = o_t * \tanh(C_t) ht=ottanh(Ct)
其中, f t f_t ft i t i_t it o t o_t ot 分别是遗忘门、输入门和输出门的激活值, C ~ t \tilde{C}_t C~t 是候选记忆细胞, σ \sigma σ 是 sigmoid 激活函数,* 表示逐元素乘法。

LSTM 的这种设计显著提高了网络在处理长序列数据时的性能,使其成为许多序列建模任务的首选模型。

2. LSTM的结构与工作原理

2.1 记忆单元(Memory Cell)

记忆单元是LSTM网络的核心,负责在整个序列处理过程中保持和更新长期依赖信息。记忆单元的结构相对简单,主要由一个或多个神经元组成,其状态通过时间步传递,仅通过线性方式更新。

2.2 遗忘门(Forget Gate)

遗忘门的目的是决定在每个时间步中,哪些信息应该从记忆单元中被遗忘或保留。它通过以下公式进行计算:
f t = σ ( W f ⋅ [ h t − 1 , x t ] + b f ) f_t = \sigma(W_f \cdot [h_{t-1}, x_t] + b_f) ft=σ(Wf[ht1,xt]+bf)
其中, σ \sigma σ 是逻辑激活函数, W f W_f Wf b f b_f bf 分别是遗忘门的权重矩阵和偏置项, [ h t − 1 , x t ] [h_{t-1}, x_t] [ht1,xt] 是前一时间步的隐藏状态和当前时间步的输入。

2.3 输入门(Input Gate)

输入门由两部分组成:一个sigmoid层决定哪些值将要更新,一个tanh层创建一个新的候选值向量,该向量将被加入到状态中。输入门的公式如下:
i t = σ ( W i ⋅ [ h t − 1 , x t ] + b i ) i_t = \sigma(W_i \cdot [h_{t-1}, x_t] + b_i) it

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

零 度°

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

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

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

打赏作者

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

抵扣说明:

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

余额充值