Press "Enter" to skip to content

Enjoy Hamburger:注意力机制比矩阵分解更好吗?(I)

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

本文以Hamburger为出发点,对深度学习中 如何建模“全 局 信息 ” 、“全局信息”如何改善了 表示的质量 、如何训练以 优化算法作为网络结构的隐式模型 等话题进行探讨。

 

Hamburger的原始论文《 Is Attention Better Than Matrix Decomposition?  》 以 top 3% 的分 数被 ICLR 2021 接收。

 

本系列 上篇 探讨了憨憨模型的对建模全局信息的抽象,借助矩阵分解建立了憨憨模型的网络结构; 中篇 则着重探讨了如何针对矩阵分解的优化算法以及更广义的隐式模型计算实际可用的梯度,并展示了实验结果;而在 下篇 中,我们将结合探究实验,对“全局信息”如何改善了表示的质量进行反思,从而获得更广的视野。

 

 

论文链接:

 

https://openreview.net/forum?id=1FvkSpWosOl

 

代码链接:

 

https://github.com/Gsunshine/Enjoy-Hamburger

 

一、引言

 

作为深度学习的基础模块,注意力机制 [1][2] 在过去的5年中受到了极大的关注。它被认为是在神经网络中提供了全局信息建模。基于注意力机制的Transformer [3] 在自然语言处理 [4][5] 和计算机视觉 [6][7] 中均取得了令人赞叹的实践成果。研究社区对设计更加高效和强大的注意力机制 [8][9][10][11][12][13] 充满兴趣,解释注意力机制 [14][15][16] 也成为一个值得研究的问题。

 

然而,注意力机制真的如我们预想的一样强大吗?它的有效性来源于哪里呢?我们对它的底层机制仍然所知甚少——研究者打出“Attention is not all you need.”的口号 [17] ,直指纯粹的注意力机制并非像大家认为的那样强大,并将注意力机制与skip connection以及FFN协作视为更加重要的原因。

 

本文绕开了直接针对现有注意力机制进行结构设计和理论分析。 我们假设注意力机制可能不是最优的,可能并不能本质地反映注意力的motivation 。因而,我们试图为注意力提供一个“ 参考坐标 ”。这个“参考坐标”应当是基于第一性原理设计的,从建模全局信息的角度进行假设并推导得出的。当以实践作为准绳的时候,它至少应与注意力机制旗鼓相当。虽然它与注意力享有共同的motivation,但我们并不断言任何它与注意力的等价性或者借由它解释已有的注意力——只是在一面铜镜中,我们试图看见自己。

 

简言之,我们找到的“参考坐标”是矩阵分解模型及其优化算法。一个令人印象深刻的观察是,注意力机制并不比20多年前的矩阵分解更优——仅是性能相当,但后者的计算和内存开销更低。

 

在寻找这个坐标系的过程中,我们发展了一些直觉,用于形式化地刻画注意力机制的“全局信息”建模,进而导出了一种具有一般性的全局信息模块的设计策略。我们将建模全局信息抽象为低秩矩阵恢复的数学模型,将全局信息假设为低秩矩阵,并将求解该类问题的优化算法作为神经网络的结构。当我们解决棘手的梯度和优化问题之后, 我们的策略可以设计一系列在实践中有效的模型作为注意力机制的“参考坐标”——汉堡模型 ,Hamburger。或取其英文谐音,称为憨憨模型,如其中文名的含义,简单且平凡。

 

 

简单且平凡的方法可以有强大的性能。 轻量化的憨憨模型在注意力机制建模全局信息具有决定作用的语义分割及大规模图像生成中展现出优异的性能 ,在PASCAL VOC和PASCAL Context获得state-of-the-art的成绩,并在ImageNet规模的图像生成中表现出相对于注意力机制的优势。

 

汉堡美味,请君一尝。

 

二、回顾

 

