LSTM还没「死」(一)

简介: LSTM还没「死」(一)

如果说「LSTM」已死,它为何依然能够在Kaggle竞赛中成为赢家呢?


长短期记忆(Long Short-Term Memory,LSTM)是一种时间循环神经网络(RNN),论文首次发表于1997年。由于独特的设计结构,LSTM适合于处理和预测时间序列中间隔和延迟非常长的重要事件。


在过去几十年里,LSTM发展如何了?


密切关注机器学习的研究者,最近几年他们见证了科学领域前所未有的革命性进步。这种进步就像20世纪初,爱因斯坦的论文成为量子力学的基础一样。只是这一次,奇迹发生在AlexNet论文的推出,该论文一作为Alex Krizhevsky,是大名鼎鼎Hinton的优秀学生代表之一。AlexNet参加了2012年9月30日举行的ImageNet大规模视觉识别挑战赛,达到最低的15.3%的Top-5错误率,比第二名低10.8个百分点。这一结果重新燃起了人们对机器学习(后来转变为深度学习)的兴趣。


我们很难评估每次技术突破:在一项新技术被引入并开始普及之前,另一项技术可能变得更强大、更快或更便宜。技术的突破创造了如此多的炒作,吸引了许多新人,他们往往热情很高,但经验很少。


深度学习领域中一个被误解的突破就是循环神经网络(Recurrent neural network:RNN)家族。如果你用谷歌搜索诸如「LSTMs are dead」「RNNs have died」短语你会发现,搜索出来的结果大部分是不正确的或者结果太片面。


本文中数据科学家Nikos Kafritsas撰文《Deep Learning: No, LSTMs Are Not Dead!》,文中强调循环网络仍然是非常有用的,可应用于许多实际场景。此外,本文不只是讨论LSTM和Transformer,文中还介绍了数据科学中无偏评估这一概念。


以下是原文内容,全篇以第一人称讲述。


LSTM 曾经主导了 NLP 领域



每个大型科技公司都会采用LSTM,在NLP研究中都有LSTM的身影。


早在1997年,LSTM在论文 《LONG SHORT-TERM MEMORY 》中被提出,直到2014年才进入高速发展阶段。它们属于循环神经网络家族- RNN,以及门控循环单元GRU。


随着GPU的可访问性和第一个深度学习框架的出现,LSTM成为支配NLP领域的SOTA模型。2013 年词嵌入的出现促进了迁移学习机制的构建。事实上,当时几乎所有 NLP 任务的标准组件都是:a)预训练词嵌入,b)LSTM 和 c)序列到序列架构。


在那个时期,每个数据科学家都同意 LSTM 主导了 NLP 领域:它们被用于语音识别、文本到语音合成、语言建模和机器翻译。每家大型科技公司都接受了LSTM ;毫不夸张的说没有 LSTM 就没有 NLP。


谷歌为机器翻译创建的最佳模型之一,如下图1所示:


fd9763d1f2ccbf2b91bc86384a9659bd.png


图1:谷歌神经机器翻译- GNMT架构。


这个复杂的模型存在于谷歌翻译服务中,与之前的版本相比,GNMT减少了60%的翻译错误。正如我们看到的,GNMT大量使用了LSTM,形成了著名的编码器-解码器拓扑(包括一个双向LSTM)。


此外,GNMT还利用了Attention,这是一种允许模型在需要时关注输入序列相关部分的机制。如图1 所示,其中编码器的顶部向量使用注意力分数加权。换句话说,每个时间步骤中的每个单词都有一个可学习的分数,以最小化错误。要了解更多信息,请查看资料:




然而,LSTM有两个缺点:首先LSTM不容易在训练过程中并行化;其次由于它们具有周期性,它们可以建模的序列长度是有限制的。


打开Transformers的世界



RNN是序列模型,也就是说单词是按顺序处理的。但是,Transformer可以并行处理所有的单词。


2017年,谷歌在论文《Attention Is All You Need》中推出Transformer ,这是NLP生态系统的里程碑式的进步。这个新模型通过提出多头注意力机制来深入研究注意力,具体表现在:


充分利用自注意力优势,从而实现卓越性能;


采用模块化结构,可以并行进行矩阵运算,换句话说,Transformer运行得更快,具有更好的可扩展性。


然而,Transformer没有使用LSTM,即使在提取上下文信息很重要的第一层(LSTM可能很有用),Transformer提出了一种不同的机制,称为位置编码。这揭示了两类模型之间的主要区别:RNN 是序列模型,这意味着单词是按顺序处理的;但 Transformer 并行处理所有单词,这大大减少了训练时间。


