假如说「LSTM」已死,它为什么仍然还能在大赛中成为赢家呢?
长短期记忆(LongShort-Term,LSTM)是一种时间循环神经网路(RNN),论文首次发表于1997年。因为奇特的设计结构,LSTM适宜于处理和预测时间序列中间隔和延后特别长的重要风波。
在过去几六年里,LSTM发展怎么了?
密切关注机器学习的研究者,近来几年她们见证了科学领域前所未有的革命性进步。这些进步犹如20世纪初,爱因斯坦的论文成为量子热学的基础一样。只是这一次,奇迹发生在论文的推出,该论文一作为Alex,是大名鼎鼎的优秀中学生代表之一。
出席了2012年9月30日举办的大规模视觉辨识挑战赛,达到最低的15.3%的Top-5错误率,比第二名低10.8个百分点。这一结果重新点燃了人们对机器学习(后来转变为深度学习)的兴趣。
我们很难评估每次技术突破:在一项新技术被引入并开始普及之前,另一项技术可能显得更强悍、更快或更实惠。
技术的突破创造了这么多的炒作,吸引了许多新人,她们常常热情很高,但经验甚少。
深度学习领域中一个被误会的突破就是循环神经网路(:RNN)家族。假如你用微软搜索例如「LSTMsaredead」「RNNshavedied」短语你会发觉,搜索下来的结果大部份是不正确的或则结果太片面。
本文中数据科学家Nikos撰文《Deep:No,LSTMsAreNotDead!》,文中指出循环网路依然是十分有用的,可应用于许多实际场景。据悉,本文不只是讨论LSTM和,文中还介绍了数据科学中无偏评估这一概念。
以下是原文内容,整篇以第一人称述说。
LSTM当初主导了NLP领域
每位小型科技公司还会采用LSTM,在NLP研究中都有LSTM的身影。
早在1997年,LSTM在论文《LONGSHORT-TERM》中被提出,直至2014年才步入高速发展阶段。它们属于循环神经网路家族-RNN,以及门控循环单元GRU。
随着GPU的可访问性和第一个深度学习框架的出现,LSTM成为支配NLP领域的SOTA模型。2013年词嵌入的出现推动了迁移学习机制的完善。事实上,当时几乎所有NLP任务的标准组件都是:a)预训练词嵌入,b)LSTM和c)序列到序列构架。
在哪个时期,每位数据科学家都同意LSTM主导了NLP领域:它们被用于语音辨识、文本到语音合成、语言建模和机器翻译。每家小型科技公司都接受了LSTM;毫不夸张的说没有LSTM就没有NLP。
微软为机器翻译创建的最佳模型之一,如右图1所示:
图1:微软神经机器翻译-GNMT构架。
这个复杂的模型存在于微软翻译服务中,与之前的版本相比,GNMT降低了60%的翻译错误。正如我们看见的,GNMT大量使用了LSTM,产生了知名的编码器-解码器拓扑(包括一个单向LSTM)。
据悉,GNMT还借助了,这是一种容许模型在须要时关注输入序列相关部份的机制。如图1所示,其中编码器的底部向量使用注意力分数加权。换句话说,每位时间步骤中的每位词组都有一个可学习的分数,以最小化错误。要了解更多信息量子物理学基础知识网络图,请查看资料:
但是,LSTM有两个缺点:首先LSTM不容易在训练过程中并行化;其次因为它们具有周期性,它们可以建模的序列宽度是有限制的。
打开的世界
RNN是序列模型,也就是说词组是按次序处理的。并且,可以并行处理所有的词组。
2017年,微软在论文《IsAllYouNeed》中推出,这是NLP生态系统的里程碑式的进步。这个新模型通过提出多头注意力机制来深入研究注意力,具体表现在:
但是,没有使用LSTM,虽然在提取上下文信息很重要的第一层(LSTM可能很有用),提出了一种不同的机制,称为位置编码。这阐明了两类模型之间的主要区别:RNN是序列模型,这意味着词组是按次序处理的;但并行处理所有词组,这大大降低了训练时间。
从那之后,成为研究语言处理的基础,并形成了新的变体。变体如右图2所示:
图2:开源的系列
不能被遗忘的时间序列
LSTM和都十分擅长对序列信息进行建模。为此,它们也可以应用于时间序列预测(TSF)案例。
传统统计方式博得第一轮
但是,实验结果表明,LSTM和在确切度方面并非一定优于传统统计方式(比如ARIMA)。另一方面,统计方式和基于RNN的方式相结合更有效。一个典型的事例是Uber建立的ES-RNN模型,该模型最终博得了M4大赛。该模式是一种在扩张的LSTM之上使用指数平滑的混和模型。
其实,也遭到了考验。对于时间序列预测,最常用的方式是使用原始的,并将位置编码层替换为层。并且,模型也难以赶超统计技巧。
据悉,我还想说明以下几点:
其实,就预测能力而言,ML方式并不总是优于统计方式。
深度学习(DL)博得第二轮
直至2018~2019年,深度学习模型才开始在时间序列预测任务中显得更具竞争力。
右图3和图4显示了两个SOTA模型,分别为微软的(TFT)和亚马逊的。
TFT。图源:
图源:模型构架。图源:
这两个模型有好多有趣的地方,但与本文主题形成共鸣的最重要一点是:
它们都使用了LSTM!如何做到的呢?
TFT是一种用于时间序列的多层纯深度学习模型,该模型具有LSTM编码器-解码器以及提供有可解释预测的全新注意力机制。
是一个复杂的时间序列模型,它结合了自回归和深度学习的特点。上图4中的h_i,t向量实际上是LSTM单元的隐藏状态,它们被拿来估算高斯分布的μ和σ参数。从这个分布中,选择n个样本,其中位数代表预测值。
结果表明,这两种深度学习模型都优于传统的统计方式。据悉,这两种模型都愈发通用,由于它们可以处理多个时间序列并接受更丰富的功能集,其中TFT略胜一筹。
循环与注意力怎么关联上去
为了学习不同尺度的时序关系,TFT使用循环层进行局部处理,使用可解释的自注意力层进行常年依赖。考虑到我们目前所晓得的以及上文所述,可以得出以下推论:循环网路十分擅长捕捉序列的局部时间特点,而注意力则更擅长学习常年动态。
这不是一个轻率的推论。TFT论文的作者通过执行消融剖析证明了这一点。她们在其他组件中测试了LSTM编码器-解码器层:在消融实验中使用原始的标准位置编码层来替换它,得出了以下两个推论:
序列到序列层的使用对模型性能形成增益;在执行基准测试的5个数据集中的4个,LSTM层实现了更佳的性能。
因而,我们可以有掌握地得出推论:LSTM层一直是时间序列深度学习模型中的一个特别有用的组件。据悉,它们不会对抗注意力机制,相反可以与基于注意力的组件相结合,进一步提升模型的效率。
LSTM的隐藏优势:条件输出
条件输出是LSTM最被忽略的优势之一,许多数据科学从业者依然没有意识到这一点。假如你仍然在用原始循环网路,都会发觉这种类型的网路只能处理被表示为具有各类依赖关系的序列的时序数据。并且,它们不能直接对静态元数据或非时变数据进行建模。
在NLP中,静态元数据是不相关的。相反,NLP模型专注于词组词汇表,其中每位词组都由嵌入表示,这是整个模型的统一概念。每位词组所来自文档的类型并不重要,只要NLP模型可以学习每位词组的正确上下文感知表示即可。但要记住:一个特定的词组可以有不同的嵌入,这取决于它的涵义和它在语句中的位置。
然而,在时间序列模型中,非时变数据的影响要大得多。诸如,假定我们有一个涉及商店产品的销售预测场景,产品的销量可以建模为时间序列,但也会遭到周末等外部诱因的影响。因而,一个好的预测模型也应当考虑这种变量。这就是TFT所做的,参见右图5。
图5:外部静态变量对预测的影响。
然而,TFT是怎样实现的呢?TFT专为集成静态元数据而设计,它使用了各类技术,最重要的一个与LSTM有关。
LSTM使用[11]中首次介绍的方法无缝地执行此任务:没有将LSTM的初始h_0隐藏状态和单元状态c_0设置为0(或随机),而是使用指定向量或嵌入来初始化它们。或则正如TFT所做的一样,在拟合期间使这种向量可训练。通过这些方法,LSTM单元的输出可以适当地在外部变量上发挥作用,而不会影响其时间依赖性。
LSTMvsTCN
在注意力和出现之前,有另一种有望改变现况的模型,即时间频域网路(,TCN)。
TCN在2016年首次提出并在2018年规范化,它借助频域网路对基于序列的数据进行建模。自然地,它们也是时间序列预测任务的理想方案。
扩张频域示意图,其中过滤器大小k=3,扩张因子d=1,2,4。体会野可以覆盖来自输入序列的所有数据点x_0...x_T。图源:
TCN的「秘密装备」是扩张频域,如上图6所示。标准CNN使用固定大小的内核/过滤器,因而它们只能覆盖毗邻的数据元素。TCN使用扩张频域,它们在不同厚度的输入序列上使用填充(),因而才能测量彼此毗邻但位置完全不同的item之间的依赖关系。
据悉,TCN中还使用了其他技术,比如方差联接,它如今已然成为深度网路的标准。这儿主要关注LSTM与TCN之间的差别:
TCN和LSTM都有各自的异同点。最好的方式是对它们进行评估,找到最适宜自己的方案。但要注意,除非你的用例特别小,否则难以通过单个TCN或LSTM模型实现SOTA性能。现代用例会考虑更多外部参数,这就须要更具挑战性的技巧。反过来,这也就意味着必须使用多个组件或模型。
中的深度学习和时间序列
到目前为止,我们仍然在从学术角度评估单个模型。但是,假如我们要制订一个更详尽的观点,就不能忽视实际应用。
提供了一个挺好的评估基准,我们以赛事为例:呼吸机压力预测。该赛事任务是依照控制输入的序列预测机械肺部的压力序列。
这场赛事之所以具有挑战性量子物理学基础知识网络图,有三个诱因:
现今,有两个比较有趣的地方介绍一下:第一个是排行前三的团队以及其他许多团队在她们的最终解决方案中起码使用了一个基于LSTM的组件(比如LSTMS,单向LSTMS)。
取胜团队递交了一个多层次深度构架,其中包括一个LSTM网路和一个块。此构架如图7所示:
图7:第一名解决方案构架。
频域神经网路的命运
我希望这篇文章对LSTM的价值做出了挺好的论证。并且毫无疑惑是机器学习领域一个惊人突破。这些突破性的成功将会推动未来更高级别的研究。
2020年,被改编为计算机视觉版,诞生了(ViT),论文《AnImageisWorth16x16Words:forImageatScale》中提出。这篇论文引起了进一步的研究,最终经过不断的升级,ViT模型还能在图象分类任务中优于CNN。
为此,这个阶段,我希望我们不要再说「CNN早已死亡」或者「CNN正在没落」这样的评价。
总结来讲,本文可以总结为以下几点:
原文链接:
