Attention is All You Need?LSTM提出者:我看未必

Transformer 中的注意力机制等价于一种 Hopfield 网络中的更新规则?LSTM 提出者 Sepp Hochreiter 等人在最近的一篇论文中表达了这种观点,并将这篇论文命名为《Hopfield Networks is All You Need》。

深度学习先驱、图灵奖获得者 Yann LeCun 一直认为无监督学习才是通向真正人工智能的方向。为了实现无监督学习,我们需要探索基于能量的学习(energy-based learning)。这个方向在 AI 领域里已经存在几十年了,生物学家约翰 · 霍普菲尔德(John Hopfield)于 1982 年将之以 Hopfield Network 的形式进行了推广。这在当时机器学习领域中是一个突破,它推动了其他学习算法的发展,如 Hinton 的「玻尔兹曼机」。


「基于能量的学习已经存在了一段时间,最近一段时间里,因为寻求更少监督的方法,它重新回到了我的视野中。」Yann LeCun 在 2019 年 10 月于普林斯顿大学的演讲中说道。

深度学习领军人物给未来 AI 方向的预测让我们对 Hopfield 网络这一「古老」事物燃起了兴趣,无独有偶,最近一群研究者又告诉我们:NLP 领域里大热的 Transformer,其网络更新规则其实是和 Hopfield 网络在连续状态下是相同的。

于是,一篇标题也要对标 Transformer 论文的《Hopfield Networks is All You Need》诞生了。


2018 年,谷歌的一篇论文引爆了 NLP 学界。在这篇论文中,研究者提出了一种名为 BERT 的模型,刷新了 11 项 NLP 任务的 SOTA 记录。众所周知,BERT 之所以能取得如此成功,很大程度上要归功于其背后的 Transformer 架构。

2017 年,谷歌在《Attention is All You Need》一文中提出了 Transformer。自提出以来,它在众多自然语言处理问题中取得了非常好的效果:不但训练速度更快,而且更适合建模长距离依赖关系。

目前,主流的预训练模型都是以 Transformer 模型作为基础进行修改,作为自己的特征抽取器。可以说,Transformer 的出现改变了深度学习领域,特别是 NLP 领域。

为什么 Transformer 如此强大?这还要归功于其中的注意力机制注意力机制在 NLP 领域的应用最早可以追朔到 2014 年,Bengio 团队将其引入神经机器翻译任务。但那时,模型的核心构架还是 RNN。相比之下,Transformer 完全抛弃了传统的 CNN 和 RNN,整个网络结构完全由注意力机制组成,这种改变所带来的效果提升也是颠覆性的。

但最近的一项研究表明,Transformer 中的这种注意力机制其实等价于扩展到连续状态的 modern Hopfield 网络中的更新规则。论文作者来自奥地利林茨大学、挪威奥斯陆大学等机构,与 Jürgen Schmidhuber 合著 LSTM 的 Sepp Hochreiter 也是作者之一。


Hopfield 网络是一种 RNN 模型,由 John Hopfield 于 1982 年提出。它结合了存储系统和二元系统,保证了向局部极小值的收敛,但收敛到错误的局部极小值而非全局极小值的情况也可能发生。Hopfield 神经网络对上世纪 80 年代初神经网络研究的复兴起到了重大作用。

1987 年,贝尔实验室在 Hopfield 神经网络的基础上研制出了神经网络芯片。2016 年和 2017 年,Hopfield 等人又改进了这一网络(即下文中的 modern Hopfield 网络 )。

在林茨大学和挪威奥斯陆大学的这篇论文中,研究者提出了一种新的 Hopfield 网络,将 modern Hopfield 网络从二元模式扩展到了连续模式,并表明这些新 Hopfield 网络的更新规则(update rule)等价于 Transformer 中的注意力机制

这种带有连续状态的新 Hopfield 网络保留了离散网络的特点:指数级的存储容量和极快的收敛速度。

在发现新 Hopfield 网络更新规则与 Transformer 注意力机制的等价性之后,研究者利用这一发现分析了 BERT 等基于 Transformer 的模型。他们发现,这些模型有不同的运行模式,而且更加倾向于在较高的能量最小值下运行,而后者是一种亚稳态(metastable state)。

这篇论文在 Twitter、Reddit 等平台上引发了广泛的讨论。


