问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

神经网络算法 - 一文搞懂LSTM(长短期记忆网络)

创作时间:
作者:
@小白创作中心

神经网络算法 - 一文搞懂LSTM(长短期记忆网络)

引用
1
来源
1.
https://www.explinks.com/blog/wx-neural-network-algorithms-understanding-lstm-long-short-term-memory-networks/

LSTM(长短期记忆网络)是循环神经网络(RNN)的一种特殊类型,主要用于解决传统RNN在处理长序列数据时遇到的短时记忆和梯度消失/爆炸问题。通过引入输入门、遗忘门和输出门,LSTM能够选择性地保留或忘记信息,从而有效地捕捉序列中的长期依赖关系。本文将从LSTM的本质、原理和应用三个方面,为您详细解析这一重要的深度学习模型。

一、LSTM的本质

RNN面临的问题

RNN(递归神经网络)在处理长序列时面临的主要问题包括短时记忆和梯度消失/梯度爆炸。

  • 短时记忆

  • 问题描述:RNN在处理长序列时,由于信息的传递是通过隐藏状态进行的,随着时间的推移,较早时间步的信息可能会在传递到后面的时间步时逐渐消失或被覆盖。

  • 影响:这导致RNN难以捕捉和利用序列中的长期依赖关系,从而限制了其在处理复杂任务时的性能。

  • 梯度消失/梯度爆炸

  • 问题描述:在RNN的反向传播过程中,梯度会随着时间步的推移而逐渐消失(变得非常小)或爆炸(变得非常大)。

  • 影响:梯度消失使得RNN在训练时难以学习到长期依赖关系,因为较早时间步的梯度信息在反向传播到初始层时几乎为零。梯度爆炸则可能导致训练过程不稳定,权重更新过大,甚至导致数值溢出。

LSTM解决问题的机制

LSTM通过引入门控机制,选择性地保留或忘记信息,从而解决了RNN在处理长序列时面临的问题。这种机制类似于大脑在处理信息时的选择性记忆。

  • 大脑记忆机制:当浏览评论时,大脑倾向于记住重要的关键词。无关紧要的词汇和内容容易被忽略。回忆时,大脑提取并表达主要观点,忽略细节。

  • LSTM门控机制:LSTM通过输入门、遗忘门和输出门选择性地保留或忘记信息,使用保留的相关信息来进行预测,类似于大脑提取并表达主要观点。

二、LSTM的原理

RNN的工作原理

RNN通过隐藏状态的传递来处理序列数据,每个时间步的隐藏状态都包含了之前所有时间步的信息。

  • 隐藏状态的传递
  • 过程描述:在处理序列数据时,RNN将前一时间步的隐藏状态传递给下一个时间步。
  • 作用:隐藏状态充当了神经网络的“记忆”,它包含了网络之前所见过的数据的相关信息。
  • 重要性:这种传递机制使得RNN能够捕捉序列中的时序依赖关系。

  • 隐藏状态的计算
  • 细胞结构:RNN的一个细胞接收当前时间步的输入和前一时间步的隐藏状态。
  • 组合方式:当前输入和先前隐藏状态被组合成一个向量,这个向量融合了当前和先前的信息。
  • 激活函数:组合后的向量经过一个tanh激活函数的处理,输出新的隐藏状态。这个新的隐藏状态既包含了当前输入的信息,也包含了之前所有输入的历史信息。

  • 输出:新的隐藏状态被输出,并被传递给下一个时间步,继续参与序列的处理过程。

LSTM的工作原理

LSTM通过引入三个门控机制(输入门、遗忘门和输出门)来控制信息的流动,从而解决RNN的短时记忆问题。

  • 输入门
  • 作用:决定哪些新信息应该被添加到记忆单元中。
  • 组成:输入门由一个sigmoid激活函数和一个tanh激活函数组成。sigmoid函数决定哪些信息是重要的,而tanh函数则生成新的候选信息。
  • 运算:输入门的输出与候选信息相乘,得到的结果将在记忆单元更新时被考虑。

  • 遗忘门
  • 作用:决定哪些旧信息应该从记忆单元中遗忘或移除。
  • 组成:遗忘门仅由一个sigmoid激活函数组成。
  • 运算:sigmoid函数的输出直接与记忆单元的当前状态相乘,用于决定哪些信息应该被保留,哪些应该被遗忘。输出值越接近1的信息将被保留,而输出值越接近0的信息将被遗忘。

  • 输出门
  • 作用:决定记忆单元中的哪些信息应该被输出到当前时间步的隐藏状态中。
  • 组成:输出门同样由一个sigmoid激活函数和一个tanh激活函数组成。sigmoid函数决定哪些信息应该被输出,而tanh函数则处理记忆单元的状态以准备输出。
  • 运算:sigmoid函数的输出与经过tanh函数处理的记忆单元状态相乘,得到的结果即为当前时间步的隐藏状态。

三、LSTM的应用

LSTM在自然语言处理领域有着广泛的应用,其中最具代表性的应用包括机器翻译和情感分析。

机器翻译

LSTM在机器翻译中用于将源语言句子自动翻译成目标语言句子。

关键组件

  • 编码器(Encoder):一个LSTM网络,负责接收源语言句子并将其编码成一个固定长度的上下文向量。
  • 解码器(Decoder):另一个LSTM网络,根据上下文向量生成目标语言的翻译句子。

流程

  1. 源语言输入:将源语言句子分词并转换为词向量序列。
  2. 编码:使用编码器LSTM处理源语言词向量序列,输出上下文向量。
  3. 初始化解码器:将上下文向量作为解码器LSTM的初始隐藏状态。
  4. 解码:解码器LSTM逐步生成目标语言的词序列,直到生成完整的翻译句子。
  5. 目标语言输出:将解码器生成的词序列转换为目标语言句子。

优化:通过比较生成的翻译句子与真实目标句子,使用反向传播算法优化LSTM模型的参数,以提高翻译质量。

情感分析

LSTM用于对文本进行情感分析,判断其情感倾向(积极、消极或中立)。

关键组件

  • LSTM网络:接收文本序列并提取情感特征。
  • 分类层:根据LSTM提取的特征进行情感分类。

流程

  1. 文本预处理:将文本分词、去除停用词等预处理操作。
  2. 文本表示:将预处理后的文本转换为词向量序列。
  3. 特征提取:使用LSTM网络处理词向量序列,提取文本中的情感特征。
  4. 情感分类:将LSTM提取的特征输入到分类层进行分类,得到情感倾向。
  5. 输出:输出文本的情感倾向(积极、消极或中立)。

优化:通过比较预测的情感倾向与真实标签,使用反向传播算法优化LSTM模型的参数,以提高情感分析的准确性。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号