Graph Attentional Networks

论文链接:https://arxiv.org/pdf/1710.10903v3.pdf

论文代码:pytorch geomtetric有实现

摘要

Abstract: We present graph attention networks (GATs), novel neural network architectures that operate on graph-structured data, leveraging masked self-attentional layers to address the shortcomings of prior methods based on graph convolutions or their approximations. By stacking layers in which nodes are able to attend over their neighborhoods’ features, we enable (implicitly) specifying different weights to different nodes in a neighborhood, without requiring any kind of costly matrix operation (such as inversion) or depending on knowing the graph structure upfront. In this way, we address several key challenges of spectral based graph neural networks simultaneously, and make our model readily applicable to inductive as well as transductive problems. Our GAT models have achieved or matched state-of-theart results across four established transductive and inductive graph benchmarks: the Cora, Citeseer and Pubmed citation network datasets, as well as a proteinprotein interaction dataset (wherein test graphs remain unseen during training).

摘要:我们提出图注意力网络(GAT),对图结构数据进行操作的新型神经网络架构,利用自注意力机制来解决基于图卷积或其近似的先前方法的缺点。通过叠加节点能够参与其邻域特征的层,我们可以(隐式地)为邻域中的不同节点指定不同的权重,而不需要任何昂贵的矩阵运算(如求逆)或预先知道图形结构。通过这种方式,我们同时解决了基于谱的图神经网络的几个关键挑战,并使我们的模型易于适用于感应和传导问题。我们的GAT模型已经实现或匹配了四个已建立的转导和归纳图基准的最新结果:Cora、Citeser和Pubmed引文网络数据集,以及protein-protein interaction数据集(其中用于测试的图在训练期间不可见)。

1. 前言

受最近工作的启发,我们引入了一种基于注意力机制的体系结构来执行图结构数据的节点分类。其思想是通过关注其邻居,遵循自注意力策略,计算图中每个节点的隐藏表示。此注意力结构有几个特性:(1)操作是高效的,因为它可以跨节点-邻居对,做并行化处理;(2) 通过对邻域指定任意权重,可以将其应用于具有不同程度的图节点;(3)该模型直接适用于Inductive Learning问题,包括模型必须推广到完全看不见的图的任务。

2 图注意力层(Graph Attentional Layer)

从题目中的Graph Attentional Layer中可以感觉到,这个注意力机制,应该是像resiual block或者SENet一样,为一个小的模块,即插即用。

具体怎么实现呢,接着往下:

从单层图注意力机制定义出发,对这一层注意力图网络:

输入:节点特征, h = { h → 1 , h → 2 , . . . , h → N } , h → i ∈ R F h=\{\overrightarrow{h}_1 ,\overrightarrow{h}_2,...,\overrightarrow{h}_N \},\quad \overrightarrow{h}_i \in R^F h={h 1​,h 2​,...,h N​},h i​∈RF, N N N为节点数量, F F F为每个节点的特征数