知名 Youtube 博主、苏黎世联邦理工学院博士生 Yannic Kilcher 还针对该论文进行了解读,相关视频播放量两天内就超过了一万次。

视频地址:https://www.youtube.com/watch?v=nv6oFDp6rNQ&feature=youtu.be


以下是论文的详细内容。

Hopfield Networks is All You Need

深度学习社区一直在寻找 RNN 的替代方案,以解决信息存储问题,但大多数方法都是基于注意力的。Transformer 和 BERT 模型更是通过注意力机制将模型在 NLP 任务中的性能推到了新的水平。

这项研究表明,Transformer 中的注意力机制其实等价于扩展到连续状态的一种 modern Hopfield 神经网络的更新规则。这个新的 Hopfield 网络能够实现模式存储的指数级提升,一次更新即可收敛,并且检索误差也呈现指数级下降。存储模式的数量与收敛速度和检索误差之间存在必然的权衡。

研究者提出的新 Hopfield 网络有三种类型的能量最小值(更新的固定点):

1)所有模式上的全局固定点平均值;
2)模式子集上的亚稳态平均值;
3)存储单个模式的固定点。

Transformer 通过构建一个模式嵌入和关联空间的查询来学习注意力机制。在最初几层,Transformer 和 BERT 模型倾向于在全局平均机制下运行,但在更高层则倾向于在亚稳态下运行。Transformer 中的梯度在亚稳态机制中最大,在全局平均时均匀分布,在固定点临近存储模式时消失。

基于 Hopfield 网络的解释,研究者分析了 Transformer 和 BERT 架构的学习。学习开始于注意力头(attention head),它们最初平均分布,然后其中的大部分转换为亚稳态。但是,前几层中的注意力头大多依然平均分布,并且可以被研究者提出的高斯权重等平均运算取代。

相比之下,最后几层中的注意力头稳定地学习,而且似乎利用亚稳态来收集较低的层创建的信息。这些注意力头似乎就是改进 Transformer 的潜在目标。

集成 Hopfield 网络的神经网络(等同于注意力头)在免疫组库分类任务中的性能优于其他方法,其中的 Hopfield 网络可以存储数十万个模式。研究者提出了一种名为「Hopfield」的 PyTorch 层,借助 modern Hopfield 网络来改进深度学习。这是一种包含池化、记忆和注意力的强大新概念。


  • 论文地址:https://arxiv.org/pdf/2008.02217.pdf

  • 项目地址:https://github.com/ml-jku/hopfield-layers


连续状态 Modern Hopfield 网络的新能量函数和更新规则

在论文中,研究者提出了一个新的能量函数,它是在 modern Hopfield 网络能量函数的基础上做出的改进,以使其扩展到连续状态。改进之后,新的 modern Hopfield 网络可以存储连续模式,还能保持二元 Hopfield 网络的收敛和存储能力。经典 Hopfield 网络不需要约束自身状态向量的范数,因为这类网络是二元的,且具有固定长度。

此外,研究者还提出了一个新的更新规则,它被证明可以收敛至能量函数的稳定点(局部最小值或鞍点)。他们还证明,一个与其他模式实现良好分离的模式可以通过一步更新被检索到,同时还能实现指数级的误差下降。

下图 1 展示了二元 modern Hopfield 网络、研究者提出的连续状态 Hopfield 网络、新更新规则和 Transformer 之间的关系。


通过使用 negative 能量的对数并添加一个确保状态向量ξ的范数受限的二次项,研究者将这个能量函数泛化至连续值模式。他们证明,这些改动保持了 modern Hopfield 网络的指数级存储能力优势以及单次更新即可收敛的属性,具体可见上图 1。

研究者将这个新颖的能量函数 E 定义如下:


其中,。研究者用 p = softmax(βX^T ξ)定义了一个新的更新规则,公式如下:


接下来,他们又证明了更新规则公式 (3) 具有全局收敛性。

连续状态 Hopfield 网络的更新规则就是 Transformer 中的注意力机制

研究者认为,连续状态 Hopfield 网络中的更新规则就是 Transformer 和 BERT 中使用的注意力机制。为此,他们假设模式 y_i 映射到维度 d_k 的 Hopfield 空间。研究者令并将更新规则结果与 W_V 相乘。

