LSTM,全称长短期记忆网络(Long Short-Term Memory),是一种特殊的循环神经网络(RNN)结构

关于lstm超参数设置,每个参数都有合适的范围,超过这个范围则lstm训练不再有效,loss不变,acc也不变

LSTM,全称长短期记忆网络(Long Short-Term Memory),是一种特殊的循环神经网络(RNN)结构,旨在解决传统RNN在处理长序列数据时遇到的梯度消失或梯度爆炸问题。LSTM通过引入三个门控机制(遗忘门、输入门和输出门)以及一个细胞状态(cell state),使得网络能够更有效地捕捉长距离依赖关系。

LSTM的核心组件:

  1. 遗忘门(Forget Gate)

    • 决定从细胞状态中丢弃哪些信息。
    • 通过一个sigmoid层来决定哪些信息需要保留,哪些信息需要遗忘。
  2. 输入门(Input Gate)

    • 决定哪些新的信息将被存储在细胞状态中。
    • 首先,一个sigmoid层决定哪些值需要更新。
    • 然后,一个tanh层生成一个新的候选值向量,这个向量可能会被加到细胞状态中。
  3. 细胞状态(Cell State)

    • LSTM的"记忆"线,贯穿整个链,只有一些少量的线性操作作用于它,使得信息能够很容易地流过而不改变。
    • 细胞状态通过遗忘门和输入门的操作来更新。
  4. 输出门(Output Gate)

    • 基于细胞状态,决定输出什么值。
    • 首先,通过一个sigmoid层来决定细胞状态的哪些部分将被输出。
    • 然后,将细胞状态通过tanh(将值规范到-1到1之间)处理,并与sigmoid层的输出相乘,得到最终的输出。

LSTM的工作流程:

  1. 遗忘阶段:通过遗忘门选择性地遗忘细胞状态中的信息。
  2. 选择记忆阶段:通过输入门决定哪些新信息将被添加到细胞状态中,并生成一个候选值向量。
  3. 更新细胞状态:结合遗忘阶段和选择记忆阶段的信息,更新细胞状态。
  4. 输出阶段:基于更新后的细胞状态,通过输出门决定输出什么信息。

LSTM的应用:

由于LSTM能够捕捉长距离依赖关系,它在处理序列数据方面表现出色,广泛应用于自然语言处理(如机器翻译、文本生成、情感分析等)、语音识别、时间序列预测等领域。

LSTM的变体:

除了标准的LSTM结构外,还有一些变体,如GRU(门控循环单元),它简化了LSTM的结构,同时保持了其捕捉长距离依赖的能力。这些变体在某些任务上可能表现得更好或更差,具体取决于任务的性质和数据的特性。

相关推荐
明月_清风6 小时前
Python 装饰器前传:如果不懂“闭包”,你只是在复刻代码
后端·python
明月_清风6 小时前
打破“死亡环联”:深挖 Python 分代回收与垃圾回收(GC)机制
后端·python
ZhengEnCi1 天前
08c. 检索算法与策略-混合检索
后端·python·算法
明月_清风1 天前
Python 内存手术刀:sys.getrefcount 与引用计数的生死时速
后端·python
明月_清风1 天前
Python 消失的内存:为什么 list=[] 是新手最容易踩的“毒苹果”?
后端·python
Flittly2 天前
【从零手写 ClaudeCode:learn-claude-code 项目实战笔记】(3)TodoWrite (待办写入)
python·agent
千寻girling2 天前
一份不可多得的 《 Django 》 零基础入门教程
后端·python·面试
databook2 天前
探索视觉的边界:用 Manim 重现有趣的知觉错觉
python·动效
明月_清风2 天前
Python 性能微观世界:列表推导式 vs for 循环
后端·python
明月_清风2 天前
Python 性能翻身仗:从 O(n) 到 O(1) 的工程实践
后端·python