论文小综 | Attention in Graph Neural Networks

作者 | 方尹、杨海宏,浙江大学在读博士,主要研究方向为图表示学习


近年来,图卷积神经网络(Graph Convolutional Network, GCN)利用图卷积从图结构数据中提取特征,成功应用于节点分类、图分类、链接预测等任务,用途广泛。GCN在一系列任务中取得突破性进展的同时,其局限性也被放大:GCN擅长处理transductive任务(训练与测试阶段都基于同样的数据),但难以完成inductive任务(训练与测试阶段需要处理的数据不同,通常训练阶段在子图上进行,测试阶段需处理未知的节点);难以处理有向图,不易实现将不同的学习权重分配给不同的邻居节点。

Graph Attention Networks

发表会议:ICLR 2018

Motivation:

针对上述问题,本文在GCN中引入注意力机制,提出了Graph Attention Networks (GAT)。GAT允许处理不同大小的输入,通过关注输入中与任务最相关的部分来做出决策。本质上,GAT有两种运算方式,分别为global graph attention和mask graph attention.由于global graph attention方式中每一个节点对于图上任意节点都进行attention运算,相当于丢弃了图结构这个特征,且面临高昂的计算成本,因此作者在文中采用mask attention,即注意力的运算只在邻居节点之间进行。

Model:

与所有注意力机制一样,GAT的计算分为两步。

第一步:计算注意力系数(attention coefficient)

首先每个节点的输入特征向量,通过共享参数的线性变换进行特征增强。对于任意节点i,计算其与任意邻居节点j的特征之间的注意力系数:

为了使不同节点之间的注意力系数易于比较,通过softmax进行归一化处理:

具体实现方法如下:

第二步:加权求和(aggregate)

归一化的注意力系数被用于对特征加权求和,作为每个节点的最终输出特征:

为增加训练过程的稳定性,可使用multi-head并行计算K个分支,最后对所有分支的计算结果拼接或求均值:

与GCN不同,GAT允许隐式地为同一节点的邻居分配不同的重要性,同时学到的注意力有助于模型的可解释性。GAT的运算方式是逐点运算,不必预先访问全局图结构,适用于inductive任务。不要求图是无向的,如果边j→i不存在,只需省略  .

Experiment:

如上表所示,GAT分别在transductive和inductive任务上超越了GCN和GraphSAGE.

Graph Representation Learning via Hard and Channel-Wise Attention Networks

发表会议:KDD 2019

Motivation:

当图中含有大量节点时,graph attention operators(GAOs)会消耗大量的计算资源,包括计算成本和内存使用量。此外,GAO使用soft attention operator,计算图中所有相邻节点的信息。为了在大规模图数据中应用注意力机制,文中提出将硬注意力机制(hard graph attention operator, hGAO)引入GAOs来减少计算量。如果直接在图结构数据上使用hard attention仍会消耗大量计算资源。因此改进的hGAO对邻居节点进行筛选,保留部分邻居参与计算。

Model:

本文使用一个可训练的投影向量p,将特征矩阵X投影到N维向量空间中,y代表每个节点的重要性程度(4)。根据每个邻居节点的重要性程度进行排序,选择k个投影值最大的节点(5)。根据选出的idx,选择新的节点信息(6)。使用门操作来控制信息流,通过将sigmoid函数应用于选定的投影值来获得门向量(7)。通过矩阵乘法控制选定节点的信息(8),在通过注意力机制,生成新的节点信息。

hGAO能够减少时间复杂度,但因涉及到了邻接矩阵的操作,依然会有和GAO一样的空间复杂度。作者提出利用channel-wise graph attention operator(cGAO),只考虑节点本身的信息而不考虑邻接矩阵的信息来减少空间复杂度。将特征矩阵X的每一行看作一个通道,即每一类特征都是一个通道。假设假设同一节点内的特征彼此关联,且不同节点内的特征之间没有关联。这意味着cGAO不需要邻接矩阵A提供的连通性信息,从而避免了对邻接矩阵的依赖。

本文将hGAO和cGAO构建为GAM模块。如下图所示:

Experiment:

作者对比了GAO, hGAO和cGAO的计算效率。如下表所示:

除此之外,hGANet分别在transductive和inductive任务上取得了不错的效果。

How to find your friendly neighborhood: Graph attention design with self-supervision

发表会议:ICLR 2021

Motivation:

GAT通过给不同的邻居节点分配不同的权重,从而使聚合的节点特征更加合理。但是当图中存在噪声时,会影响GAT的结果。本文通过提出两种对GAT的不同改进,来解决目前存在的问题。

Model:

