长短期记忆(LSTM)简介

RNN 的主要限制 在于它无法记住很长的序列,并且会陷入梯度消失的问题。

什么是梯度消失问题?

当添加更多具有某些激活函数的层时,神经网络中损失函数的梯度趋近于零,这使得网络难以训练。

长短期记忆(LSTM)

LSTM 可以解决梯度消失问题。它通过忽略(忘记)网络中无用的数据/信息来实现这一点。如果没有来自其他输入(之前的句子单词)的有用信息,LSTM 就会忘记这些数据。当新的信息出现时,网络会决定哪些信息应该被忽略,哪些信息应该被记住。

LSTM 架构

让我们看看 RNN 和 LSTM 之间的区别。

在 RNN 中,我们有一个非常简单的结构,只有一个激活函数(tanh)。

在 LSTM 中,我们拥有多个组件,而不仅仅是具有单一激活功能的简单网络,从而使网络能够忘记和记住信息。

使用的符号

LSTM 有 4 个不同的组成部分,分别是

  1. 单元状态(记忆单元)
  2. 忘记门
  3. 输入门
  4. 输出门

让我们逐一了解这些组件。

1. 单元状态(记忆单元)

它是 LSTM 的第一个组件,贯穿整个 LSTM 单元。可以把它想象成一条传送带。

细胞状态负责记忆和遗忘。它基于输入的上下文。这意味着一些先前的信息应该被记住,而一些则应该被遗忘,一些新的信息应该被添加到记忆中。第一个操作(X )是逐点运算,它只是将细胞状态乘以一个[-1, 0, 1]的数组。乘以0的信息将被LSTM遗忘。另一个操作是(+),它负责向状态添加一些新的信息。

2. 忘记门

顾名思义,遗忘 LSTM 门决定哪些信息应该被遗忘。S 型函数层用于做出这一决定。该 S 型函数层被称为"遗忘门层"。

它对h(t-1)x(t) 进行点积运算,并在 sigmoid 层的帮助下,为单元状态***C(t-1)***中的每个数字输出一个介于 0 和 1 之间的数字。如果输出为"1",则表示我们将保留它。"0"表示完全忘记它。

3. 输入门

输入门向 LSTM 提供新信息,并决定是否将该新信息存储在单元状态中。

这分为三个部分-

  1. 一个S 型函数层决定需要更新的值。该层被称为"输入门层"。
  2. tanh 激活函数层创建一个新的候选值向量Č(t),可以添加到状态中。
  3. 然后我们结合这两个输出,***i(t) * Č(t),***并更新单元状态。

新的细胞状态***碳原子数(t)***是通过将遗忘门和输入门的输出相加而得到的。

4.输出门

LSTM 单元的输出取决于新的单元状态。

首先,一个 S 型函数层决定要输出单元状态的哪些部分。然后,在单元状态上使用一个tanh层将值压缩到 -1 到 1 之间,最后乘以 S 型函数门的输出。

LSTM 实际应用

现在我们已经了解了 LSTM 的架构和组件,让我们看看它的实际作用。

结论

正如文章中提到的,LSTM 可以通过遗忘和记忆信息来延长信息的保存时间。这由 4 个组件实现------一个单元状态和 3 个门控。它还能克服梯度消失问题,而这正是 RNN 的一个局限性。这使得 LSTM 比普通 RNN 更具优势。我们还了解了 LSTM 的架构和工作原理。

相关推荐
苏苏susuus13 分钟前
深度学习:PyTorch自动微分模块
人工智能·pytorch·深度学习
Tadas-Gao23 分钟前
大模型训练与推理显卡全指南:从硬件选型到性能优化
人工智能·机器学习·大模型·llm
kyle~1 小时前
深度学习---ONNX(Open Neural Network Exchange)
人工智能·深度学习
猛犸MAMMOTH1 小时前
Python打卡第54天
pytorch·python·深度学习
飞哥数智坊1 小时前
解锁AI高效协作:从《提问的艺术》提炼6大提问黄金法则
人工智能
梓羽玩Python1 小时前
12K+ Star的离线语音神器!50MB模型秒杀云端API,隐私零成本,20+语种支持!
人工智能·python·github
成都犀牛1 小时前
LangGraph 深度学习笔记:构建真实世界的智能代理
人工智能·pytorch·笔记·python·深度学习
舒一笑1 小时前
基础RAG实现,最佳入门选择(二)
人工智能
oil欧哟2 小时前
🙂我用 TS 实现了一个 OpenAPI 转 MCP 工具,让 AI 工具调用更简单!
前端·人工智能·mcp
Shannon@2 小时前
(下)通用智能体与机器人Transformer:Gato和RT-1技术解析及与LLM Transformer的异同
深度学习·机器人·llm·transformer·具身智能·gato·rt-1