RNN变体

本文介绍了LSTM和GRU两种循环神经网络模型,它们通过门控机制解决了传统RNN的梯度消失问题,适应于处理长序列依赖。LSTM有输入门、遗忘门和输出门,以及细胞状态,而GRU则简化为更新门和重置门。这两种模型各有优劣,LSTM表达能力强但计算复杂,GRU则更简洁但可能表达能力稍弱。
摘要由CSDN通过智能技术生成

LSTM和GRU学习笔记

1. LSTM(长短时记忆网络)

1.1 LSTM的结构

LSTM在RNN的基础上引入了长短时记忆单元(Long Short-Term Memory),通过门控机制对信息进行筛选和保留,从而有效地解决梯度消失和长依赖问题。

具体来说,LSTM的结构由以下三个门控组成:

  • 输入门(input gate):控制哪些信息可以进入记忆单元
  • 遗忘门(forget gate):控制哪些信息需要从记忆单元中被清除
  • 输出门(output gate):控制哪些信息可以输出

此外,LSTM还引入了一个细胞状态(cell state),用于存储长期记忆信息。

1.2 LSTM的计算过程

LSTM的计算过程可以分为以下几步:

  1. 输入门控制输入信息的筛选与保留:

i t = σ ( W x i x t + W h i h t − 1 + b i ) i_t = \sigma(W_{xi}x_t + W_{hi}h_{t-1} + b_i) it=σ(Wxixt+Whiht1+bi)

其中, i t i_t it表示当前输入信息经过输入门后保留的比例, σ \sigma σ为Sigmoid函数。

  1. 遗忘门控制记忆单元中的信息清空:

f t = σ ( W x f x t + W h f h t − 1 + b f ) f_t = \sigma(W_{xf}x_t + W_{hf}h_{t-1} + b_f) ft=σ(Wxfxt+Whfht1+bf)

其中, f t f_t ft表示当前信息需要清空的比例。

  1. 更新细胞状态:

C t = f t ⊙ C t − 1 + i t ⊙ tanh ⁡ ( W x c x t + W h c h t − 1 + b c ) C_t = f_t \odot C_{t-1} + i_t \odot \tanh(W_{xc}x_t + W_{hc}h_{t-1} + b_c) Ct=ftCt1+ittanh(Wxcxt+Whcht1+bc)

常把 i t ⊙ tanh ⁡ ( W x c x t + W h c h t − 1 + b c ) i_t \odot \tanh(W_{xc}x_t + W_{hc}h_{t-1} + b_c) ittanh(Wxcxt+Whcht1+bc) 记作 C t ~ \widetilde{C_t} Ct

其中, ⊙ \odot 表示逐元素相乘, tanh ⁡ \tanh tanh为双曲正切函数。

  1. 输出门计算输出:

o t = σ ( W x o x t + W h o h t − 1 + b o ) o_t = \sigma(W_{xo}x_t + W_{ho}h_{t-1} + b_o) ot=σ(Wxoxt+Whoht1+bo)

h t = o t ⊙ tanh ⁡ ( C t ) h_t = o_t \odot \tanh(C_t) ht=ottanh(Ct)

其中, o t o_t ot为输出门控制输出比例, h t h_t ht为当前时间步的隐藏状态, W x o W_{xo} Wxo W h o W_{ho} Who b o b_o bo为输出门参数。

1.3 LSTM的优缺点

优点:
  • 可以较好地处理长序列依赖问题。即学习长期依赖问题。
  • 学习能力较强,对于文本、音频等序列信号具有很好的表达能力。
  • 对于数据中的噪声和冗余信息具有很好的鲁棒性。
缺点:
  • 计算复杂度较高,训练时间较长。
  • 参数较多,容易过拟合。

2. GRU(门控循环单元)

2.1 GRU的结构

GRU是在LSTM的基础上发展而来的,相比于LSTM,GRU的结构更加简单,只有两个门控机制。

  • 更新门(update gate):决定前一时刻的状态是否需要更新。
  • 重置门(reset gate):决定前一时刻的状态中需要清除的信息。

2.2 GRU的计算过程

GRU的计算过程可以分为以下几步:

  1. 更新门计算:

z t = σ ( W x z x t + W h z h t − 1 + b z ) z_t = \sigma(W_{xz}x_t + W_{hz}h_{t-1} + b_z) zt=σ(Wxzxt+Whzht1+bz)

其中, z t z_t zt表示当前状态需要更新的比例。

  1. 重置门计算:

r t = σ ( W x r x t + W h r h t − 1 + b r ) r_t = \sigma(W_{xr}x_t + W_{hr}h_{t-1} + b_r) rt=σ(Wxrxt+Whrht1+br)

其中, r t r_t rt表示当前状态需要重置的比例。

  1. 候选隐层状态计算:

h t ~ = tanh ⁡ ( W x h ~ x t + W h h ~ ( r t ⊙ h t − 1 ) + b h ~ ) \tilde{h_t} = \tanh(W_{x\tilde{h}}x_t + W_{h\tilde{h}}(r_t \odot h_{t-1}) + b_{\tilde{h}}) ht~=tanh(Wxh~xt+Whh~(rtht1)+bh~)

其中, h t ~ \tilde{h_t} ht~为候选隐层状态。

  1. 更新当前状态:

h t = ( 1 − z t ) ⊙ h t − 1 + z t ⊙ h t ~ h_t = (1-z_t) \odot h_{t-1} + z_t \odot \tilde{h_t} ht=(1zt)ht1+ztht~

2.3 GRU的优缺点

优点:
  • 参数较少,计算复杂度低。
  • 能够处理长序列依赖问题。
  • 训练时间较短。
缺点:
  • 表达能力较弱,可能无法处理复杂的序列数据。
  • 对于数据中的噪声和冗余信息不够鲁棒。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值