作者提出SuperGATs,旨在通过一个半监督的边预测任务来限制节点的特征向量。该函数预测了节点i和j之间存在边的概率:

本文提到了四个方法:GO(original GAT)、DP(dot-product attention)、SD(scaled dot-product)、MX(mixed GO and DP). GO为原始的GAT算法,DP将两个节点的特征向量相乘。SD和MX分别定义如下:

损失函数定义为:

其中,第一项是节点分类的交叉熵损失函数,最后一项是正则化项,中间一项代表着节点特征和两节点之间的边是否存在。将两节点的特征向量代入中,可以计算该边存在的概率。若两节点在真实图中不存在边,但计算出的存在边的概率很大,则损失很大。该项损失相当于通过图上已知的边关系,调整节点的特征向量。

Experiment:

本文在多个真实数据集上进行了实验,结果表明SuperGAT获得了不错的效果。

综上所述,在注意力机制的作用下,图神经网络(Graph Neural Network, GNN)会关注到图中最重要的节点和节点中最重要的信息。受益于注意力机制,模型能够过滤噪音邻居,提升模型性能并对结果具有一定的可解释性。NLP中通常针对单独或整体的attention head,在attention weight上建立probe classifier,以研究模型真正关注到的部分。这样的方法后续也可以迁移到图结构数据上,对attention-based GNN进行解释。

未来还有更多潜在的方法和任务等待发掘,欢迎大家补充和交流。

 


 

OpenKG

开放知识图谱(简称 OpenKG)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

点击阅读原文,进入 OpenKG 网站。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/478371.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 126. 单词接龙 II(图的BFS)

1. 题目 给定两个单词(beginWord 和 endWord)和一个字典 wordList,找出所有从 beginWord 到 endWord 的最短转换序列。 转换需遵循如下规则: 每次转换只能改变一个字母。转换过程中的中间单词必须是字典中的单词。 说明: 如果…

外卖订单量预测异常报警模型实践

外卖业务的快速发展对系统稳定性提出了更高的要求,每一次订单量大盘的异常波动,都需要做出及时的应对,以保证系统的整体稳定性。如何做出较为准确的波动预警,显得尤为重要。 从时间上看,外卖订单量时间序列有两个明显的…

聊一聊“超大模型”

文 | 金雪锋源 | 知乎最近经常被问,你看“万亿的模型都出来了,你们训练的千亿模型是不是落伍了?”我想说:“虽然都叫超大模型,但是类型是不一样的,虽说每一类模型训出来都不容易,不过澄清一下概…

技术动态 | 不确定性知识图谱的表示和推理

本文转载自漆桂林知乎。作者 | 张嘉韬、漆桂林、吴天星文章链接 | https://zhuanlan.zhihu.com/p/369068016

LeetCode 665. 非递减数列(双指针)

1. 题目 给定一个长度为 n 的整数数组&#xff0c;你的任务是判断在最多改变 1 个元素的情况下&#xff0c;该数组能否变成一个非递减数列。 我们是这样定义一个非递减数列的&#xff1a; 对于数组中所有的 i (1 < i < n)&#xff0c;满足 array[i] < array[i 1]。…

数据还是模型?人类知识在深度学习里还有用武之地吗?

文 | Severus编 | 小戏近些年来&#xff0c;随着数据量越来越多&#xff0c;算力价格越来越便宜&#xff0c;根植于数据算力的深度学习茁壮成长。在这种背景下&#xff0c;作为一种强有力的表示学习方法的深度学习让人们惊讶的发现&#xff0c;只要投喂足够多的数据&#xff0c…

LeetCode 130. 被围绕的区域(图的BFS/DFS)

文章目录1. 题目2. 解题2.1 BFS2.2 DFS1. 题目 给定一个二维的矩阵&#xff0c;包含 ‘X’ 和 ‘O’&#xff08;字母 O&#xff09;。 找到所有被 ‘X’ 围绕的区域&#xff0c;并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。 示例: X X X X X O O X X X O X X O X X 运行你的…

论文浅尝 - ECIR2021 | 两种实体对齐方法的严格评估

笔记整理 | 谭亦鸣&#xff0c;东南大学博士生来源: ECIR 2021在这篇工作中&#xff0c;作者对两种SOTA实体对齐方法做了广泛的研究&#xff1a;首先仔细分析了现有benchmark的过程&#xff0c;并论证了其中存在一些缺陷&#xff0c;使得原始方法给出的实验结果之间可能存在不可…

Android App包瘦身优化实践