矩阵结合 y_i,作为行向量。研究者分别将矩阵 X^T 和 V 定义为


其中对于结合矩阵 Q、和 softmax ∈ R^N 中变成行向量的所有查询,研究者将更新规则公式 (3) 乘以 W_V,得到的结果如下:

这个公式就是 Transformer 的注意力机制

Transformer 和 BERT 模型分析

Transformer 和 BERT 模型的运算类别

通过对注意力机制的理论分析,研究者提出了以下三种固定点:a)如果模式 x_i 没有实现良好的分离,那么迭代转向靠近向量算数平均值的固定点,即全局固定点;b)如果模式彼此之间实现良好的分离,则迭代靠近模式。如果初始ξ类似于模式 x_i,则它将收敛至接近 x_i 的向量,p 也将收敛至靠近 e_i 的向量,研究者称之为靠近单个模式的固定点;c)如果一些向量彼此之间类似并与其他所有向量实现良好的分离,则类似向量之间存在着所谓的亚稳态。开始时靠近亚稳态的迭代收敛至这个亚稳态。

研究者观察到,Transformer 和 BERT 模型都拥有包含以上三种固定点的注意力头,具体如下图 2 所示:


从上图 2 可以看到,较低层中的很多注意力头在 class (I)中运行。

较低层中的注意力头执行平均运算

如下图 3d 所示,困惑度是根据改动层的数量绘制的(第一层的困惑度最低)。红线表示初始模型的困惑度。研究者发现,较低层中性能受影响的程度低于较高层,并且在第一层几乎不受影响。这表明,第一层的注意力头可以被基于平均运算的非注意力头所取代。


基于这些分析,研究者用高斯权重替换了第一层的注意力头,其中高斯函数的均值和方差可以学得。所以,他们得到了一个位置高斯权重平均方案,其中每个 token 仅有两个参数,而没有注意力头。

此外,注意力头总是执行相同的平均运算,而与输入无关。研究者采用的高斯权重类似于随机合成器头(random synthesizer head),其中注意力权重可以直接学得。

后几层的注意力头在中等亚稳态下运行,而且看起来对于 BERT 非常重要

如上图 2 所示,研究者发现后几层(第 10、11 和 12 层)中的注意力头主要在 class III 状态下运行。

为了研究这些层,研究者像以往一样以平均值运算替换注意力头。与前几层和中间层执行相同的操作相比,模型的性能下降要明显得多,具体如上图 3d 所示。

在更新到大约 9000 次时,损失函数曲线出现剧烈下滑(如上图 3a 蓝线所示),这与注意力头转向其他类是一致的。相比之下,后几层的注意力头在下降之后依在学习(如上图 3c 所示),并且更靠近 class (III)。

最后,层归一化与 modern Hopfield 网络中最重要参数的调整高度相关。研究者将β认定为固定点以及注意力头运算模式的一个关键参数

Hopfield 网络由β、M(最大模式范数)、m_max(类似模式的传播)和 ‖m_x‖(类似模式的中心)共同决定。β的较低值诱导全局平均值和更高的β亚稳态值。调整β或 M 等同于调整层归一化的(逆)增益参数。所以,层归一化控制了 Hopfield 网络最重要的几个参数:β、M、m_max 和 ‖m_x‖。

实验

在实验部分,研究者证实在免疫组库分类和大规模多实例学习中,modern Hopfield 网络可以被视为类似于 Transformer 的注意力机制。原文中定理 3 表明,modern Hopfield 网络具有指数级存储能力,从而可以解决免疫库分类等大规模多实例学习问题。研究者通过大规模对比研究证实了 modern Hopfield 网络的有效性。

此外,研究者还提供了一个新 Hopfield 层的 PyTorch 实现,从而可以将 Hopfield 网络作为一种新颖的记忆概念加入到深度学习架构中。新的 Hopfield 层能够关联两个向量集合。这种通用的功能性可以实现类似于 Transformer 的自注意力、编码器 - 解码器注意力、时序预测(可能使用位置编码)、序列分析、多实例学习、点集学习、基于关联的数据源组合、记忆构建以及运算求平均值和池化等等。

具体来说,新 Hopfield 层能够轻易地作为池化层(最大池化或平均池化)、排列等变层、GRU&LSTM 层以及注意力层等现有层的 plug-in 替代。新 Hopfield 层基于连续状态的 modern Hopfield 网络,这些网络具有极强的存储能力以及一次更新即可收敛的能力。

