Code前端首页关于Code前端联系我们

LSTM模型原理详解及Python实现

terry 2年前 (2023-09-23) 阅读数 114 #AI人工智能

在深度学习和人工智能领域,处理序列数据,例如时间序列、文本或音频是一个很大的挑战。特别是当我们试图捕获数据中的长期模式或依赖性时。想象一下,当你读一篇文章时,你可能必须记住它开头所说的内容才能理解它结尾所说的内容。这对于传统的神经网络来说是很困难的。这就是 LSTM(长期记忆网络)发挥作用的地方。 LSTM 是一种特殊类型的循环神经网络 (RNN)。与传统神经网络不同,RNN 具有循环结构,允许信息在网络中连续流动。这使得 RNN 理论上能够长时间记住信息。然而,在实践中,标准 RNN 在尝试捕获长期依赖性时会遇到困难。 LSTM就是为了解决这个问题而诞生的。 LSTM的核心思想是“细胞状态”——网络中不断流动的一条信息线。这个单元状态就像一条传送带,从网络的起点运行到终点。在传送带上,LSTM 可以添加或删除信息,从而只保留相关信息,忘记不相关信息。 为了实现这一点,LSTM 使用了三个重要的“门”结构:遗忘门、输入门和输出门。这些门决定哪些信息应该被遗忘,哪些信息应该存储在单元状态中,以及哪些信息应该在输出中显示。

LSTM 架构

长短期记忆网络 (LSTM) 是由 Sepp Hochreiter 和 Jürgen Schmidhuber 于 1997 年设计的循环神经网络架构(称为 LSTM 单元)。 LSTM 单元由四个前馈神经网络组成。每个神经网络都由输入层和输出层组成。在任何神经网络中,输入神经元都连接到所有输出神经元。因此,LSTM 单元有四个全连接层。

四个前馈神经网络中的三个负责选择信息。他们忘记了门、输入门和输出门。这三个门用于执行三种典型的内存管理操作:从内存中删除信息(忘记门)、将新信息插入内存(输入门)以及使用内存中存储的信息(输出门)。

第四个神经网络,候选记忆,用于创建新的候选信息以放入记忆中。下面对一些重要环节进行介绍。

遗忘门

它决定哪些信息应该被遗忘或丢弃。它使用 sigmoid 激活函数来获取 0 到 1 之间的值。该值决定了保留多少信息。 0表示“丢弃所有信息”,1表示“保留所有信息”。

LSTM模型原理详解及Python实现

输入门

- 它有两部分。第一部分是 sigmoid 层,它决定我们更新哪些值。第二部分是 Tanh 层,它创建一个可以添加到状态的新候选值向量。 LSTM模型原理详解及Python实现

更新细胞状态

核心部分LSTM ,首先通过遗忘门丢弃不必要的信息,然后添加新的候选值,由 sigmoid 层决定输出哪部分状态,然后通过 tanh 函数进入单位状态(得到一个 -1 到 -1 之间的值) 1)并将其乘以sigmoid门的输出,得到我们想要输出的最终预测。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门