作者 | Chaitanya Joshi

译者 | Kolen

出品 | AI科技大本营(ID:rgznai100)

前言

有些工程师朋友经常问我这样一个问题:“图深度学习听起来很棒,但是现在是否有非常成功的商业案例?是否已经在实际应用中部署?”

除了那些显而易见的案例,比如Pinterest、阿里巴巴和Twitter公司部署的推荐系统,一个稍有细微差别的成功案例就是Transformer架构的实现,它在NLP行业引起了轩然大波。

通过这篇文章,我想建立起图神经网络(GNNs)和Transformers之间的联系。具体来说,我将首先介绍NLP和GNN领域中模型架构的基本原理,然后使用公式和图表来阐述两者之间的联系,最后将讨论如何让两者协同运作来推动这方面的研究进展。

我们先来谈谈模型架构的目的——表示学习。

NLP的表示学习

从一个较高的层次来分析,几乎所有的神经网络结构都将输入数据表示为向量(vectors)或者嵌入(embeddings)的形式,从而对数据中有用的统计和语义信息进行编码。这些潜在或隐藏的表示方法可以用于执行一些有用的任务,例如对图像进行分类或翻译句子。其中,神经网络通过接收反馈(通常是通过误差(error)/损失(loss)函数)来学习如何构建越来越好的表示方法。

在自然语言处理(NLP)中,按照传统方式,人们习惯将递归神经网络(RNNs)以照序列的方式(即一个时间步对应一个单词)来构建句子中每个单词的表示。直观地说,我们可以把RNN层想象成一个传送带,上面的字从左到右进行自回归处理。最后,我们得到句子中每个单词的一个隐藏特征,并将其传递到下一个RNN层或者用于我们选择的NLP任务。

Transformers最初是用于机器翻译领域,但是现在已经逐渐取代了主流NLP中的RNNs。该架构采用了一种全新的表示学习方法:完全抛弃了递归的方法,Transformers使用注意力机制构建每个词的特征,从而找出句子中所有其他单词对上述单词的重要性。理解了这一关键点我们就能明白,单词的更新特征仅仅是所有单词特征的线性变换之和,这些特征是根据它们的重要性进行加权。

早在2017年,这个想法听起来就非常激进,因为NLP界已经习惯了使用RNN处理文本的序列(每次一个单词)的风格。这篇论文的标题可能是火上浇油!

Yannic Kilcher为此做了一个出色的视频概述。

解析Transformer

让我们通过将上一节内容转述成数学符号和向量的语言来加深对这个架构的认识。如下所示,我们将句子中第i个词的隐藏特征h从层更新到层:

其中,表示句子中的词汇集,而是可以学习到的线性权重(分别表示注意力计算中的Query, Key 和 Value)。句子中的每个单词并行执行注意力机制,从而可以一次性获得它们已更新的特征——这是Transformer相对RNNs的另一个加分点,它使得模型能够逐字更新特征。

我们可以通过下面这张流程图来更好地理解注意力机制:

输入词汇特征和句子中其他词汇集,我们使用点积运算来计算出每对的注意力权重,接着对所有的进行softmax运算。最后,把所有的相对应的权重累加得到单词i更新后的词汇特征。句子中的每个单词都会并行地经历相同的流程来更新其特征。

多头注意力机制

事实证明,要让这种点积注意力机制起作用是很难的——如果随机初始化处理得不好会使得整个学习过程失去稳定性。我们可以通过并行执行多个注意力“头”并将结果连接起来(现在每个注意力头都有单独的可学习权重)来克服这个问题:

其中,是第k个注意力头的可学习的权重,而是一个向下的投影,用以匹配跨层的的尺寸。

通过观察上一层中隐藏特征的不同的变换过程以及方面,多头机制允许注意力机制从本质上“规避风险”。关于这点,我们将在后面详细讨论。

尺度问题和前向传播子层

促使形成最终形态的Transformer结构的关键问题是,注意机制之后的词的特征可能在不同的尺度或重要性上:(1)这可能是由于某些词在将其他词的特征累加时具有非常集中或非常分散的注意力权重。(2)在单个特征/向量输入级别,跨多个注意力头(每个可能会以不同的比例输出值)进行级联可以导致最终向量的输入具有一个大范围的值。遵循传统的机器学习思路,在上述流程中增加一个归一化层似乎是一个合理的选择。

Transformers使用LayerNorm克服了问题(2),LayerNorm在特征层级上进行归一化并学习一种仿射变换。此外,通过求特征维度的平方根来缩放点积注意力有助于抵消问题(1)。

最后,作者提出了控制尺度问题的另一个“技巧”:具有特殊结构的考虑位置的双层MLP。在多头注意力之后,他们通过一个可学习的权重将投影到一个更高的维度,在该维度中,经过ReLU非线性变换,然后投影回其原始维度,然后再进行另一个归一化操作:

说实话,我不确定超参数化前馈子层背后的确切理由是什么,似乎也没有人对此提出疑问!我认为LayerNorm和缩放的点积不能完全解决突出的问题,因此大型MLP是一种可以相互独立地重新缩放特征向量的手段。

Transformer层的最终形态如下所示:

Transformer架构也非常适合非常深的网络,使NLP界能够在模型参数和扩展数据这两方面进行延伸。每个多头注意力子层和前馈子层的输入和输出之间的残差连接是堆叠Transformer层的关键(但为了清楚起见,在上图中省略了)。

GNNs构建图的表示

我们暂时不讨论NLP。

图神经网络(GNNs)或图卷积网络(GCNs)在图数据中建立节点和边的表示。它们是通过邻域聚合(或消息传递)来实现的,在邻域聚合中,每个节点从其邻域收集特征,以更新其周围的局部图结构表示。通过堆叠多个GNN层使得该模型可以将每个节点的特征传播到整个图中,从其邻居传播到邻居的邻居,依此类推。

以这个表情符号社交网络为例:由GNN产生的节点特征可用于预测性任务,例如识别最有影响力的成员或提出潜在的联系。

在他们最基本的形式中,GNNs通过以下方法来更新节点i在层的隐藏层特征h(例如,????),也就是先将节点自身的特征和每个邻居节点特征的聚合相累加,然后再整体做一个非线性变换,如下:

其中是GNN层的可学习的权重矩阵,而是一个非线性变换,例如ReLU。在上述例子中,N (????) ={ ????, ????, ????, ???? }。

邻域节点上的求和可以被其他输入大小不变的聚合函数代替,例如简单的  均值/最大值函数或其他更强大的函数(如通过注意机制的加权和)。

这听起来熟悉吗?

也许这样一条流程可以帮助建立连接:

如果我们要执行多个并行的邻域聚合头,并且用注意力机制(即加权和)替换领域 上的求和 ,我们将获得图注意力网络(GAT)。加上归一化和前馈MLP,瞧,我们就有了Graph Transformer。

句子就是由词全连接而成的图

为了使连接更加清晰,可以将一个句子看作一个完全连接的图,其中每个单词都连接到其他每个单词。现在,我们可以使用GNN来为图(句子)中的每个节点(单词)构建特征,然后我们可以使用它来执行NLP任务。

广义上来讲,这就是Transformers正在做的事情:Transformers是以多头注意力作为邻聚合函数的GNNs。标准GNNs从其局部邻域节点聚合特征,而NLP的Transformers将整个句子视为局部邻域,在每个层聚合来自每个单词的特征。

重要的是,各种特定于问题的技巧(如位置编码、因果/掩码聚合、学习率表和大量的预训练)对于Transformers的成功至关重要,但在GNN界中却很少出现。同时,从GNN的角度看Transformers可以启发我们摆脱模型结构中的许多花哨的玩意。

可以从Transformers和GNN中学到什么?

现在我们已经在Transformers和GNN之间建立了联系,接着让我们来探讨一些新的问题......

8.1 全连接图是NLP的最佳输入格式吗?

在统计NLP和ML之前,Noam Chomsky等语言学家致力于发展语言结构的最新理论,如语法树/图。Tree LSTMs已经尝试过这一点,但是也许Transformers/GNNs是可以让语言理论和统计NLP的领域结合得更加紧密的更好的架构?

8.2 如何学习到长期依赖?

完全连通图使得学习词与词之间的非常长期的依赖关系变得非常困难,这是完全连通图的另一个问题。这仅仅是因为图中的边数与节点数成二次平方关系,即在n个单词的句子中,Transformer/GNN将在n^2对单词上进行计算。如果n很大,那将会是一个非常棘手的问题。

NLP界对长序列和依赖性问题的看法很有意思:例如,使注意力机制在输入大小方面稀疏或自适应,在每一层中添加递归或压缩,以及使用对局部性敏感的哈希法进行有效的注意,这些都是优化Transformers有希望的新想法。

有趣的是,还可以看到一些GNN界的想法被混入其中,例如,用于句子图稀疏化的二进制分区似乎是另一种令人兴奋的方法。

8.3 Transformers在学习神经网络的句法吗?

NLP界有几篇关于Transformers可能学到什么的有趣论文。其基本前提是,对句子中的所有词对使用注意力机制(目的是确定哪些词对最有趣),可以让Transformers学习特定任务句法之类的东西。

多头注意力中的不同头也可能“关注”不同的句法属性。

从图的角度来看,通过在完全图上使用GNN,我们能否从GNN在每一层执行邻域聚合的方法中恢复最重要的边线及其可能带来的影响?我还不太相信这种观点。

8.4 为什么要用多头注意力?为什么要用注意力机制?

我更赞同多头机制的优化观点——拥有多个注意力可以改进学习,克服不好的随机初始化。例如,这些论文表明,Transformers头可以在训练后“修剪”或“删除”,并且不会产生重大的性能影响。

多头邻聚合机制在GNNs中也被证明是有效的,例如在GAT使用相同的多头注意力,MoNet使用多个高斯核来聚合特征。虽然多头技巧是为了稳定注意力机制而发明的,但它能否成为提炼出额外模型性能的标准?

相反,具有简单聚合函数(如sum或max)的GNNs不需要多个聚合头来维持稳定的训练。如果我们不需要计算句子中每个词对之间的成对兼容性,对Transformers来说不是很好吗?

Transformers能从抛弃注意力中获益吗?Yann Dauphin和合作者最近的工作提出了另一种ConvNet架构。Transformers也可能最终会做一些类似于ConvNets的事情。

8.5 为什么Transformers这么难训练?

阅读新的Transformer论文让我觉得,在确定最佳学习率表、预热策略和衰减设置时,训练这些模型需要一些类似于黑魔法的东西。这可能仅仅是因为模型太大,而且所研究的NLP任务非常具有挑战性。

但是最近的结果表明,这也可能是由于结构中归一化和残差连接的特定组合导致的。

在这一点上我很在意,但是也让我感到怀疑:我们真的需要代价昂贵的成对的多头注意力结构,超参数化的MLP子层以及复杂的学习计划吗?

我们真的需要具有大量碳足迹的(译者注:有人提出现在训练一个模型相当于5辆汽车一天的排碳量)大规模模型吗?

具有良好归纳偏差的架构难道不容易训练吗?

原文链接:https://dwz.cn/eE9kZK6q

本文为 CSDN 翻译,转载请注明来源出处。

【End】

在全民抗疫的特殊时期下,在人员复杂、流动量大地方的出入口处都设置了无接触式无感红外人体测温系统

在这次疫情防控中,无感人体测温系统发挥了怎样的作用?高精准的无感人体测温系统的核心技术武器是什么?对于开发者们来说,大家应该了解哪些技术

今晚8点多场景疫情防控:解读云边端联动下的全栈 AI 技术应用

推荐阅读 

☞独家揭秘阿里自研飞天操作系统洛神平台如何支撑起 2684 亿全球大促!| 问底中国 IT 技术演进

☞重磅!教育部再次审批 179 所高校新增本科 AI 专业

☞平均工资 13820 元!3 月全国程序员工资新鲜出炉

比特币归谁所有?有人通过分析区块链数据集找到答案

删库跑路事件发生,SaaS云服务如何守护数据安全

人工智能改变未来教育的5大方式!

你点的每一个在看,我认真当成了喜欢