参考内容:
https://www.zdnet.com/article/high-energy-facebooks-ai-guru-lecun-imagines-ais-next-frontier/

理论LSTMHopfield网络注意力机制谷歌Transformer
1
相关数据
Sepp Hochreiter人物

Sepp Hochreiter 是一名德国计算机科学家。 1991 年,Sepp Hochreiter 发表了德语论文,探讨了循环神经网络的梯度随着序列长度增加倾向于消失或爆炸。与 Yoshua Bengio 的相关工作几乎同时,并且开发了 LSTM 的雏形。

相关技术
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

范数技术

范数(norm),是具有“长度”概念的函数。在线性代数、泛函分析及相关的数学领域,是一个函数,其为向量空间内的所有向量赋予非零的正长度或大小。半范数反而可以为非零的向量赋予零长度。

池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

神经机器翻译技术

2013 年,Nal Kalchbrenner 和 Phil Blunsom 提出了一种用于机器翻译的新型端到端编码器-解码器结构 [4]。该模型可以使用卷积神经网络(CNN)将给定的一段源文本编码成一个连续的向量,然后再使用循环神经网络(RNN)作为解码器将该状态向量转换成目标语言。他们的研究成果可以说是神经机器翻译(NMT)的诞生;神经机器翻译是一种使用深度学习神经网络获取自然语言之间的映射关系的方法。NMT 的非线性映射不同于线性的 SMT 模型,而且是使用了连接编码器和解码器的状态向量来描述语义的等价关系。此外,RNN 应该还能得到无限长句子背后的信息,从而解决所谓的「长距离重新排序(long distance reordering)」问题。

自注意力技术

自注意力(Self-attention),有时也称为内部注意力,它是一种涉及单序列不同位置的注意力机制,并能计算序列的表征。自注意力在多种任务中都有非常成功的应用,例如阅读理解、摘要概括、文字蕴含和语句表征等。自注意力这种在序列内部执行 Attention 的方法可以视为搜索序列内部的隐藏关系,这种内部关系对于翻译以及序列任务的性能非常重要。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

最大池化技术

最大池化(max-pooling)即取局部接受域中值最大的点。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

玻尔兹曼机技术

玻尔兹曼机(Boltzmann machine)是随机神经网络和递归神经网络的一种,由杰弗里·辛顿(Geoffrey Hinton)和特里·谢泽诺斯基(Terry Sejnowski)在1985年发明。玻尔兹曼机可被视作随机过程的,可生成的相应的Hopfield神经网络。它是最早能够学习内部表达,并能表达和(给定充足的时间)解决复杂的组合优化问题的神经网络。但是,没有特定限制连接方式的玻尔兹曼机目前为止并未被证明对机器学习的实际问题有什么用。所以它目前只在理论上显得有趣。然而,由于局部性和训练算法的赫布性质(Hebbian nature),以及它们和简单物理过程相似的并行性,如果连接方式是受约束的(即受限玻尔兹曼机),学习方式在解决实际问题上将会足够高效。它由玻尔兹曼分布得名。该分布用于玻尔兹曼机的抽样函数。

特征抽取技术

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

长距离依赖技术

也作“长距离调序”问题,在机器翻译中,比如中英文翻译,其语言结构差异比较大,词语顺序存在全局变化,不容易被捕捉

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

层归一化技术

深度神经网络的训练是具有高度的计算复杂性的。减少训练的时间成本的一种方法是对神经元的输入进行规范化处理进而加快网络的收敛速度。层规范化是在训练时和测试时对数据同时进行处理,通过对输入同一层的数据进行汇总,计算平均值和方差,来对每一层的输入数据做规范化处理。层规范化是基于批规范化进行优化得到的。相比较而言,批规范化是对一个神经元输入的数据以mini-batch为单位来进行汇总,计算平均值和方法,再用这个数据对每个训练样例的输入进行规整。层规范化在面对RNN等问题的时候效果更加优越,也不会受到mini-batch选值的影响。

时序预测技术

时序预测(时间序列预测)是预测时间序列未来值(以及不确定性的边界)的任务。

推荐文章
暂无评论
暂无评论~