Att论文解读|ICLR 2018 《Graph attention networks》图注意力网络

news2024/9/27 21:22:47

论文地址

论文地址:https://arxiv.org/abs/1710.10903

github:PetarV-/GAT: Graph Attention Networks (https://arxiv.org/abs/1710.10903) (github.com)

gordicaleksa/pytorch-GAT: My implementation of the original GAT paper (Veličković et al.). I've additionally included the playground.py file for visualizing the Cora dataset, GAT embeddings, an attention mechanism, and entropy histograms. I've supported both Cora (transductive) and PPI (inductive) examples! (github.com)

 论文首页

笔记框架

 

 

图注意力网络


📅出版年份:2018
📖出版期刊:
📈影响因子:
🧑文章作者:Veličković Petar,Cucurull Guillem,Casanova Arantxa,Romero Adriana,Liò Pietro,Bengio Yoshua


🔎摘要:

我们提出了图注意力网络(GATs),这是一种可在图结构数据上运行的新型神经网络架构,它利用掩码自注意力层来解决之前基于图卷积或其近似值的方法的不足之处。通过堆叠节点能够关注其邻域特征的层,我们能够(隐式地)为邻域中的不同节点指定不同的权重,而不需要任何形式的代价高昂的矩阵运算(如反转),也不依赖于对图结构的预先了解。通过这种方式,我们同时解决了基于谱的图神经网络所面临的几个关键挑战,并使我们的模型可随时应用于归纳和转换问题。我们的 GAT 模型在四个已确立的转导和归纳图基准中取得了最先进的结果或与之相当:Cora、Citeseer 和 Pubmed 引用网络数据集,以及蛋白质-蛋白质相互作用数据集(其中测试图在训练期间保持未见)。


🔩GATs模型架构:

我们将首先描述单个图形注意力层,作为我们实验中使用的所有 GAT 架构中使用的唯一层。我们使用的特殊注意力设置密切遵循 Bahdanau 等人的工作。

输入层

我们层的输入是一组节点特征,该层生成一组新的节点特征作为其输出。

权重初始化

作为初始步骤,将由权重矩阵参数化的共享线性变换应用于每个节点。

共享注意力机制

然后,我们对节点执行自注意力——共享注意力机制。我们通过执行屏蔽注意力将图结构注入到机制中。

在我们的实验中,注意力机制 a 是一个单层前馈神经网络,由权重向量参数化,并应用 LeakyReLU 非线性(负输入斜率 α = 0.2)。

多头注意力

K个独立的注意力机制执行方程4的变换,然后将它们的特征连接起来。

softmax

一旦获得,归一化注意力系数用于计算与其对应的特征的线性组合,作为每个节点的最终输出特征(在可能的之后)应用非线性 。

如果我们在网络的最后(预测)层上执行多头注意力,串联就不再明智了——相反,我们采用平均,并延迟应用最终的非线性(通常是 softmax 或逻辑 sigmoid分类问题)。


🧪实验:

📇数据集:

我们利用三个标准引文网络基准数据集——Cora、Citeseer 和 Pubmed(Sen 等人,2008)——并严格遵循 Yang 等人的转导实验设置。

我们利用蛋白质-蛋白质相互作用(PPI)数据集,该数据集由对应于不同人体组织的图表组成(Zitnik & Leskovec,2017)。

📉优化器&超参数:

转导学习任务

我们应用两层 GAT 模型。

其架构超参数已在 Cora 数据集上进行了优化,然后重新用于 Citeseer。第一层由 K = 8 个注意力头组成,每个注意力头计算 F ′ = 8 个特征(总共 64 个特征),后面是一个指数线性单元 (ELU) 非线性。

第二层用于分类:计算 C 个特征(其中 C 是类数)的单个注意力头,然后是 softmax 激活。

为了应对较小的训练集大小,在模型中广泛应用了正则化。在训练期间,我们应用 λ = 0.0005 的 L2 正则化。此外,p = 0.6 的 dropout(Srivastava 等人,2014)应用于两个层的输入以及归一化注意力系数。

与 Monti 等人观察到的类似。 (2016),我们发现 Pubmed 的训练集大小(60 个示例)需要对 GAT 架构进行轻微更改:我们应用了 K = 8 个输出注意头(而不是 1 个),并将 L2 正则化增强到 λ = 0.001。除此之外,该架构与 Cora 和 Citeseer 使用的架构相匹配。

归纳学习

我们应用了三层 GAT 模型。

前两层均由 K = 4 个注意力头组成,计算 F ′ = 256 个特征(总共 1024 个特征),后面是 ELU 非线性。

最后一层用于(多标签)分类:K = 6 个注意力头,每个注意力头计算 121 个特征,对这些特征进行平均,然后进行逻辑 sigmoid 激活。

该任务的训练集足够大,我们发现不需要应用 L2 正则化或 dropout——但是,我们已经成功地在中间注意力层中使用了跳跃连接(He et al., 2016)。

我们在训练期间使用 2 个图的批量大小。为了严格评估在这种情况下应用注意力机制的好处(即与接近 GCN 等效的模型进行比较),我们还提供了使用恒定注意力机制 a(x, y) = 1 时的结果,其中相同的架构——这将为每个邻居分配相同的权重。

优化器

两个模型均使用 Glorot 初始化(Glorot & Bengio,2010)进行初始化,并使用 Adam SGD 优化器(Kingma & Ba,2014)进行训练,以最小化训练节点上的交叉熵,Pubmed 的初始学习率为 0.01,对于所有其他数据集的初始学习率为 0.005。

📋实验结果:

我们的结果成功地证明了在所有四个数据集上实现或匹配的最先进的性能 - 符合我们的预期。

我们能够在 Cora 和 Citeseer 上分别比 GCN 提高 1.5% 和 1.6%,这表明为同一邻域的节点分配不同的权重可能是有益的。

值得注意的是 PPI 数据集上取得的改进:我们的 GAT 模型相对比提高了 20.5%。这是我们能够获得的最佳 GraphSAGE 结果,证明我们的模型有潜力应用于归纳设置,并且可以通过观察整个邻域来利用更大的预测能力。

此外,它还提高了 3.9% w.r.t. Const-GAT(具有恒定注意力机制的相同架构),再次直接证明了能够为不同邻居分配不同权重的重要性。


🚩研究结论:

我们提出了图注意力网络(GAT),这是一种新颖的卷积式神经网络,它利用屏蔽的自注意力层对图结构数据进行操作。

我们利用注意力的模型已经成功地在四个成熟的节点分类基准中实现或匹配最先进的性能,包括传导性和归纳性(特别是用于测试的完全不可见的图)。


📝总结

💡创新点:

我们引入了一种基于注意力的架构来执行图结构数据的节点分类。这个想法是通过关注其邻域并遵循自注意力策略来计算图中每个节点的隐藏表示。

  • 引入masked self-attentional layers 来改进前面图卷积graph convolution的缺点

  • 对不同的相邻节点分配相应的权重,既不需要矩阵运算,也不需要事先知道图结构。

⚠ 局限性:

我们使用的张量操作框架仅支持 2 阶张量的稀疏矩阵乘法,这限制了当前实现的层的批处理能力(特别是对于具有多个图的数据集)。

根据现有图形结构的规律性,在这些稀疏场景中,与 CPU 相比,GPU 可能无法提供主要的性能优势。

我们模型的“感受野”的大小受到网络深度的上限(与 GCN 和类似模型类似)。

最后,跨所有图边的并行化,尤其是以分布式方式,可能涉及大量冗余计算,因为邻域通常在感兴趣的图中高度重叠。

🖍️知识补充:

许多有趣的任务涉及无法以网格状结构表示的数据,而是位于不规则域中的数据。 3D 网格、社交网络、电信网络、生物网络或大脑连接组就是这种情况。

GNN 由一个迭代过程组成,该过程会传播节点状态,直至达到平衡;然后是一个神经网络,该网络根据每个节点的状态为其生成输出。

将卷积推广到图域这个方向的进展通常分为谱方法和非谱方法。

谱方法使用图的谱表示,并已成功应用于节点分类的背景下。

另一方面,我们有非谱方法(Duvenaud et al., 2015;Atwood & Towsley, 2016;Hamilton et al., 2017),它们直接在图上定义卷积,对空间上邻近的组进行操作。

注意力机制的好处之一是它们允许处理可变大小的输入,专注于输入中最相关的部分以做出决策。当注意力机制用于计算单个序列的表示时,通常称为自注意力或内部注意力。

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

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

相关文章

ZFS 文件系统结构及 ZFS 文件系统数据恢复

ZFS是一种革命性的文件系统,它遵循完全不同的文件系统管理方法,同时提供目前其他文件系统无法提供的新功能和优势。ZFS 可靠、可扩展且易于管理。 它放弃了卷的概念,从而摆脱了传统的文件系统原则。另外,ZFS 提供更复杂的存储池&…

Java线程池:当核心线程数为 0 时,任务来了的执行流程

先说结论&#xff1a;创建一个临时线程直接执行 ThreadPoolExecutor.excute() public void execute(Runnable command) {if (command null)throw new NullPointerException();int c ctl.get();if (workerCountOf(c) < corePoolSize) {if (addWorker(command, true)) retu…

python + word文本框中文字识别并替换【真替换,不只是识别】

1. 简单描述 在一些转换场景下&#xff0c;文本框不会被转换&#xff0c;需要先识别成文字内容。 【识别的文字段落可能会和实际看到的效果有些差异&#xff0c;后续还需校对&#xff0c;如下图】。 不足&#xff1a;除了上面说的那个情况&#xff08;上图说的问题&#xff0…

pgAdmin 4 使用

瀚高数据库 目录 环境 文档用途 详细信息 环境 系统平台&#xff1a;Linux x86-64 Red Hat Enterprise Linux 7,Microsoft Windows (64-bit) 10 版本&#xff1a;14 文档用途 本文介绍pgAdmin4使用技巧和工具所具有的比较好的功能。 详细信息 pgAdmin4是用于设计、维护和管理…

简单的表单初始密码验证的实现

目录 简单示例&#xff1a;表单初始密码验证 1.1准备工作(图1&#xff09; 1.2 index部分 1.3 css部分 1.3.1先把css部分链接到index.html中&#xff0c;注意链接的地址。 1.3.2添加样式 1.4 JS部分 1.4.1 先把js部分链接到index.html中&am…

Android APP读写外置SD卡无权限 java.io.IOException: Permission denied

在物联网应用里&#xff0c;app需要对挂载SD卡读写文件&#xff0c;从 Android 4.4&#xff08;KitKat&#xff09;版本开始&#xff0c;Google 引入了一项名为 "Storage Access Framework" 的新功能&#xff0c;该功能限制了应用对外部存储的直接读写权限,要不然就是…

Html + Express 实现大文件分片上传、断点续传、秒传

在日常的网页开发中&#xff0c;文件上传是一项常见操作。通过文件上传技术&#xff0c;用户可以将本地文件方便地传输到Web服务器上。这种功能在许多场景下都是必不可少的&#xff0c;比如上传文件到网盘或上传用户头像等。 然而&#xff0c;当需要上传大型文件时&#xff0c;…

构建第一个ArkTS应用之@AppStorage:应用全局的UI状态存储

AppStorage是应用全局的UI状态存储&#xff0c;是和应用的进程绑定的&#xff0c;由UI框架在应用程序启动时创建&#xff0c;为应用程序UI状态属性提供中央存储。 和AppStorage不同的是&#xff0c;LocalStorage是页面级的&#xff0c;通常应用于页面内的数据共享。而AppStora…

Apache Flume概述

Apache Flume概述 1.Flume定义 ​ Flume是cloudera(CDH版本的hadoop) 开发的一个分布式、可靠、高可用的海量日志收集系统。 它将各个服务器中的数据收集起来并送到指定的地方去&#xff0c;比如说送到HDFS、Hbase&#xff0c;简单来说flume就是收集日志的。 2.Flume基础架构…

导出QQ好友列表、群列表、群员列表

MENU 准备工作在浏览器地址栏中输入地址使用F12快捷键打开开发者工具(浏览器控制台)点击头像登入网站(推荐)或手机扫码登录获取群列表获取好友列表获取群员列表 准备工作 一台带有浏览器的电脑 在浏览器地址栏中输入地址 https://qun.qq.com/member.html 使用F12快捷键打开开发…

手机同步与数据安全:让手机和电脑完美结合!

在当今这个高度信息化的社会&#xff0c;手机和电脑不仅为我们提供了丰富的信息资源&#xff0c;让我们能够随时随地获取所需的信息&#xff0c;还为我们的生活带来了极大的便利。无论是工作、学习还是娱乐&#xff0c;手机和电脑都发挥着至关重要的作用。 然而&#xff0c;随…

阿里云服务器在线安装nginx

⛰️个人主页: 蒾酒 &#x1f525;系列专栏&#xff1a;《nginx实战》 目录 内容简介 安装步骤 1.root用户登录连接阿里云服务器 2.在usr/local下新建nginx目录 3.安装 1安装下载工具 2下载nginx压缩包 3解压 4安装nginx依赖的库 5编译并安装 6启动nginx 7开启…

【数据结构】顺序表(一)

✨✨✨专栏&#xff1a;数据结构 &#x1f9d1;‍&#x1f393;个人主页&#xff1a;SWsunlight 不怕别人看不起&#xff0c;就怕自己不争气。路是人走出来的&#xff0c;关键要靠自己闯。振作起来&#xff0c;生活的含义就是前进。 目录 一、顺序表的概念&#xff1a; 二…

东南亚服务器租用托管的优势

东南亚地区在国际贸易领域展现出了巨大的潜力和吸引力&#xff0c;其未来的外贸发展前景被认为是广阔且充满了无限商机。这一地区以其人口众多、经济快速发展的特点&#xff0c;结合独特的地理优势和丰富的自然资源&#xff0c;正在吸引全球企业的目光。今天我们一起来看看东南…

YOLOv8火焰与烟雾智能检测系统

项目概述&#xff1a; 本项目旨在开发一款高效、实时的火焰与烟雾检测系统&#xff0c;利用先进的深度学习技术——YOLOv8&#xff0c;为安全监控领域提供智能化解决方案。系统不仅能够准确识别视频流或静态图像中的火焰与烟雾&#xff0c;还配备了用户友好的图形界面&#xff…

C++ | Leetcode C++题解之第79题单词搜索

题目&#xff1a; 题解&#xff1a; class Solution { public:bool exist(vector<vector<char>>& board, string word) {rows board.size();cols board[0].size();for(int i 0; i < rows; i) {for(int j 0; j < cols; j) {if (dfs(board, word, i, …

答辩PPT制作太费时?AI工具帮你节省时间

在我原本的认知里面&#xff0c;答辩PPT是要包含论文各个章节的&#xff0c;在答辩时需要方方面面都讲到的&#xff0c;什么摘要、文献综述、实证分析、研究结果样样不落。但是&#xff0c;这大错特错&#xff01; 答辩PPT环节时长一般不超过5分钟&#xff0c;老师想要的答辩P…

精益数字化是什么

在传统的生产过程中&#xff0c;存在很多工作是重复且无价值的&#xff0c;这些工作通常需要花费大量的时间和人力&#xff0c;而且容易出现错误。例如人工测量和记录、纸质文档管理、手工排序和分类等&#xff0c;为了解决这个问题。通过引入精益生产和数字化解决方案&#xf…

springboot基本使用九(redis和springcache缓存)

为什么使用缓存: 减少数据库访问次数,从而提高应用程序的性能 redis可以缓存为啥要和spring cache一起使用? redis缓存:是内存级的缓存。它是使用单纯的内存来进行缓存 spring cache缓存:使用JVM的内存来缓存对象的,这势必会造成大量的内存消耗。但好处是显然的:使用方…

Git详解之五:分布式Git

为了便于项目中的所有开发者分享代码&#xff0c;我们准备好了一台服务器存放远程 Git 仓库。经过前面几章的学习&#xff0c;我们已经学会了一些基本的本地工作流程中所需用到的命令。接下来&#xff0c;我们要学习下如何利用 Git 来组织和完成分布式工作流程。 特别是&#…