从那以后,Transformer成为研究语言处理的基础,并产生了新的变体。变体如下图2所示:


8f2e752d5cf294880875e9636ca0cad4.png

图2:开源的Transformer系列


不能被遗忘的时间序列



LSTM 和 Transformer 都非常擅长对序列信息进行建模。因此,它们也可以应用于时间序列预测(TSF)案例。


传统统计方法赢得第一轮



然而,实验结果表明,LSTM和Transformer在准确度方面并非一定优于传统统计方法(例如 ARIMA)。另一方面,统计方法和基于RNN的方法相结合更有效。一个典型的例子是 Uber 构建的 ES-RNN 模型,该模型最终赢得了 M4竞赛。该模式是一种在扩张的 LSTM 之上使用指数平滑的混合模型。


当然,Transformer 也受到了考验。对于时间序列预测,最常用的方法是使用原始的 Transformer,并将位置编码层替换为 Time2vec 层。但是,Transformer 模型也无法超越统计方法。


此外,我还想说明以下几点:


  • 这并不意味着统计方法总是更好。在有大量数据的情况下,LSTM 的性能可以比 ARIMA 更好;


  • 统计方法需要更多的数据预处理。这可能包括时使时间序列平稳、消除季节性和波动性等。通过更简单的技术,LSTM 可以更容易地捕捉序列的自然特征;


  • 统计方法的通用性较差。例如,自回归方法无法处理未来未知的额外特征。


总之,就预测能力而言,ML 方法并不总是优于统计方法。


深度学习(DL)赢得第二轮



直到2018~2019年,深度学习模型才开始在时间序列预测任务中变得更具竞争力。


下图 3 和图 4 显示了两个SOTA模型,分别为谷歌的Temporal Fusion Transformer(TFT)和亚马逊的DeepAR。


8a75525b9b7caaec90b3ce266599943d.png


_TFT。图源:_https://arxiv.org/pdf/1912.09363.pdf


0ad41fae02e6155ec386b777908cb540.png


_图源:DeepAR模型架构。图源:_https://arxiv.org/pdf/1704.04110.pdf


这两个模型有很多有趣的地方,但与本文主题产生共鸣的最重要一点是:


它们都使用了LSTM!怎么做到的呢?


TFT 是一种用于时间序列的多层纯深度学习模型,该模型具有LSTM 编码器-解码器以及提供有可解释预测的全新注意力机制。


DeepAR 是一个复杂的时间序列模型,它结合了自回归和深度学习的特征。上图 4 中的 h_i,t 向量实际上是 LSTM 单元的隐藏状态,它们被用来计算高斯分布的 μ 和 σ 参数。从这个分布中,选择n个样本,其中位数代表预测值。


结果表明,这两种深度学习模型都优于传统的统计方法。此外,这两种模型都更加通用,因为它们可以处理多个时间序列并接受更丰富的功能集,其中TFT 略胜一筹。


循环与注意力如何关联起来



为了学习不同尺度的时序关系,TFT 使用循环层进行局部处理,使用可解释的自注意力层进行长期依赖。考虑到我们目前所知道的以及上文所述,可以得出以下结论:循环网络非常擅长捕捉序列的局部时间特征,而注意力则更擅长学习长期动态。


这不是一个武断的结论。TFT论文的作者通过执行消融分析证明了这一点。他们在其他组件中测试了LSTM编码器-解码器层:在消融实验中使用原始 Transformer 的标准位置编码层来替换它,得出了以下两个结论:


  1. 序列到序列层的使用对模型性能产生增益;


  1. 在执行基准测试的5个数据集中的4个 ,LSTM 层实现了更佳的性能。


因此,我们可以有把握地得出结论:LSTM 层仍然是时间序列深度学习模型中的一个非常有用的组件。此外,它们不会对抗注意力机制,相反可以与基于注意力的组件相结合,进一步提高模型的效率。


