第二十四天 循环神经网络(RNN)LSTM与GRU

LSTM(长短期记忆网络)和GRU(门控循环单元)是两种流行的循环神经网络变体,它们被设计来解决传统RNN在处理长序列数据时遇到的梯度消失和梯度爆炸问题。这两种网络都通过引入门控机制来控制信息的流动,从而能够更好地捕捉长距离依赖关系。

LSTM(Long Short-Term Memory)

LSTM网络由Hochreiter和Schmidhuber于1997年提出。它通过引入三个门控(输入门、遗忘门、输出门)和一个单元状态来解决梯度消失问题。

  1. 遗忘门(Forget Gate):决定哪些信息需要从单元状态中丢弃。
  2. 输入门(Input Gate):决定哪些新信息将被存储在单元状态中。
  3. 单元状态(Cell State):携带有关输入序列的信息,并在整个序列中传递。
  4. 输出门(Output Gate):决定输出值,基于单元状态和隐藏状态。

LSTM的数学表达式如下:

f_t = \\sigma(W_f \\cdot \[h_{t-1}, x_t\] + b_f)

i_t = \\sigma(W_i \\cdot \[h_{t-1}, x_t\] + b_i)

\\tilde{C}*t = \\tanh(W_C \\cdot \[h* {t-1}, x_t\] + b_C)

C_t = f_t \* C_{t-1} + i_t \* \\tilde{C}*t

o_t = \\sigma(W_o \\cdot \[h* {t-1}, x_t\] + b_o)

h_t = o_t \* \\tanh(C_t)

其中,( f_t )、( i_t )、( o_t ) 分别是遗忘门、输入门和输出门的激活值,( C_t ) 是单元状态,( h_t ) 是隐藏状态,( \sigma ) 是sigmoid函数,( * ) 表示逐元素乘法。

GRU(Gated Recurrent Unit)

GRU是Cho等人在2014年提出的一种更简洁的RNN变体,它将LSTM中的遗忘门和输入门合并为一个更新门,并引入重置门。

  1. 更新门(Update Gate):控制从旧的隐藏状态到新的隐藏状态的转换。
  2. 重置门(Reset Gate):控制从过去的信息中忘记多少,以帮助模型处理长期依赖。
  3. 隐藏状态(Hidden State):同时作为单元状态和输出状态。

GRU的数学表达式如下:

z_t = \\sigma(W_z \\cdot \[h_{t-1}, x_t\] + b_z)

r_t = \\sigma(W_r \\cdot \[h_{t-1}, x_t\] + b_r)

\\tilde{h}*t = \\tanh(W \\cdot \[r_t \* h* {t-1}, x_t\] + b)

h_t = (1 - z_t) \* h_{t-1} + z_t \* \\tilde{h}_t

其中,( z_t ) 是更新门的激活值,( r_t ) 是重置门的激活值,( \tilde{h}_t ) 是候选隐藏状态,( h_t ) 是最终的隐藏状态。

LSTM与GRU的比较

  • 参数数量:GRU的参数数量通常少于LSTM,因为它没有单独的单元状态和输出门。
  • 计算复杂度:GRU的计算复杂度较低,因为它的结构更简单。
  • 性能:在某些任务中,LSTM和GRU的性能相当,但在处理非常长的序列时,LSTM通常表现更好。
  • 适用性:对于较小的数据集,GRU可能更快地收敛,但在较大的数据集上,LSTM可能更稳定。

在实际应用中,选择LSTM还是GRU取决于具体任务的需求、数据集的大小以及模型的复杂度。有时,通过实验比较两者的性能来决定使用哪种模型是一个好的选择。

相关推荐
(; ̄ェ ̄)。15 小时前
深度学习入门(十)RNN、LSTM、GRU
人工智能·rnn·深度学习
像风一样自由20202 天前
我把 draw.io MCP 接进 VS Code Codex,直接生成了带动画连接器的 LSTM 架构图
人工智能·lstm·draw.io
软件算法开发2 天前
基于海象优化算法的LSTM网络模型(WOA-LSTM)的一维时间序列预测matlab仿真
算法·matlab·lstm·一维时间序列预测·woa-lstm·海象优化
Dev7z2 天前
基于注意力机制LSTM的温度预测系统设计与实现
人工智能·lstm·注意力机制·温度预测系统
十三画者3 天前
【文献分享】利用 Evo 2 在生命的所有领域进行基因组建模与设计
数据挖掘·数据分析·lstm
十三画者3 天前
【文献分享】OSDR基于空间截面的时态组织动态分析
数据挖掘·数据分析·lstm
玦尘、4 天前
光伏发电短期功率预测——从数据到模型的完整技术实践(LSTM · TCN · CNN-LSTM · TCN-LSTM)
人工智能·cnn·lstm·tcn
Learn Beyond Limits4 天前
循环神经网络的问题:梯度消失与梯度爆炸|Problems with RNNs: Vanishing and Exploding Gradients
人工智能·rnn·深度学习·神经网络·机器学习·自然语言处理·nlp
机器学习之心5 天前
多工况车速数据集训练GRU门控循环单元用于车速预测,输出未来多个时间步车速,MATLAB代码
深度学习·matlab·gru·车速预测
Flying pigs~~5 天前
深入浅出RNN及其变体:从传统RNN到LSTM、GRU
人工智能·rnn·深度学习·gru·nlp·lstm·循环神经网络