机器学习中的短期记忆是如何工作的?


介绍

LSTM,代表长短期记忆网络,是一种高级循环神经网络(RNN),专门设计用于分析文本、语音和时间序列等顺序数据。与传统的 RNN 难以捕捉数据中的长期依赖关系不同,LSTM 擅长理解和预测序列中的模式。

传统的 RNN 在随着时间推移处理序列时,面临着保留关键信息的重大挑战。此限制阻碍了它们根据长期记忆进行准确预测的能力。LSTM 的开发旨在克服这一障碍,使网络能够存储和维护信息更长时间。

LSTM 网络结构

LSTM 网络的架构由记忆单元和几个控制信息流的门组成。遗忘门是一个重要的门,它控制着是否应该保留或丢弃信息。输入门则控制将新数据插入到记忆单元中。LSTM 网络中的遗忘门对于确定哪些信息应该保存,以及哪些信息应该从单元状态中忽略至关重要。它接收两个输入:xt,表示当前时间步的输入,以及 ht-1,表示前一个单元的输出。为了生成二进制输出,这些输入与权重矩阵 (Wf) 相乘,并加上偏差项 (bf),然后通过 sigmoid 激活函数 () 发送。

遗忘门的方程式为 −

f_t = σ(W_f · [h_t-1, x_t] + b_f)

在以下方程式中 −

  • Wf 是遗忘门的权重矩阵,它帮助我们了解输入在选择要丢弃哪些信息中的重要性。

  • [ht-1, xt] 表示前一个隐藏状态 (ht-1) 和当前输入 (xt) 的组合,同时考虑了两个时间步的信息。

  • 遗忘门的偏差项为 bf,它允许网络调整其行为。

  • 表示 sigmoid 激活函数,它将输入的加权和转换为 0 到 1 之间的值。此值指定单元状态的每个元素是否应该被遗忘或保留。

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

输入门

输入门控制信息流入长短期记忆 (LSTM) 架构。它决定哪些输入元素应该保存,哪些应该忽略。

LSTM 输入门使用 sigmoid 激活函数计算,其内容包括:当前输入和前一个隐藏状态。这些组件结合起来计算输入门激活。

  • 当前输入 − 在当前时间步,当前输入是新的输入。可以是单词、特征向量或任何其他与 LSTM 相关的输入。此输入在与其他组件合并之前会乘以权重矩阵。

  • 前一个隐藏状态 − 前一个隐藏状态表示 LSTM 单元在前一个时间步存储的信息。它记录了先前的上下文,并确定当前输入中有多少应该被保留。前一个隐藏状态在与其他组件混合之前会乘以另一个权重矩阵。

  • 偏差项 − 偏差项会添加到当前输入和前一个隐藏状态的加权和中。此偏差有助于调整输入门的决策过程。

  • 激活函数 − sigmoid 激活函数应用于当前输入、前一个隐藏状态和偏差项的加权和。sigmoid 函数将结果压缩到 0 到 1 之间的值,表示门是打开还是关闭。接近 1 的值表示门是打开的,允许更多信息进入单元状态,而接近 0 的值表示门是关闭的,阻止信息进入单元状态。

  • 单元状态更新 − 输入门的输出(介于 0 和 1 之间)与单元状态候选按元素相乘。单元状态候选表示可能添加到单元状态的其他信息。最终的乘积随后会添加到单元状态,然后用必要的信息更新单元状态。

通过改变与输入门相关的权重和偏差,LSTM 可以学会选择保留或丢弃来自输入和前一个隐藏状态的信息,从而使其能够捕获长期依赖关系并做出明智的判断。

输出门

输出门指导从记忆单元中提取重要信息,以生成最终输出。LSTM 特别适用于需要上下文理解和记录长期依赖关系的任务。它们可以分析和预测数据序列,这使得它们成为语言翻译、语音识别和时间序列预测等任务的有用工具。

LSTM 的优势之一是它们能够通过在记忆单元中存储信息来捕获长期依赖关系。它们解决了传统 RNN 在长时间序列训练期间遇到的梯度消失和梯度爆炸问题。LSTM 通过选择性地回忆或遗忘信息可以有效地解决这些挑战。

局限性

然而,LSTM 也有一些缺点。它们在计算上成本更高,因此对于大型数据集或资源受限的应用程序来说,可扩展性较差。由于计算复杂性,LSTM 需要更多数据和更长的训练周期才能获得良好的性能。由于 LSTM 处理的顺序性质,短语或序列不容易并行化。

结论

LSTM 应用于各种领域。语言建模、机器翻译、语音识别、时间序列预测、异常检测、推荐系统以及视频分析任务(例如对象检测和活动识别)都广泛使用它们。这些应用程序通过利用 LSTM 的特性,从模型捕获顺序数据中复杂模式和关系的能力中受益。

更新于: 2023年10月17日

83 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告