为什么说 Transformer 就是图神经网络?相关推荐

  1. 为什么说Transformer就是图神经网络?

    作者 | Chaitanya Joshi 译者 | Kolen 出品 | AI科技大本营(ID:rgznai100) 前言 有些工程师朋友经常问我这样一个问题:"图深度学习听起来很棒,但是现 ...

  2. 华为诺亚ViG架构媲美CNN、Transformer,图神经网络也能用作CV骨干模型

    华为诺亚实验室的研究员发现图神经网络(GNN)也能做视觉骨干网络.将图像表示为图结构,通过简洁高效的适配,提出一种新型视觉网络架构 ViG,表现优于传统的卷积网络和 Transformer.在 Ima ...

  3. 原来Transformer就是一种图神经网络,这个概念你清楚吗?

    Transformer和GNN有什么关系?一开始可能并不明显.但是通过这篇文章,你会从GNN的角度看待Transformer的架构,对于原理有更清楚的认知. 选自NTU Graph Deep Lear ...

  4. 当图网络遇上计算机视觉!计算机视觉中基于图神经网络和图Transformer的方法和最新进展...

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 点击进入-> CV 微信技术交流群 可能是目前最全面的<当图网络遇上计算机视觉>综述!近四 ...

  5. 同构和异构经典图神经网络汇总+pytorch代码

    收集一些讲解比较好的博客或者知乎文档,以及对应的代码 1.同构图神经网络-GCN/GAT/GraphSAGE 图卷积:从GCN到GAT.GraphSAGE图卷积:从GCN到GAT.GraphSAGE ...

  6. Transformers与图神经网络的关系,我们能从transformer学习到什么?

    1.导读 这个观点的目的是构建Transformer结构背后的NLP上的直觉,以及与图神经网络的联系. 图深度学习"听起来很厉害,但有什么大的商业成功的故事吗?它有没有被部署在实际app中? ...

  7. 图神经网络也能用作CV骨干模型,华为诺亚ViG架构媲美CNN、Transformer

    来源丨机器之心 华为诺亚实验室的研究员发现图神经网络(GNN)也能做视觉骨干网络.将图像表示为图结构,通过简洁高效的适配,提出一种新型视觉网络架构 ViG,表现优于传统的卷积网络和 Transform ...

  8. 图神经网络从入门到入门

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨yyHaker 来源丨https://zhuanlan.zhi ...

  9. 关于NLP相关技术全部在这里:预训练模型、图神经网络、模型压缩、知识图谱、信息抽取、序列模型、深度学习、语法分析、文本处理...

    NLP近几年非常火,且发展特别快.像BERT.GPT-3.图神经网络.知识图谱等技术应运而生. 我们正处在信息爆炸的时代.面对每天铺天盖地的网络资源和论文.很多时候我们面临的问题并不是缺资源,而是找准 ...

最新文章

  1. 【Python line_profiler memory_profiler】分析每一行代码的耗时及内存占用情况
  2. 刚过国家线计算机考研报哪个好,考研估分刚过了去年国家线,今年上岸还有希望吗?有!...
  3. angular学习笔记(十三)
  4. HTML5如何重塑O2O用户体验
  5. 【hdu 1527】取石子游戏
  6. Boost:boost::asio模块的引用计数测试程序
  7. java 读取大文件内容_java读取大文件
  8. 鸿蒙系统使用体验,华为正式发布鸿蒙手机操作系统 HarmonyOS 2全场景体验来临 你手中的设备能否升级鸿蒙系统?...
  9. 大数定律和中心极限定理的区别和联系
  10. 转载-极化码系列(1)-极化码的起源和概述
  11. VUE 日历 生成钉钉考勤系统
  12. 【OSPF引入直连路由时巧借静态黑洞路由做汇总】
  13. 以史为镜——台积电发展史
  14. [转载]类名.this与类名.class_-Chaz-_新浪博客
  15. 科学网—世界上最神奇的30个经典定律——读书笔记 - 贾琳的博文 http://blog.sciencenet.cn/blog-455749-859616.html
  16. Hyperledger Fabric 2.3环境配置搭建指南及BUG记录
  17. 跨境电商平台有哪些?各国电商平台及品类概览
  18. Centos挂载fat32格式的u盘和ntfs格式的移动硬盘
  19. 劳动节程序员应该知道的知识——计算机
  20. 获取中国银行网页中外汇率

热门文章

  1. 离开APM的弹性云还是真弹性吗
  2. node.js学习笔记5——核心模块1
  3. BZOJ 3401: [Usaco2009 Mar]Look Up 仰望( 单调栈 )
  4. Java基础学习笔记(五)Iterator
  5. XX银行 机器学习平台使用情况访谈总结
  6. 通过anaconda安装jupyter lab
  7. Fuel 9.0安装Openstack由于NTP检查没通过导致失败--解决办法
  8. Pytorch Feature loss与Perceptual Loss的实现
  9. 逻辑斯蒂回归_逻辑回归 - 3 逻辑回归模型
  10. 【C++笔记】函数(笔记)