LSTM(长短期记忆)死了吗?

机器算法验证 机器学习 自然语言 lstm 序列分析
2022-01-23 13:53:42

根据我自己的经验,LSTM 的训练时间很长,并且在许多现实世界的任务中并没有显着提高性能。

为了使问题更具体,我想问一下 LSTM 何时会比其他深度 NN 工作得更好(可能是现实世界的例子)?我知道 LSTM 捕捉数据中的顺序关系,但真的有必要吗?

大多数相关主题的演示都是毫无意义的。他们只关注玩具数据,例如 IMDB 审查,其中简单的逻辑回归将获得非常好的结果。我看不到使用 LSTM 的任何价值,它具有巨大的计算成本但边际改进(如果有的话)。

即使有了这些玩具示例,我也没有发现 LSTM 可以很好地解决但其他模型不能解决的任何好的用例。

4个回答

也许。但 RNN 不是

变形金刚学习“伪时间”关系;它们缺乏 RNN 所具有的真正循环梯度,因此提取了根本不同的特征。例如,本文表明标准转换器在强化学习设置中难以优化,尤其是在内存密集型环境中。然而,他们最终设计了一个超越 LSTM 的变体。

哪里还需要 RNN?

长记忆任务。很长的记忆。IndRNN显示出能够记住 5000 个时间步长的能力,而 LSTM 几乎无法管理 1000个。Transformer的时间复杂度是二次的,而 RNN 是线性的,这意味着即使是 5000 个时间步长的单次迭代也能顺利处理。如果这还不够,最近的Legendre 内存单元已经展示了高达512,000,000 个时间步长的内存;我不确定世界上顶级的超级计算机能否将生成的 1E18 张量放入内存中。

除了强化学习之外,信号应用也需要内存——例如语音合成、视频合成、癫痫分类。虽然 CNN 在这些任务上取得了很大的成功,但许多都利用了插入到后面层的 RNN;CNN 学习空间特征,RNN 学习时间/循环。一篇令人印象深刻的 2019 年论文网络设法从仅5 秒的样本中克隆出说话者的声音,并且它使用了 CNNs + LSTMs。

内存与功能质量

一个不保证另一个;“质量”是指给定任务的信息效用。例如,对于 50 个单词的句子,模型 A 的分类可能优于模型 B,但在 100 个单词时会显着失败,而 B 不会有任何问题。这种确切的现象在最近的双稳态循环细胞论文中得到了说明,其中细胞对较长的序列表现出更好的记忆,但在较短的序列上却被 LSTM 超越。直觉是,LSTM 的四门网络允许更好地控制信息路由,从而更丰富的特征提取。

LSTM 的未来?

我最可能的赌注是,某种形式的增强——比如双稳态循环单元,可能需要注意和循环归一化(例如LayerNormRecurrent BatchNorm)。BRC 的设计基于控制理论,LMU 也是如此;这样的架构可以自我规范化,还有很大的创新空间。最终,RNN 不能被非循环架构“取代”,因此在一些需要明确循环特征的任务上表现出色。

循环变压器

如果我们不能消除重复,我们就不能以某种方式将它与变形金刚结合起来吗?的:通用变形金刚不仅存在重复,而且支持可变输入序列,就像在 RNN 中一样。作者甚至认为 UT 是图灵完备的。这是否属实我还没有验证,但即使是这样,也不能保证完全利用这种能力的实际能力。

奖励:它有助于可视化 RNN 以更好地理解和调试它们;你可以使用我的一个包See RNN (包括漂亮的图片)查看它们的权重、梯度和激活。


2020 年 6 月 29 日更新:新论文重新设计了变换器,使其在时间维度上运行,具有线性、O(N)、复杂性:变换器是 RNN不过请注意标题;来自第 3.4 节:“我们考虑时间而不是深度的重复”。所以它们是一种RNN,但仍然不同于“传统”的。我还没有读过它,似乎很有希望;这里有一个很好的视频解释