随着业务的快速迭代增长&#xff0c;美团App里不断引入新的业务逻辑代码、图片资源和第三方SDK&#xff0c;直接导致APK体积不断增长。包体积增长带来的问题越来越多&#xff0c;如CDN流量费用增加、用户安装成功率降低&#xff0c;甚至可能会影响用户的留存率。APK的瘦身已经是…

NLP界新SOTA!吸纳5000万级知识图谱,一举刷爆54个中文任务!

大家还记得2019年底首次将GLUE榜单分数刷过90大关的百度ERNIE模型吗&#xff1f;在随后一年多的时间里&#xff0c;又陆续出现了GPT-3、Switch Transformer等一众靠模型体量取胜的千亿乃至万亿参数规模的超大预训练模型&#xff0c;似乎新训一个预训练模型没有个千亿参数都不好…

LeetCode 543. 二叉树的直径(DFS)

1. 题目 给定一棵二叉树&#xff0c;你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过根结点。 示例 : 给定二叉树1/ \2 3/ \ 4 5 返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。注意&#xff1a;两结点之…

论文浅尝 | 用于嵌套命名实体识别的二部平面图网络(BiFlaG)

笔记整理 | 栾岱洋&#xff0c;东南大学来源&#xff1a;ACL 2020链接&#xff1a;https://www.aclweb.org/anthology/2020.acl-main.571.pdf本文提出了一种可以实现重叠主体的识别的BiFlaG&#xff08;bipartite flatgraph network&#xff09;模型&#xff0c;包含两个子图模…

不是所有问题都适合用神经网络去搞!

文 | YukiRain知乎不是所有问题都适合用神经网络预测&#xff0c;YukiRain总结了以下几种不适合用神经网络做预测的场景&#xff1a;小样本情况&#xff0c;无论是低维还是高维&#xff0c;不如SVM和贝叶斯模型低维数据&#xff0c;大样本量&#xff0c;不如各种ensemble类算法…

从Google白皮书看企业安全最佳实践

前不久Google发布了一份安全方面的白皮书Google Infrastructure Security Design Overview&#xff0c;直译的版本可以参考“网路冷眼”这版《Google基础设施安全设计概述》&#xff0c;直译点评的版本可以参考“职业欠钱”的《Google基础设施安全设计概述翻译和导读》。 此前G…

LeetCode 415. 字符串相加(大数加法)

1. 题目 给定两个字符串形式的非负整数 num1 和num2 &#xff0c;计算它们的和。 注意&#xff1a;num1 和num2 的长度都小于 5100. num1 和num2 都只包含数字 0-9. num1 和num2 都不包含任何前导零。 你不能使用任何內建 BigInteger 库&#xff0c; 也不能直接将输入的字符串…

会议交流 | 智能风控技术峰会(请关注图分析相关论坛)

2021年5月15日&#xff0c;9:00-18:00&#xff0c;DataFunSummit——智能风控技术峰会将如约而至&#xff0c;本次峰会由3位主席和8位出品人精心策划而成&#xff0c;邀请来自业界的40余位嘉宾从风控系统的架构&#xff0c;到智能风控的核心算法&#xff0c;再到内容、金融、交…

深度学习,路在何方?

文 | Severus最近&#xff0c;AI领域的三位图灵奖获得者Yoshua Bengio、Yann LeCun和Geoffrey Hinton共同发表了一篇文章&#xff0c;名为Deep Learning for AI&#xff0c;文中讨论了深度学习的起源、发展、成就及未来。文章标题&#xff1a;Deep Learning for AI原文链接&…

前端渲染引擎doT.js解析

背景 前端渲染有很多框架&#xff0c;而且形式和内容在不断发生变化。这些演变的背后是设计模式的变化&#xff0c;而归根到底是功能划分逻辑的演变&#xff1a;MVC—>MVP—>MVVM&#xff08;忽略最早混在一起的写法&#xff0c;那不称为模式&#xff09;。近几年兴起的R…

elasticsearch7使用指导

目录结构&#xff1a; 一、es概述 二、es安装/head插件安装/kibana安装 三、es核心概念 四、IK分词器 五、RestFul操作 六、CRUD(增删改查) 七、Springboot集成es ---------------------------------------分割线&#xff1a;正文------------------------------------…

开源开放 | 欢迎选修浙江大学《知识图谱》开放共享慕课

点击“阅读原文”或扫描图中二维码进入课程教学计划第一章知识图谱概论1.1 语言与知识1.2 知识图谱的起源1.3 知识图谱的价值1.4 知识图谱的技术内涵第二章知识图谱的表示2.1 什么是知识表示2.2 人工智能历史发展长河中的知识表示2.3 知识图谱的符号表示方法2.4 知识图谱的向量…