Graph数据结构的两种特征:
当我们提到Graph或者网络的时候,通常是包含顶点和边的关系,那么我们的研究目标就聚焦在顶点之上。而除了结构之外,每个顶点还有着自己的特征,因此我们图上的深度学习,无外乎就是希望学习上面两种特征。

GCN的局限性:
GCN是处理transductive任务的利器,这也导致了其有着较为致命的两大局限性:

首先GCN无法完成inductive任务,也即它无法完成动态图的问题。
其次,GCN无法处理有向图,它不容易实现分配不同的学习权重给不同的邻域。

接下来说一下GAT:
2018年的GAT,说明白点就是对于每个顶点都计算其与邻域节点的注意力系数,通过注意力系数来聚合节点的特征,然而此处注意力系数说白了其实是局部图注意力,还有一种注意力系数是全局注意力系数,其具体思路就是对每一个节点计算其与其它所有节点的注意力系数。

全局注意力系数的优点很明显,它可以完全不依赖于图的结构信息,对于处理inductive任务无压力,但是其缺点也很明显,其面临着高昂的计算代价,并且图结构信息对于整个Graph是非常重要的,其可能面临着较差的效果。

多头注意力的提出更加加固了注意力这个理论成果!

深入理解GAT:

1、与GCN的联系与区别

我们可以发现就本质而言,GCN和GAT都是将邻居节点的特征聚合到中心节点上,其实就是一种聚合运算。不同的是GCN用的是拉普拉斯矩阵,而GAT用的是注意力系数,在一定程度上来说,GAT会更强,因为GAT很好的将顶点的特征之间的相关性融入到了模型之中。

2、为什么GAT适用于有向图

GAT的运算是逐顶点的运算,每次运算都需要遍历图上的所有节点,因此摆脱了拉普拉斯矩阵的束缚。

3、为什么GAT适用于inductive任务

GAT中重要的学习参数是W和a(),这两个参数仅与顶点的特征有关,与图结构无关,因此改变图的结构对GAT的影响不大,只需改变邻域,重新计算即可。

与此相反的是,GCN是一种全图计算,一次计算就更新全图的节点特征,学习的参数很大程度上和图结构是相关的。

总结一下:
GCN本质上是谱域卷积,一次处理全部顶点,所以用到了包含图结构的拉普拉斯矩阵,但这也限制了其无法完成inductive任务;而GAT和GraphSAGE等属于空域卷积,逐点处理,虽然在计算过程中舍弃了整体的图结构,但这也使得其可以为完成inductive任务。

本文参考:知乎superbrother的一篇文章

注意力模型(GAT)相关推荐

  1. Graph Attention Network (GAT) 图注意力模型

    文章目录 1. GAT基本原理 1.1 计算注意力系数(attention coefficient) 1.2 特征加权求和(aggregate) 1.3 multi-head attention 2. ...

  2. GAT:图注意力模型介绍及PyTorch代码分析

    文章目录 1.计算注意力系数 2.聚合 2.1 附录--GAT代码 2.2 附录--相关代码 3.完整实现 3.1 数据加载和预处理 3.2 模型训练 1.计算注意力系数 对于顶点 iii ,通过计算 ...

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

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

  4. GAT: 图注意力模型介绍及PyTorch代码分析

    文章目录 GAT: 图注意力模型介绍及代码分析 原理 图注意力层(Graph Attentional Layer) 情境一:节点和它的一个邻居 情境二:节点和它的多个邻节点 聚合(Aggregatio ...

  5. 【Pytorch神经网络实战案例】22 基于Cora数据集实现图注意力神经网络GAT的论文分类

    注意力机制的特点是,它的输入向量长度可变,通过将注意力集中在最相关的部分来做出决定.注意力机制结合RNN或者CNN的方法. 1 实战描述 [主要目的:将注意力机制用在图神经网络中,完成图注意力神经网络 ...

  6. 图神经网络 | (8)图注意力网络(GAT)

    本篇博客要介绍的是图注意力网络(Graph Attention Networks,GAT),它通过注意力机制(Attention Mechanism)来对邻居节点做聚合操作,实现对不同邻居权重的自适应 ...

  7. 【图结构】之图注意力网络GAT详解

    作者:張張張張 github地址:https://github.com/zhanghekai [转载请注明出处,谢谢!] GATGATGAT源代码地址:https://github.com/Petar ...

  8. GAT-图注意力模型

    GAT简介 什么是GAT GAT(Graph Attention Networks),即图注意力神经网络,根据名称,我们可以知道这个网络肯定是和注意力架构绑定的,那么为什么需要注意力架构呢? 在直推式 ...

  9. 数据挖掘期末-图注意力模型

    PyGAT图注意力模型 ​  PyGAT实现的分类器: https://www.aliyundrive.com/s/vfK8ndntpyc   还在发烧,不是特别清醒,就简单写了写.用GAT进行关系预 ...

  10. 如何将tensorflow1.x代码改写为pytorch代码(以图注意力网络(GAT)为例)

    之前讲解了图注意力网络的官方tensorflow版的实现,由于自己更了解pytorch,所以打算将其改写为pytorch版本的. 对于图注意力网络还不了解的可以先去看看tensorflow版本的代码, ...

最新文章

  1. 英特尔® 至强® 平台集成 AI 加速构建数据中心智慧网络
  2. 关于Aptana studio工具
  3. 实践教程 | 浅谈 PyTorch 中的 tensor 及使用
  4. pandas使用nlargest函数返回特定数据列中前N个最大值(搜寻最大的n个元素)、pandas使用nlargest函数返回特定数据列中前N个最大值所对应的数据行
  5. 六种微服务架构的设计模式
  6. 5.25上午 外教专业课 听力
  7. SSH远程登录VWware上的LFS
  8. CentOS7部署Nginx
  9. Android 通过触摸动态地在屏幕上画矩形
  10. 宽带服务器盒信号灯红色闪烁,宽带出现光信号灯是红色是怎么回事
  11. 浏览器是如何工作的:Chrome V8让你更懂JavaScript
  12. Java实现图片转化为pdf
  13. 前端使用UtoVR Player全景视频播放器实现360°C全景VR视频
  14. FreeSWITCH 呼叫两个座机并互联(ESL实现)
  15. STM32F030R8移植freeModbus协议栈
  16. 《蜂鸟摄影学院单反摄影宝典》读书笔记
  17. 从招式与内功谈起——设计模式概述(三)
  18. 不要用PS啦,python+opencv代码给证件照换底色
  19. 管理打开的标签,减少Chrome95%内存 —OneTab
  20. java中父类创建子类的语法_Java 语言中,所创建的子类都应有一个父类。( )_学小易找答案...

热门文章

  1. HJ卫星数据的下载与打开
  2. css关键词:inherit、initial、overlay、revert、unset解释
  3. LLVM | 编译器框架
  4. php程序开发编辑器有哪些,常用的PHP编辑器有哪些?
  5. 10. 从0学ARM-基于Exynos4412的pwm详解
  6. Sperax月报 | 2021年3月
  7. 【PCB学习笔记】绘制智能车四层板 --- PCB设计规则设置及手工布线
  8. HNUST-OJ-1806-图的遍历——广度优先搜索
  9. 人脸识别评价指标: TAR@FAR
  10. 解决猫眼自定义字体的问题-获取影院实时电影拍片或实时票房等