我们首先回顾矩阵分解的和注意力机制的思想,然后介绍憨憨模型。我们希望在形式化的描述之外提供更多直觉,帮助读者理解我们方法的动机,以及作为“参考坐标”的意义。

 

1. 矩阵分解

 

一种常见的理解矩阵分解的方式是,矩阵分解将给定的矩阵分解为一组子矩阵的乘积,如奇异值分解(SVD)。而另一种可能更有启发性的看法是,当我们假设了给定矩阵的生成过程,矩阵分解作为生成的逆过程,将数据拆解为原子项,摒弃噪声和污染,从而恢复数据的潜在结构。

 

如果把给定的数据按列组织为矩阵 。一个常见的假设是 的有效信息实际嵌入在一个低维子空间或者多个子空间的并中。进而,我们考虑一个字典矩阵 和对应的编码 从而将 的生成过程和对应的分解描述为

 

 

其中 是矩阵分解复原的低秩矩阵, 是噪声矩阵。我们进一步可以假设恢复的矩阵 是低秩的,即

 

当我们针对 ,  和 假设不同的结构或者先验信息时,可以进一步推出不同的矩阵分解模型,而这些矩阵分解模型也对应不同的求解算法。经典矩阵分解模型的应用包括图像去噪 [18] 、图像补全 [19] 等。

 

2. 注意力机制

 

一种概括性的说法 [20][21] 是,注意力机制旨在从海量的无意识语境中找到一组概念进行进一步的有意识推理。作为其代表,Transformer提出了使用自注意力机制学习机器翻译中的长程依赖关系:

 

 

其中, 是对输入进行线性变换得到的特征。自注意力机制通过一次性关注所有token来提取全局信息,而非典型的循环神经网络(RNN)中逐个处理token。

 

自Transformer正式提出以来,注意力机制在自然语言处理和计算机视觉中获得了广泛的使用。然而,我们对注意力机制有效的深层原因还所知甚少。一种常见的观点 [3] 是,注意力机制建模了表示中的全局信息,因此优于卷积神经网络和循环神经网络。

 

三、正文

 

诚然,注意力及其变体取得了巨大的成功,它给我们留下了这样两个问题:

 

[1]. 开发基于注意力机制的新的全局信息模块,通常是借助辛苦的手工设计;

 

[2]. 从理论层面解释已有注意力机制的有效性。

 

本文的憨憨模型试图解决这两个问题吗?不,我们实际上是绕过了这两个问题。

 

本文试图从第一性的视角去重新审视注意力机制 。换言之,我们试图借助“假设->建模->求解->验证”的路线,从建模全局信息的motivation出发,建立模型并求解,最后通过验证看看假设是否正确,背后的本质原因是什幺。并且,根据Occam准则:“如无必要,勿增实体”,我们希望这一过程保持一定的简洁与抽象。

 

就像参加数学建模比赛,我们会有一些基础的假设,在这些假设之上,我们会建立一个数学模型。它可能是一组偏微分方程,也可能是一个概率图,或者最简单地就是一个某种形式的优化问题。当我们求解的时候,我们会直接求闭解,或者使用数值方法,如优化算法、仿真或者采样。这是依据某些规则推导得出的,而非直接依赖于手工设计的。

 

在本文中,我们延续这样的逻辑,试图建立一些抽象和假设,并基于此设计优化模型,使得这个问题的解可以描述注意力机制的motivation,从而进一步将求解这个优化问题的算法当做神经网络的结构——求解过程自然产生了一个计算图,我们将它理解为神经网络的结构。

 

这样的想法是简单且平凡的,但是在state-of-the-art的深度学习模型中却不是非常常见。当我们谈论深度学习的时候,经常使用的语境是“学习某种要素”。我们会把神经网络的反向传播看作是学习,也就是追求泛化的优化问题,但相当少把神经网络的前向推理看做优化(或者数值解)。我们会为前向推理设计一些规则,也就是网络的结构,以期通过反向传播和随机优化得到的网络,可以从数据中学到我们期望的某种“要素”,或者具有某种“特性”。也许实验可以做通,但是我们并不清楚是否是这种“要素”起了作用,可能另有玄机。

 

