当前位置: 首页 > news >正文

第四天学习:LSTM

流水不争先,争的是滔滔不绝—— 每日渐进,终抵远方

 

LSTM(Long Short-Term Memory,长短期记忆网络)

他的前身是RNN(循环神经网络),为啥我们拿着好端端的RNN不用,非要寻找其他的网络算法呢?

这是因为RNN本身存在缺陷:

  • RNN的初衷:处理序列数据(如句子、语音、时间序列),因为它有“记忆”,能够利用上文的信息来影响下文的计算。

  • RNN的致命缺陷:梯度消失/爆炸问题

    • 比喻:让你复述一个很长很长的故事。你可能还记得最后几句(短期记忆),但故事开头的很多细节(长期依赖)早就模糊或记错了。

    • 技术原因:RNN通过循环连接传递信息,在反向传播时,梯度需要一层层往回传。如果梯度值很小,连续相乘后会变得极其微小(消失),导致模型无法学习到远距离的依赖关系;如果梯度值很大,连续相乘后会爆炸(爆炸),导致训练不稳定。

LSTM就是为了解决RNN的“长期依赖”问题而设计的! 它能够有效地将重要信息传递到很远的地方。

那LSTM到底干了什么,才解决了RNN的问题呢?

LSTM的关键在于它精巧的“门”结构。就像水龙头一样,门可以选择性地让信息通过。它通过三种门来决定:

  1. 忘记哪些旧信息?

  2. 记住哪些新信息?

  3. 输出什么信息?

LSTM在每个时间步都有一个细胞状态,这是它的“主线剧情”,负责承载长期记忆。门控机制就是用来保护和更新这个细胞状态的。

接下来介绍一下这个门控机制:

我们以一个“细胞”在时间步 t 的操作为例。它的输入是:

  • h_{t-1}:上一个时间步的隐藏状态(短期记忆)

  • x_t:当前时间步的输入

  • C_{t-1}:上一个时间步的细胞状态(长期记忆)

它的输出是:

  • h_t:当前时间步的隐藏状态(新的短期记忆)

  • C_t:当前时间步的细胞状态(新的长期记忆)

现在,来看三个门的计算:

1. 遗忘门

  • 作用:决定从旧的细胞状态 C_{t-1} 中丢弃哪些信息。

  • 操作:查看 h_{t-1} 和 x_t,为一个在 [0, 1] 之间的数。0代表“完全丢弃”,1代表“完全保留”

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

    • σ 是Sigmoid函数,输出范围(0,1),正好做门控。

2. 输入门

  • 作用:决定将哪些新信息存入细胞状态。

  • 它分为两部分:

    • a) 门控信号:$i_t = \sigma(W_i \cdot [h_{t-1}, x_t] + b_i)$ (决定更新哪些位置)

    • b) 候选值:$\tilde{C}t = \tanh(W_C \cdot [h{t-1}, x_t] + b_C)$ (这是一个新的、待加入的候选值向量)

3. 更新细胞状态

  • 作用:结合遗忘门输入门的结果来更新长期记忆

  • 操作

    1. 把旧状态 C_{t-1} 乘以 f_t,忘掉我们决定要忘记的东西。

    2. 加上 i_t * ~C_t,这是新的候选值, scaled by 输入门(决定每个候选值的重要性)。

  • 公式:$C_t = f_t * C_{t-1} + i_t * \tilde{C}_t$

4. 输出门

  • 作用:基于更新后的细胞状态,决定下一个隐藏状态 h_t 是什么(即短期记忆/输出)。

  • 操作

    • 门控信号:$o_t = \sigma(W_o \cdot [h_{t-1}, x_t] + b_o)$ (决定输出哪些部分)

    • 将细胞状态 C_t 通过 tanh 压到(-1, 1)之间,然后乘以输出门 o_t

  • 公式:$h_t = o_t * \tanh(C_t)$

image

一个生动的比喻:管理你的大脑记忆

想象你的大脑在处理连续的信息流:

  • 细胞状态 C_t:你的长期知识库(例如:法国的首都是巴黎)。

  • 隐藏状态 h_t:你当前正在思考的内容(短期工作记忆)。

  • 输入新信息:你读到一句话:“法国的首都是伦敦。”

    • 遗忘门:你的大脑首先决定,从长期知识库中弱化“巴黎是首都”这个旧信息(f_t 接近0)。

    • 输入门:然后决定强烈质疑“伦敦是首都”这个新信息(i_t 很小),因为你知道这是错的。候选值 ~C_t 就是“伦敦”这个信息。

    • 更新状态:长期知识库几乎保持不变 C_t ≈ C_{t-1},因为你拒绝了这个错误信息。

    • 输出门:你可能会输出一个反应:“不对!”h_t),但这个错误信息并没有污染你的长期知识。

 

总结

特性RNNLSTM
核心问题 存在梯度消失/爆炸,难以学习长期依赖。 通过门控机制有效解决长期依赖问题。
记忆机制 只有一种隐藏状态,既是短期记忆也是输出。 分离了记忆:细胞状态(长期记忆)和隐藏状态(短期记忆/输出)。
关键结构 简单的循环连接。 三个门(遗忘、输入、输出) + 一个细胞状态
能力 较弱,适合短序列。 强大,能够处理和记忆长序列中的复杂依赖关系。

RNN 存在长序列依赖问题,无法做并行

self-Attention得到的新的词向量具有句法特征和语义特征(表现的特征更完善)处理50个左右的单词效果最好

LSTM处理长文本任务比较好,处理200个左右的单词效果最好

 

http://www.wxhsa.cn/company.asp?id=2010

相关文章:

  • MATLAB的稀疏自编码器实现
  • 题解:P2157 [SDOI2009] 学校食堂
  • LLM 应用开发中的常见模式
  • vue3 与 element-plus
  • 可爱的二维数据结构们
  • 网络安全相关职业
  • 202005_CTFHUB_Redis流量
  • langchain学习之路
  • 通义灵码产品演示: 数据库设计与数据分析
  • win10安装mysql,MySQL5.7详细教程
  • 第二周作业
  • ubuntu 24编译安装libssl.so.1.0.0
  • 9月8-13日小记 - L
  • Task2:利用 Basnet 将Task1中的所有图片转化为显著性图片
  • 代码随想录算法训练营第一天| 704.二分查找、27.移除元素、977.有序数组的平方
  • 让天下没有难查的故障:2025 阿里云 AI 原生编程挑战赛正式启动
  • kuka机器人程序备份
  • AI 测试工具20款
  • VMware安装NOI linux系统教程
  • 强制横屏 ios
  • 张量链式法则(下篇):揭秘Transpose、Summation等复杂算子反向传播,彻底掌握深度学习求导精髓!
  • 详细介绍:QT初探TCP(四)
  • 近期理工类学术会议推荐 | 人工智能、工业设计、电气工程、传感器技术、环境工程等EI会议合集
  • AI访销大脑之“创建及查询数据”新玩法
  • 史上最薄iPhone 17 Air登场!极致轻薄背后藏有哪些妥协?
  • 一毛钱好友商城系统介绍
  • 网页转小程序封装机系统介绍
  • 美客分销商城小程序系统介绍
  • P12021 面包题
  • C++ - STL - 静态数组array