你现在问的问题很有趣,因为就在今天我看到了 Wang、Khabsa 和 Ma (2020) To Pretrain or Not to Pretrain的一篇论文,他们表明如果你有足够大的训练集,那么两者之间的性能差异会很大, “SOTA”模型(RoBERTa),LSTMs 对于 NLP 任务来说很小。Merity (2019) Single Headed Attention RNN最近的另一篇论文显示了类似的结果,摘要值得全文引用

语言建模的主要方法都是痴迷于我年轻时的电视节目 - 即变形金刚和芝麻街。变形金刚这个,变形金刚,以及这里的 GPU-TPU-神经形态晶片级硅的篝火。我们选择了旧的和经过验证的技术的懒惰路径,并带有一个奇特的加密启发首字母缩略词:单头注意力 RNN (SHA-RNN)。作者的唯一目标是表明,如果我们沉迷于略有不同的首字母缩写词和略有不同的结果,整个领域可能会朝着不同的方向发展。我们采用以前仅基于无聊的 LSTM 的强大语言模型,并将其与 enwik8 上最先进的字节级语言模型结果相距甚远。这项工作没有经过密集的超参数优化,并且完全生活在一台商用台式机上,这使得作者的小型工作室公寓在旧金山的夏天变得过于温暖。由于作者不耐烦,因此在单个 GPU 上可以在正负 24 小时内实现最终结果。注意机制也很容易扩展到具有最少计算的大型上下文。以芝麻街为例。

我认为没有太多要补充的。

这是Abnar、Dehghani 和 Zuidema(2020 年)通过知识蒸馏转移归纳偏差的最新论文中的另一个示例

然而,一些研究表明,在需要对(语言)结构敏感的任务上,LSTM 比 Transformer 表现得更好,尤其是在数据有限的情况下 [ 37 , 6 ]。这主要是由于 LSTM 反复出现的归纳偏差有助于它们更好地模拟输入的层次结构。

因此作者展示了从 LSTM 中提取信息如何对 Transformer 模型产生积极影响。这是 LSTM 和一般 RNN 的许多示例中的另一个,它们被用于特定类别的问题并且表现良好。当然,它们有局限性,但对于语言来说,它们是标准模型,在每门 NLP 课程(如斯坦福的 CS224n)中都有讲授,并且在每本关于该主题的现代手册中都提到过。上面的例子集中在语言数据上,因为在这个领域这个模型非常流行,当然它也成功地应用于其他类型的时间序列数据,正如其他答案中提到的那样。

我们小组最近在现实世界的应用程序中构建了一个 LSTM 模型。起初我们使用了其他方法,但后来我们决定包含随时间测量但长度可变的特征 - 所以对于一个人,我们将在 3 个月的时间内进行 15 次测量(相同参数) ,另外,我们将在 2 个月内进行 20 次测量,依此类推。其他特征每人出现一次,例如性别。

在这种情况下,标准时间序列方法被证明是不可用的,因为它们希望我们每人有相同数量的测量值,以相等的间隔进行。LSTM 允许我们使用可变长度测量值与每人一次测量值相结合,建立一个模型来预测一个人是否会发生某个事件。

我们还将我们的模型与一个更简单的回归模型进行了比较,该模型每个时变参数仅使用一个值(我忘记了它是什么,可能是一段时间内的平均值),以及一个使用每个人每个时变特征的三个测量值并处理它们作为自变量的测量值。LSTM 模型比这两个模型具有更好的准确性,特别是对于发生事件的那类人。

我知道这只是一个反例,LSTM 并不是处理这种情况的唯一算法 - 但是你提出问题的方式适合反例,如果我们不这样做,统计/机器学习将是一个贫困领域有不同的工具可供选择。

LSTM 是一种统计方法。它不是活的,所以它不可能是死的。不过它可能很有用。任何统计方法都是盒子里的另一个工具。如果一个不起作用,最好有一个替代方案。

LSTM 适用于上下文很重要的语言识别任务。它也适用于预测时间序列。M4 比赛LSTM 赢得。

如果它没有用,就不会有大量的研究致力于它。然而,据我所知,没有证据表明 LSTM 在某种意义上不如任何其他方法,即 LSTM 能够解决的问题类别小于逻辑回归等。