将这番论断切换到注意力机制的语境中。 我们手工设计了一个可以在“全局”层面一次性联系所有token的模块:注意力机制 。我们看到注意力机制获得了强大的性能,并且通过可视化观察注意力中存在一些合理的相关性。因而我们得出结论,注意力机制建模了全局信息,建模全局信息是合理的、有效的,有助于下游任务。

 

那幺,

 

[1]. “全局信息”是什幺?

 

[2]. “全局信息”如何改善了表示的质量?

 

[3].  什幺是好的表示?

 

我们切换到“假设->建模->求解->验证”的逻辑,尝试回答第一个问题,并且对第二个问题作出一些猜测,以期启发第三个问题。我们将大部分叙述集中于第一个问题,包括本文的主要内容,在实验观察中对第二个问题作出一定猜测,并在最终的结论环节反思第三个问题。

 

针对表示中的“全局信息”,我们的假设是,“全局信息”应当是表示中低秩(low-rank)的部分。我们通过简单的分析来展示基于这个假设的建模,并且以受到ICLR reviewer点赞的例子进一步展示其insight。

 

以卷积神经网络为例进一步讨论。当我们输入图像后,网络会输出一个张量  。由于张量可以看作是一组 个 维的超像素,我们将张量展开为一个矩阵 。当模块学习长程依赖性或全局上下文时,隐藏的假设是“全局信息” 描述的超像素是内在相关的。进一步进行简化,我们假设超像素是线性相关的。这意味着 中的每个超像素都可以表示为一组基的线性组合,基的个数通常远小于 。在理想的情况下,表示 可以是低秩的(low-rank)。

 

低秩代表了这样的一种先验信息,即low-level的表示包含的相当有限的high-level概念,而且比表示本身的规模少得多。想象一下,在一幅图像中,一个人走在路上。由CNN提取的许多超像素将描述道路。而道路可以被认为是基本道路方格的重复,这意味着我们可以通过建模道路方格并重复来表示超像素中的道路(就如同你正在玩Minecraft)。在数学上,这相当于找到一组对应不同道路方格的字典 和一个描述道路方格和超像素之间的关系的系数矩阵 。当然,抛弃 和 的具体物理含义,而为它们假设一些数学结构,亦是可取的。

 

描述道路方格的超像素具有接近的语义属性,然而,由于vanilla CNN对全局上下文的建模能力较差,学习到的 通常会被噪声、冗余或者缺失 所破坏。想象一下,图像中的人戴着手套。当我们盖住其他部分,仅仅在局部看到手套时,我们认为这块区域在描述手套。但当我们考虑全局背景时,我们可以理解,手套是一个人的一部分。语义信息是分层次的,取决于我们希望在哪个层次上理解它。在这里,我们把从“全局信息”层面理解的冗余和不完整的信息,进一步建模为残差项 。

 

这些分析提示我们, 建模“全局信息”可以将表示 分解为两部分,即低秩的“全局信息” 和残差项 。我们将结构化的,全局层面相关的信息假设为低秩的,应当是相当直观的。但是直接作出低秩的假设,并不能帮助我们建立模型,因为表示中可能存在的低秩结构是难以穷举的。我们可以获得怎样的低秩结构作为“全局信息”,一方面取决于对低秩结构本身做的假设,或者另一方面取决于我们对低秩结构以外的残差项做的假设,即我们的数学模型。

 

进一步的,我们考虑将这个过程写成一个优化问题, 通过优化算法求解干净的信号子空间,丢弃残差项,并使用这个求解算法的计算图作为本文提出方法的核心 。基于已有的假设分析和对矩阵分解模型的回顾,我们将建模“全局信息”的目标函数写为:

 

 

