深入解析序列模型:全面阐释 RNN、LSTM 与 Seq2Seq 的秘密

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: 深入解析序列模型:全面阐释 RNN、LSTM 与 Seq2Seq 的秘密

探索序列建模的基础知识和应用。

简介

序列建模是许多领域的一个重要问题,包括自然语言处理 (NLP)、语音识别和语音合成、时间序列预测、音乐生成和生物信息学。所有这些任务的共同点是它们需要坚持。接下来的事情的预测是基于历史的。例如,在“哈桑以前踢足球,而且他踢得非常好”的序列中。只有将“哈桑”的信息推进到该特定点,才能对“他”进行预测。因此,您需要某种历史记录块来存储以前的信息并将其用于进一步的预测。传统的人工神经网络在这方面失败了,因为它们无法携带先前的信息。这就催生了一种名为“循环神经网络(RNN)”的新架构。

循环神经网络

循环神经网络是一种深度学习神经网络,它会记住输入序列,将其存储在记忆状态中,并预测未来的单词/句子。它们中有循环,允许信息持续存在。

上面显示的单层 RNN 具有输入 x 和输出 y,以及隐藏单元 h。该图的右侧部分以展开的方式显示了 RNN。考虑隐藏单元h(t)的情况;它接收两个输入。一个是x(t),另一个是h(t-1)。这样,信息就得以传承。

该 RNN 架构的修改版本可用于解决不同类型的序列问题。序列问题大致可分为以下几类:

多对多架构可用于视频字幕和机器翻译。一对多用于图像字幕,多对一用于情感分析任务。这些只是这些修改后的架构的一些应用。

RNN 的缺点

  1. 梯度消失/爆炸:总损失是所有时间戳损失的总和。因此,在反向传播过程中,我们对权重求偏导数。应用链式法则,最终给出了一种形式,我们可以在其中计算相邻时间戳处隐藏状态的偏导数的乘积。由于这种乘法,我们的梯度可以呈指数级减小,并且参数的更新相当小。这就是梯度消失问题。当梯度呈指数增长时,参数更新不稳定且不可预测。这就是梯度爆炸问题。这两个问题都阻碍了 RNN 的训练。
  2. 长期依赖性:RNN 可以轻松地在小间隙中传递信息,但是当最后一个单词依赖于长句子的第一个单词时,RNN 会因间隙过大而失败。

为了克服上述问题,我们可以使用梯度裁剪、跳跃连接、权重初始化技术、梯度正则化和门控架构(如 LSTM 和 GRU)。

长短期记忆

LSTM 是一种深度学习神经网络,具有隐藏状态和细胞状态两种不同的状态。它具有三种不同类型的门,即输入门、遗忘门和输出门。这些门调节进出记忆单元的信息流,使 LSTM 能够根据需要选择性地记住或忘记信息。

现在我将解释 LSTM 的工作原理。一个 LSTM 单元采用输入 x(t)、隐藏状态 h(t-1)、单元状态 c(t-1)。基于 h(t-1) 和 x(t),它首先决定使用遗忘门丢弃哪些信息。然后我们决定哪些新信息应该存储在单元状态中。我们通过使用输入门和输入节点找到了这一点。然后我们通过首先忘记然后添加新信息来更新单元状态 c(t-1)。最后,我们使用更新的单元状态 c(t)、输入 x(t)、隐藏状态 h(t) 和输出门来计算输出。

LSTM 面临过度拟合、内存限制和计算复杂性。建议对 LSTM 架构进行许多小的修改。一种架构是门控循环单元 (GRU):

序列到序列

Seq2Seq 是一种特殊类型的序列建模,用于机器翻译、文本生成、摘要等。其架构的设计方式使其可以接受可变数量的输入并产生可变数量的输出。它有一个编码器和解码器。编码器和解码器都有一个循环神经网络。

在上图中,您可以看到编码器在每个时间戳处获取一个输入标记,然后更新其隐藏状态。编码器从给定句子中捕获的所有信息都通过编码器的最后一个隐藏状态传递到解码器。最后一个隐藏状态称为上下文向量。它充当整个输入序列的摘要。解码器 RNN 获取编码器生成的上下文向量,并逐个生成输出序列令牌。在每个时间步,解码器接收先前的输出令牌(或初始时间步期间的开始令牌)及其隐藏状态。解码器的隐藏状态根据先前的隐藏状态和先前生成的令牌进行更新。解码器逐个生成输出序列标记,直到满足特定条件,例如达到最大长度或生成序列结束标记。

Seq2Seq的缺点

  1. 上下文压缩:来自输入序列的所有信息必须压缩到上下文向量的大小。因此,损失细粒度的细节。
  2. 短期记忆限制:他们努力从遥远的时间步骤捕获和保留信息,从而难以处理长序列和捕获长期依赖性。
  3. 偏见:在培训期间,经常使用称为“teacher forcing”的技术对SEQ2SEQ模型进行训练,在该技术中,将解码器与地面真相输出tokens一起提供为每个时间步骤的输入。但是,在推理或测试期间,该模型根据其自身的预测生成输出tokens。训练和推理之间的这种差异可能导致暴露偏见,从而导致模型在推断期间表现出色。

总结

考虑到以上所有因素,循环神经网络确实在序列建模方面做出了很大的改变。为了克服它的缺点,我们提出了 LSTM 和 GRU。但最具革命性的变化是注意力机制的出现。

相关文章
|
2月前
|
机器学习/深度学习 数据采集 存储
时间序列预测新突破:深入解析循环神经网络(RNN)在金融数据分析中的应用
【10月更文挑战第7天】时间序列预测是数据科学领域的一个重要课题,特别是在金融行业中。准确的时间序列预测能够帮助投资者做出更明智的决策,比如股票价格预测、汇率变动预测等。近年来,随着深度学习技术的发展,尤其是循环神经网络(Recurrent Neural Networks, RNNs)及其变体如长短期记忆网络(LSTM)和门控循环单元(GRU),在处理时间序列数据方面展现出了巨大的潜力。本文将探讨RNN的基本概念,并通过具体的代码示例展示如何使用这些模型来进行金融数据分析。
397 2
|
23天前
|
机器学习/深度学习 人工智能 PyTorch
Transformer模型变长序列优化:解析PyTorch上的FlashAttention2与xFormers
本文探讨了Transformer模型中变长输入序列的优化策略,旨在解决深度学习中常见的计算效率问题。文章首先介绍了批处理变长输入的技术挑战,特别是填充方法导致的资源浪费。随后,提出了多种优化技术,包括动态填充、PyTorch NestedTensors、FlashAttention2和XFormers的memory_efficient_attention。这些技术通过减少冗余计算、优化内存管理和改进计算模式,显著提升了模型的性能。实验结果显示,使用FlashAttention2和无填充策略的组合可以将步骤时间减少至323毫秒,相比未优化版本提升了约2.5倍。
42 3
Transformer模型变长序列优化:解析PyTorch上的FlashAttention2与xFormers
|
4月前
|
机器学习/深度学习 API 异构计算
7.1.3.2、使用飞桨实现基于LSTM的情感分析模型的网络定义
该文章详细介绍了如何使用飞桨框架实现基于LSTM的情感分析模型,包括网络定义、模型训练、评估和预测的完整流程,并提供了相应的代码实现。
|
4月前
|
机器学习/深度学习 自然语言处理 算法
7.1.3、使用飞桨实现基于LSTM的情感分析模型
该文章介绍了如何使用飞桨(PaddlePaddle)实现基于长短时记忆网络(LSTM)的情感分析模型,包括数据处理、网络定义、模型训练、评估和预测的详细步骤。
|
2月前
|
机器学习/深度学习 自然语言处理 算法
【NPL自然语言处理】带你迅速了解传统RNN模型
【NPL自然语言处理】带你迅速了解传统RNN模型
|
4月前
|
机器学习/深度学习 算法 数据挖掘
基于WOA优化的CNN-LSTM的时间序列回归预测matlab仿真
本项目采用MATLAB 2022a实现时间序列预测,利用CNN与LSTM结合的优势,并以鲸鱼优化算法(WOA)优化模型超参数。CNN提取时间序列的局部特征,LSTM处理长期依赖关系,而WOA确保参数最优配置以提高预测准确性。完整代码附带中文注释及操作指南,运行效果无水印展示。
|
5月前
|
机器学习/深度学习 自然语言处理
彻底改变语言模型:全新架构TTT超越Transformer,ML模型代替RNN隐藏状态
【7月更文挑战第25天】近年来,NLP领域取得显著进展但也面临挑战,如长上下文建模与计算效率的平衡。为此,研究人员提出Test-Time Training (TTT) 模型架构。TTT由多机构合作开发,旨在解决长上下文建模难题及提高计算效率。通过将隐藏状态视为可学习更新的模型,TTT能随输入增长提升表示能力;采用自监督学习更新规则确保线性计算复杂度的同时保持高性能。实验显示TTT在多种NLP任务中表现优秀,尤其在长上下文处理方面超越Transformer。尽管如此,TTT仍面临训练资源需求高及自监督学习鲁棒性等挑战。[论文](https://arxiv.org/abs/2407.04620)
137 5
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
算法金 | 秒懂 AI - 深度学习五大模型:RNN、CNN、Transformer、BERT、GPT 简介
**RNN**,1986年提出,用于序列数据,如语言模型和语音识别,但原始模型有梯度消失问题。**LSTM**和**GRU**通过门控解决了此问题。 **CNN**,1989年引入,擅长图像处理,卷积层和池化层提取特征,经典应用包括图像分类和物体检测,如LeNet-5。 **Transformer**,2017年由Google推出,自注意力机制实现并行计算,优化了NLP效率,如机器翻译。 **BERT**,2018年Google的双向预训练模型,通过掩码语言模型改进上下文理解,适用于问答和文本分类。
173 9
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
7.1 NLP经典神经网络 RNN LSTM
该文章介绍了自然语言处理中的情感分析任务,探讨了如何使用深度神经网络,特别是循环神经网络(RNN)和长短时记忆网络(LSTM),来处理和分析文本数据中的复杂情感倾向。
|
5月前
|
机器学习/深度学习 PyTorch 算法框架/工具
图神经网络是一类用于处理图结构数据的神经网络。与传统的深度学习模型(如卷积神经网络CNN和循环神经网络RNN)不同,
图神经网络是一类用于处理图结构数据的神经网络。与传统的深度学习模型(如卷积神经网络CNN和循环神经网络RNN)不同,

热门文章

最新文章

推荐镜像

更多