相关文章
|
机器学习/深度学习 人工智能 自然语言处理
模型训练数据-MinerU一款Pdf转Markdown软件
MinerU是由上海人工智能实验室OpenDataLab团队开发的开源智能数据提取工具,专长于复杂PDF文档的高效解析与提取。它能够将含有图片、公式、表格等多模态内容的PDF文档转化为Markdown格式,同时支持从网页和电子书中提取内容,显著提升了AI语料准备的效率。MinerU具备高精度的PDF模型解析工具链,能自动识别乱码,保留文档结构,并将公式转换为LaTeX格式,广泛适用于学术、财务、法律等领域。
2750 4
|
NoSQL 安全 调度
【📕分布式锁通关指南 10】源码剖析redisson之MultiLock的实现
Redisson 的 MultiLock 是一种分布式锁实现,支持对多个独立的 RLock 同时加锁或解锁。它通过“整锁整放”机制确保所有锁要么全部加锁成功,要么完全回滚,避免状态不一致。适用于跨多个 Redis 实例或节点的场景,如分布式任务调度。其核心逻辑基于遍历加锁列表,失败时自动释放已获取的锁,保证原子性。解锁时亦逐一操作,降低死锁风险。MultiLock 不依赖 Lua 脚本,而是封装多锁协调,满足高一致性需求的业务场景。
384 0
【📕分布式锁通关指南 10】源码剖析redisson之MultiLock的实现
|
12月前
|
API
Postman 可以将文档导出为 HTML/Markdown 吗?
Postman 没有提供直接将你的文档导出为 HTML 或 Markdown 的途径。太糟糕了
|
机器学习/深度学习 人工智能 自然语言处理
关于LLM-as-a-judge范式,终于有综述讲明白了
《From Generation to Judgment: Opportunities and Challenges of LLM-as-a-judge》探讨了大型语言模型(LLM)在评估和判断任务中的应用。传统方法存在不足,而LLM凭借强大的语言理解和生成能力,展现了广阔的应用前景。论文从输入输出角度定义LLM-as-a-judge,提出三维度分类体系,并汇编评估基准,指出关键挑战如偏见、可解释性和对抗性攻击,展望未来改进方向,强调其潜力与价值。论文链接:https://arxiv.org/abs/2411.16594
882 1
|
Web App开发 缓存 安全
WIN11 Chrome 双击打不开闪退及Chrome浏览器不能拖拽文件crx
【11月更文挑战第6天】本文介绍了 WIN11 系统中 Chrome 浏览器双击打不开闪退及不能拖拽文件 crx 的原因和解决方法。包括浏览器版本过旧、扩展程序冲突、硬件加速问题、缓存过多、安全软件冲突、系统文件损坏、用户配置文件损坏等问题的解决方案,以及 crx 文件的屏蔽、权限问题和文件格式问题的处理方法。
4781 2
|
人工智能 搜索推荐 语音技术
青否AI数字人抖音稳定开播,数字人带货优势及注意事项!
AI数字人直播带货革新电商领域,虚拟形象外形逼真且互动流畅,改变购物体验。青否数字人采用【实时改写实时生成】确保内容不重复,并通过AI智能回复即时解答用户问题,解决非实时内容及低频互动违规。数字人技术具24/7工作能力和个性化互动优势,降低成本提高效率。青否数字人直播解决方案实现降本增效,助力商家全天候直播带货,提升销售额。
青否AI数字人抖音稳定开播,数字人带货优势及注意事项!
|
机器学习/深度学习 数据采集 自然语言处理
注意力机制中三种掩码技术详解和Pytorch实现
**注意力机制中的掩码在深度学习中至关重要,如Transformer模型所用。掩码类型包括:填充掩码(忽略填充数据)、序列掩码(控制信息流)和前瞻掩码(自回归模型防止窥视未来信息)。通过创建不同掩码,如上三角矩阵,模型能正确处理变长序列并保持序列依赖性。在注意力计算中,掩码修改得分,确保模型学习的有效性。这些技术在现代NLP和序列任务中是核心组件。**
1584 12
STM32学习笔记(4) 高级定时器-两路互补的PWM输出(带死区和刹车控制)
原理:当捕捉到信号的跳变沿时,将CNT的值所存到捕获寄存器CCR中,然后把两次的值相减,就可以得到脉宽或者频率。
3400 0
|
缓存 NoSQL Java
Spring Cache之本地缓存注解@Cacheable,@CachePut,@CacheEvict使用
SpringCache不支持灵活的缓存时间和集群,适合数据量小的单机服务或对一致性要求不高的场景。`@EnableCaching`启用缓存。`@Cacheable`用于缓存方法返回值,`value`指定缓存名称,`key`定义缓存键,可按SpEL编写,`unless`决定是否不缓存空值。当在类上使用时,类内所有方法都支持缓存。`@CachePut`每次执行方法后都会更新缓存,而`@CacheEvict`用于清除缓存,支持按键清除或全部清除。Spring Cache结合Redis可支持集群环境。
1889 6
|
存储 NoSQL Java
Spring Boot与Neo4j图数据库的集成应用
Spring Boot与Neo4j图数据库的集成应用