其中, 表示重构误差,可以通过残差项 的元素分布导出, 和 分别表示对字典矩阵 和系数矩阵 的正则化,可以由其先验分布导出。 将求解该目标函数的优化算法记为 ,我们将 作为本文提出的憨憨模型的核心结构,即Ham。

最简单形式下的憨憨模型形似汉堡,即由两个线性变换中间包含一个矩阵分解模型,按顺序分别记为Lower Bread, Ham, Upper Bread,其中Ham对应求解矩阵分解模型的数值方法 。

 

 

这里有一个观察,使用“假设->建模->求解->验证”的逻辑天然为   提供了有效的抽象。从神经网络结构设计的角度看, 的设计应当是具象化的,case-by-case的。但这种过度的具象化带来了理论分析和拓展的困难,我们往往难以确定到底是何种因素起了作用。抽象将求解矩阵分解的数值方法看作一个整体,以便于我们理解,即使从结构设计的角度来看,数值优化算法是“复杂”的结构,如果没有具体目标的指引,本身是难以手工设计的。

 

抽象的另一个好处在于,我们可以采用实际上不同的物理模型来验证抽象的合理性。这些模型的细节各有差异,求解算法和导出的网络结构   也大相径庭,但是一般意义上,它们都满足低秩分解的假设。这服务于本文的底层逻辑,即对“全局信息”这样一种相当模糊的概念提供一种一般性的数学刻画,并使用不同的模型支持这样的假设。

 

在实际计算层面,我们提供了三种“口味”的汉堡,即分别使用 矢量量化(VQ) [22] 、 概念分解(CD) [23] 、 非负矩阵分解(NMF) [24] 来作为   的憨憨模型。注意,我们将简单带过对这些模型的介绍——正如前文强调的一样,我们希望读者将这些模型抽象为一个整体。这是因为,本文的主要贡献并非改进了矩阵分解模型——这在过去的10年中有相当充分的文献 [25][26][27][28] 探讨如何更好地基于可学习的优化策略求解这些模型。 本文侧重于为建模“全局信息”提供了一种数学刻画,在这种刻画中矩阵分解作为一种自然的策略用于求解 。

 

在选择这些矩阵分解模型的背后,一种考虑是选择尽可能简单的模型。为改进矩阵分解的求解引入可学习的优化算法固然可以获得进一步的增益,但这使得我们不能确定增益是来自于额外的参数与计算量还是建模与假设本身,从而导致与注意力机制的比较变得不公平,同时引入了额外分析可学习优化算法性质的需求。这种考虑本身是一把“奥卡姆剃刀”,迫使我们选择了这三个经过时间检验且建模和求解都足够简单的矩阵分解模型,在保持尽可能简洁的同时确保一般性。进一步地,我们将在下文看到,这类模型真正的阿喀琉斯之踵在于计算梯度与保持可微分的方式,其本质困难并非模型本身的优化问题的求解质量。

 

在这里,我们展示了VQ和NMF作为 ——它们几乎与笔者同龄。即使如此简单且轻量化,后文的实验将证实其足够与视觉注意力机制相媲美,这充分支持了本文的论断。

 

当我们设计好憨憨模型作为神经网络的一个构建模块之后,一个问题是, 如何为矩阵分解计算反向传播的梯度,即保持其可微分,这是与神经网络进行协作的关键 。

 

欲知后事如何,且听下回分解。

 

//

 

作者介绍

 

耿正阳 ,北京大学ZERO Lab研究助理。研究兴趣包括可微编程与表示学习,致力于研究建立可微模型的一般方法及训练模式,包括从数值方法角度设计的可微计算范式。

 

此前,讲者团队曾来到将门分享他们在 ICLR 2021 上的工作,扫描下方二维码即可观看~

 

 

参考资料:

 

[1].Dzmitry Bahdanau, Kyunghyun Cho, and Yoshua Bengio. Neural machine translation by jointly learning to align and translate. In3rd International Conference on Learning Representations, ICLR 2015

 