输出:产生一组新的节点特征 h ′ = { h ′ → 1 , h ′ → 2 , . . . , h ′ → N } , h ′ → i ∈ R F h^{'}=\{\overrightarrow{h^{'}}_1 ,\overrightarrow{h^{'}}_2,...,\overrightarrow{h^{'}}_N \},\quad \overrightarrow{h^{'}}_i \in R^F h′={h′ 1​,h′ 2​,...,h′ N​},h′ i​∈RF为输出

为了获得足够的表达能力将输入特征转换为更高级别的特征,至少需要一个可学习的线性变换。为此,作为初始步骤,共享线性变换由权重矩阵 W ∈ R F ′ × F W\in R^{F^{'}\times F} W∈RF′×F参数化,应用到每个节点。然后使用自注意力机制到每个节点,一种共享的注意力机制 a : R F ′ × R F ′ → R a\; : \; R^{F^{'}}\times R^{F^{'}} \rightarrow R a:RF′×RF′→R,计算注意力系数。
e i j = a ( W h → i , W h → j ) e_{ij}=a(W\overrightarrow{h}_i,\;W\overrightarrow{h}_j) eij​=a(Wh i​,Wh j​)
表征节点i和节点j之间的重要性。它的更通用表示,此模型允许每个节点参与其他节点,合并所有结构信息。但我们只使用每个节点的邻居节点信息,即 N i N_i Ni​。其中 i i i为当前节点, j ∈ N i j\in N_i j∈Ni​为 i i i节点的邻居节点。

在我们的实验中, N i N_i Ni​正是节点i(包括i)的一阶邻居。为了使系数在不同节点之间易于比较,我们使用softmax函数对 e i j e_{ij} eij​归一化。
α i j = s o f t m a x j ( e i j ) = e x p ( e i j ) ∑ k ∈ N i e x p ( e i k ) \alpha_{ij}=softmax_j(e_{ij})=\cfrac{exp(e_{ij})}{\sum_{k\in N_i}exp(e_{ik})} αij​=softmaxj​(eij​)=∑k∈Ni​​exp(eik​)exp(eij​)​
完整公式:
α i j = L e a k y R e L U ( a T → [ W h → i ∣ ∣ W h → j ] ) ∑ k ∈ N i L e a k y R e L U ( a T → [ W h → i ∣ ∣ W h → k ] ) \alpha_{ij}=\cfrac{LeakyReLU(\overrightarrow{a^T}[W\overrightarrow{h}_i||\;W\overrightarrow{h}_j])} {\sum_{k\in N_i}LeakyReLU(\overrightarrow{a^T}[W\overrightarrow{h}_i||\;W\overrightarrow{h}_k])} αij​=∑k∈Ni​​LeakyReLU(aT [Wh i​∣∣Wh k​])LeakyReLU(aT [Wh i​∣∣Wh j​])​
其中 ∣ ∣ || ∣∣表示concat操作,其中 α \alpha α为单层全连接层网络,参数为 2 ⋅ F ′ 2 \cdot F^{'} 2⋅F′个,所以有
[ 1 , 2 F ′ ] ∗ [ 2 F ′ , 1 ] → s c a l a r [1, 2F^{'}] * [2F^{'}, 1]\rightarrow scalar [1,2F′]∗[2F′,1]→scalar
对于每个节点,上述方法是双向的,即两个节点对彼此的权重是一致的,为了保证中心节点收到的注意力是好的,可以对每个邻居节点多几个注意力机制。

ICLR2018 GNN GAT论文解读相关推荐

  1. NIPS2017 GNN GraphSAGE 论文解读

    Inductive Representation Learning on Large Graphs 摘要 1. 前言 2. GraphSAGE方法 3.1 嵌入生成(前向传播)方法 3.2 采样方法 ...

  2. 【ICLR 2018图神经网络论文解读】Graph Attention Networks (GAT) 图注意力模型

    论文题目:Graph Attention Networks 论文地址:https://arxiv.org/pdf/1710.10903.pdf 论文代码:https://github.com/Peta ...

  3. 论文解读丨Zero-Shot场景下的信息结构化提取

    摘要:在信息结构化提取领域,前人一般需要基于人工标注的模板来完成信息结构化提取.论文提出一种zero-shot的基于图卷积网络的解决方案,可以解决训练集和测试集来自不同垂直领域的问题. 本文分享自华为 ...

  4. ICML 2022 | 腾讯AI Lab入选论文解读

    感谢阅读腾讯 AI Lab 微信号第 150 篇文章.本文为腾讯 AI Lab 入选 ICML 2022 的 7 篇论文解读. ICML(International Conference on Mac ...

  5. CVPR 2020 三篇有趣的论文解读

    ©PaperWeekly 原创 · 作者|文永亮 学校|哈尔滨工业大学(深圳)硕士生 研究方向|视频预测.时空序列预测 在深度学习中我们真的需要乘法? 论文标题:AdderNet: Do We Rea ...

  6. IJCAI 2019 论文解读 | 基于超图网络模型的图网络进化算法

    作者丨张云喆 单位丨暗物智能科技 研究方向丨NLP推理.数学符号推理 研究背景 现实生活中很多的数据可以用图(graph)来建模,比如社交网络数据,paper 引用数据等.对于 AI 而言,一个常见的 ...

  7. 知识图谱最新权威综述论文解读:知识表示学习部分

    知识图谱最新权威综述论文解读:知识表示学习部分 知识图谱表示学习 1 表示空间 1.1 Point-wise空间 1.2 复数向量空间 ​1.3 高斯分布 1.4 流形和群 2 打分函数 2.1 基于 ...

  8. AI论文解读丨融合视觉、语义、关系多模态信息的文档版面分析架构VSR

    摘要:文档版式分析任务中,文档的视觉信息.文本信息.各版式部件间的关系信息都对分析过程具有很重要的作用.本文提出一种融合视觉.文本.关系多模态信息的版式分析架构VSR. 本文分享自华为云社区<论 ...

  9. 论文解读丨图神经网络应用于半结构化文档的命名实体识别和关系提取

    摘要: 随着用于传递和记录业务信息的管理文档的广泛使用,能够鲁棒且高效地从这些文档中自动提取和理解内容的方法成为一个迫切的需求.本次解读的文章提出利用图神经网络来解决半结构化文档中的实体识别(NER) ...

最新文章

  1. 数据通信技术(八:OSPF单区域配置实验)
  2. [转[c++]从int转换成string
  3. ASP.NET中新建MVC项目并连接SqlServer数据库实现增删改查
  4. Java集合框架上机练习题:用户分别从两个文本框输入学生的姓名和分数.............
  5. 前端学习(1666):前端系列实战课程之仿造qq发送消息思路
  6. 使用Nacos项目jar包启动抛出的yml异常
  7. [转]C++,VC++,MFC,ATL,WTL到底是什么关系么
  8. 微型 ORM-FluentData 实例详解
  9. CAD导出.eps格式图
  10. html5局部放大图片,图片局部放大效果原理详解
  11. Redis过期策略和淘汰策略
  12. MT7628学习笔记(13)——ipk软件包编写与应用
  13. mysql-mmm高可用群集
  14. Elasticsearch生产集群健康状况为yellow原因分析和解决方案
  15. uwb室内定位应用DW1000 TWR测距
  16. 飞书接入ChatGPT,打造属于自己的智能问答助手
  17. 红米5无线网连接上但是没有网络连接服务器,红米路由器wifi已连接但无法访问互联网怎么办 | 192路由网...
  18. java1.7 apk 签名_【keytool jarsigner工具的使用】Android 使用JDK1.7的工具 进行APK文件的签名,以及keystore文件的使用...
  19. 如何反击职场PUA?
  20. python如何使用geotools_ArcGIS工具之ET GeoWizards、GeoTools、GeoTools

热门文章

  1. java 进度条 swt_SWT综合实例+SWT进度条对话框代码
  2. 数据分析手把手入门:打造自己的股票分析系统
  3. 中国陶瓷纤维市场现状调研及投资前景方向预测报告2022年版
  4. JDBC中获取连接的几种方式,快来看看吧
  5. SuSE Linux 9下FTP、Telnet、图形终端服务的基本配置
  6. 分析COleSafeArray
  7. 2022软考网工笔记(Linux篇)
  8. 全球科技巨擘大战AI
  9. MySQL 快速造数 mysql_random_data_load
  10. n个小球放入m个盒子中_M个球放入N个盒子的放法