自学内容网 自学内容网

【自然语言处理】(4) --长短期记忆网络LSTM详解

长短期记忆网络LSTM

LSTM网络,即长短期记忆网络(Long Short-Term Memory),是一种特殊的循环神经网络(RNN),旨在解决标准RNN在处理长序列数据时容易出现的梯度消失和梯度爆炸问题

大部分与RNN模型相同,但它们用了不同的函数来计算隐状态

  • 网络效果

例如:当你想在网上购买生活用品时,一般都会查看一下其他已购买的用户评价。当你浏览评论时,大脑下意识记住重要的关键词,比如“好看”和“真酷”这样的词汇,而不太会关心“我”、“也”、“是”等字样。如果朋友第二天问你用户评价都说了什么,你不可能会全部记住它,而是说出大脑里记得的主要观点,比如“下次肯定还会来买”,无关紧要的内容自然会从记忆中逐渐消失

**LSTM (长短时记忆网络)**或 **GRU(门控循环单元)**就是如此,它们可以学习只保留相关信息来进行预测,并忘记不相关的数据。简单说,因记忆能力有限,记住重要的,忘记无关紧要的。

一、结构

LSTM网络的核心是记忆单元(Memory Cell),它可以存储和读取信息。记忆单元由一个细胞状态(Cell State)和三个门控向量(门控机制)组成,这三个门控向量分别是遗忘门(Forget Gate)、输入门(Input Gate)和输出门(Output Gate)。

细胞状态中,保存的是关键信息

在这里插入图片描述

在这里插入图片描述

二、工作原理

  1. 遗忘门

    功能:决定应丢弃哪些关键词信息。步骤:来自前一个隐藏状态的信息和当前输入的信息同时传递到 sigmoid 函数中去,输出值介于 0 和 1 之间,越接近 0 意味着越应该丢弃,越接近 1 意味着越应该保留。

    在这里插入图片描述

  2. 输入门

    功能:用于更新细胞状态。

    步骤

    1. 首先将前一层隐藏状态的信息和当前输入的信息传递到 sigmoid 函数中去。将值调整到 0~1 之间来决定要更新哪些信息。0 表示不重要,1 表示重要。

    2. 将前一层隐藏状态的信息和当前输入的信息传递到 tanh 函数中去,创造一个新的侯选值向量。最后将 sigmoid 的输出值与 tanh 的输出值相乘,sigmoid 的输出值将决定 tanh 的输出值中哪些信息是重要且需要保留下来的。

    在这里插入图片描述

  3. 输出门

    功能:用来确定下一个隐藏状态的值。

    步骤

    1. 将前一个隐藏状态和当前输入传递到 sigmoid 函数中,然后将新得到的细胞状态传递给 tanh 函数。
    2. 将 tanh 的输出与 sigmoid 的输出相乘,以确定隐藏状态应携带的信息。再将隐藏状态作为当前细胞的输出,把新的细胞状态和新的隐藏状态传递到下一个时间步长中去。

    在这里插入图片描述

    就是通过引入门控机制和细胞状态方法,使得LSTM网络能够只保留相关信息来进行预测,并忘记不相关的数据。

三、应用领域

LSTM网络在深度学习领域有着广泛的应用,以下列举几个常见的应用场景:

  1. 语言模型与文本生成:LSTM可以对文本序列进行建模,捕捉文本中的上下文信息,从而提高处理文本任务的能力。例如,在机器翻译、情感分析等领域中,LSTM都取得了显著的效果。
  2. 时间序列预测:LSTM网络可以对历史数据进行学习,预测未来的时序数据。例如,在股票价格预测、天气预测等任务中,LSTM都表现出了强大的性能。
  3. 语音识别:LSTM网络可以对音频序列进行建模,捕捉语音信号中的时间依赖关系。通过有效地处理连续的音频输入,LSTM可以提高语音识别的准确性。

总结

本篇介绍了:

  1. LSTM网络的作用:解决标准RNN在处理长序列数据时容易出现的梯度消失和梯度爆炸问题。
  2. LSTM网络的核心是记忆单元,记忆单元由一个细胞状态和三个门控向量组成,这三个门控向量分别是遗忘门、输入门和输出门。
  3. LSTM网络通过引入门控机制和细胞状态等创新设计,只保留相关信息来进行预测,解决了传统RNN在处理长序列数据和长期依赖问题上的困难。

原文地址:https://blog.csdn.net/m0_74896766/article/details/142832640

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!