https://arxiv.org/pdf/1409.0473

 

[2].Kelvin Xu, Jimmy Ba, Ryan Kiros, Kyunghyun Cho, Aaron Courville, Ruslan Salakhudinov, Rich Zemel, and Yoshua Bengio. Show, attend and tell: Neural image caption generation with visual attention. In International conference on machine learning, pp. 2048–2057, 2015

 

http://proceedings.mlr.press/v37/xuc15.html

 

[3].Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Ł ukaszKaiser, and Illia Polosukhin. Attention is all you need. In Advances in Neural Information Processing Systems 30, pp. 5998–6008. Curran Associates, Inc., 2017

 

https://papers.nips.cc/paper/7181-attention-is-all-you-need.pdf

 

[4].Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. Bert: Pre-training of deep bidirectional transformers for language understanding. In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers), pp. 4171–4186, 2019.

 

https://www.aclweb.org/anthology/N19-1423.pdf

 

[5].Zhenzhong Lan, Mingda Chen, Sebastian Goodman, Kevin Gimpel, Piyush Sharma, and Radu Soricut. Albert: A lite bert for self-supervised learning of language representations. In International Conference on Learning Representations, 2019

 

http://www.openreview.net/pdf?id=H1eA7AEtvS

 

[6].Xiaolong Wang, Ross Girshick, Abhinav Gupta, and Kaiming He. Non-local neural networks. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 7794–7803,2018.

 

https://ieeexplore.ieee.org/document/8578911

 

[7].Han Zhang, Ian Goodfellow, Dimitris Metaxas, and Augustus Odena. Self-attention generative adversarial networks. ICML, 2019.

 

https://arxiv.org/pdf/1805.08318

 

[8].Yunpeng Chen, Yannis Kalantidis, Jianshu Li, Shuicheng Yan, and Jiashi Feng. Aˆ2-nets: Double attention networks. In Advances in Neural Information Processing Systems 31, pp. 352–361.Curran Associates, Inc., 2018

 

https://papers.nips.cc/paper/7318-a2-nets-double-attention-networks

 

[9].Xia Li, Zhisheng Zhong, Jianlong Wu, Yibo Yang, Zhouchen Lin, and Hong Liu. Expectation-maximization attention networks for semantic segmentation. InProceedings of the IEEE International Conference on Computer Vision, pp. 9167–9176, 2019

 

https://openaccess.thecvf.com/content_ICCV_2019/html/Li_Expectation-Maximization_Attention_Networks_for_Semantic_Segmentation_ICCV_2019_paper.html

 

[10].Yunpeng Chen, Marcus Rohrbach, Zhicheng Yan, Yan Shuicheng, Jiashi Feng, and Yannis Kalantidis. Graph-based global reasoning networks. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), June 2019

 

https://openaccess.thecvf.com/content_CVPR_2019/html/Chen_Graph-Based_Global_Reasoning_Networks_CVPR_2019_paper.html

 

[11].Angelos Katharopoulos, Apoorv Vyas, Nikolaos Pappas, and Franccois Fleuret. Transformers are RNNs: Fast autoregressive transformers with linear attention. ArXiv, abs/2006.16236, 2020

 

https://arxiv.org/pdf/2006.16236.pdf

 

[12].Sinong Wang, Belinda Z. Li, Madian Khabsa, Han Fang, and Hao Ma. Linformer: Self-attention with linear complexity. ArXiv, abs/2006.04768, 2020.

 

https://arxiv.org/pdf/2006.04768.pdf

 

[13].Kyungwoo Song, Yohan Jung, Dong-Jun Kim, and I. Moon. Implicit kernel attention. ArXiv, abs/2006.06147, 2020.

 

https://arxiv.org/pdf/2006.06147

 

[14].Sofia Serrano and Noah A Smith. Is attention interpretable? In Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics, pp. 2931–2951, 2019.

 

https://www.aclweb.org/anthology/P19-1282.pdf

 

[15].Sarthak Jain and Byron C Wallace. Attention is not explanation. In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers), pp. 3543–3556, 2019.

 

https://www.aclweb.org/anthology/N19-1357.pdf

 

[16].Sarah Wiegreffe and Yuval Pinter. Attention is not explanation. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), pp. 11–20, 2019.

 

https://www.aclweb.org/anthology/D19-1002.pdf

 

[17].Yihe Dong, Jean-Baptiste Cordonnier, and Andreas Loukas. Attention is not all you need: Pureattention loses rank doubly exponentially with depth.ArXiv, abs/2103.03404, 2021

 

https://arxiv.org/pdf/2103.03404

 

[18].Canyi Lu, Jinhui Tang, Shuicheng Yan, and Zhouchen Lin. Generalized nonconvex nonsmooth low-rank minimization. In Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 4130–4137, 2014

 

https://openaccess.thecvf.com/content_cvpr_2014/html/Lu_Generalized_Nonconvex_Nonsmooth_2014_CVPR_paper.html

 

[19].Julien Mairal, Francis Bach, Jean Ponce, and Guillermo Sapiro. Online learning for matrix factorization and sparse coding. Journal of Machine Learning Research, 11(Jan):19–60, 2010.

 

https://jmlr.org/papers/v11/mairal10a.html

 

[20].Yoshua Bengio. The consciousness prior. arXiv preprint arXiv:1709.08568, 2017.

 

https://arxiv.org/pdf/1709.08568.pdf

 

[21].Anirudh Goyal, Alex Lamb, Jordan Hoffmann, Shagun Sodhani, Sergey Levine, Yoshua Bengio, and Bernhard Schölkopf. Recurrent independent mechanisms. arXiv preprint arXiv:1909.10893, 2019.

 

https://arxiv.org/pdf/1909.10893.pdf

 

[22].R. M. Gray and D. L. Neuhoff. Quantization.IEEE Transactions on Information Theory, 44(6):2325–2383, Oct 1998.

 

https://ieeexplore.ieee.org/document/720541

 

[23].Inderjit S. Dhillon and Dharmendra S. Modha. Concept decompositions for large sparse textdata using clustering.Machine Learning, 42(1):143–175, Jan 2001.

 

https://link.springer.com/article/10.1023/A:1007612920971

 

[24].Daniel D Lee and H Sebastian Seung. Learning the parts of objects by non-negative matrix factoriza-tion.Nature, 401(6755):788, 1999

 

https://www.nature.com/articles/44565

 

[25].Karol Gregor and Yann LeCun. Learning fast approximations of sparse coding. In Proceedings of the 27th International Conference on International Conference on Machine Learning, ICML, 2010.

 

https://icml.cc/Conferences/2010/papers/449.pdf

 

[26].Jialin Liu, Xiaohan Chen, Zhangyang Wang, and Wotao Yin. ALISTA: Analytic weights are as good as learned weights in LISTA. In International Conference on Learning Representations, 2019.

 

https://openreview.net/forum?id=B1lnzn0ctQ

 

[27].Xingyu Xie, Jianlong Wu, Zhisheng Zhong, Guangcan Liu, and Zhouchen Lin. Differentiable linearized ADMM. In ICML, 2019

 

http://proceedings.mlr.press/v97/xie19c.html

 

[28].R. Liu, Shichao Cheng, Yi He, Xin Fan, Zhouchen Lin, and Zhongxuan Luo. On the convergence of learning-based iterative methods for nonconvex inverse problems. IEEE Transactions on Pattern Analysis and Machine Intelligence, 42:3027–3039, 2020

 

https://arxiv.org/pdf/1808.05331.pdf

 

Illustration b y  Natasha Remarchuk from Ico ns8

 

Be First to Comment

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注