[论文精读]Graph Attention Networks

news2025/1/16 2:39:57

论文原文:[1710.10903] Graph Attention Networks (arxiv.org)

论文代码:https://github.com/PetarV-/GAT

英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用!

1. 省流版

1.1. 心得

(1)Intro里面就包含了related work的样子?

(2)狠狠赞扬Datasets的表格,我都不用总结了

1.2. 论文框架图

2. 论文逐段精读

2.1. Abstract

        ①They proposed a graph attention networks (GATs), which is both suitable for inductive and transductive problems

        ②There is no need for special and costly matrix operation

        ③They test their model in Cora, Citeseer, Pubmed citation network datasets and proteinprotein interaction dataset

upfront  adj.预付的;坦率的;诚实的;直爽的;预交的  adv.预付地,先期支付地

2.2. Introduction

        ①CNN has been widely used in translation, image classification, semantic segmentation. However, it can not be used in none-grid, i.e. irregular representation, such as social/telecommunication/biological networks, 3D meshes, brain connectomes. Thus, graph structure can describe these structures more accurately

        ②Early works adopted recursive neural networks to process directed acyclic graphs

        ③They introduced spectral and non-spectral methods of graph processing

        ④Allowing different sizes of input, attention mechanism has been sucessfully used in NLP

        ⑤Attention mechanism is able to parallelize neighbors, assign weights to neighbors and be used in inductive learning

acyclic  adj.无环的;非循环的;非周期的;非环状的

reminiscent  adj.怀旧的;使回忆起(人或事);回忆过去的;缅怀往事的  n.回忆者;追记前事者

2.3. GAT architecture

2.3.1. Graph attention layer

        ①Input matrix:

\mathbf{h}=\{\vec{h}_{1},\vec{h}_{2},\ldots,\vec{h}_{N}\},\vec{h}_{i}\in\mathbb{R}^{F},\mathbf{h}\in \mathbb{R}^{F\times N}

where N denotes the number of nodes, F denotes the number of features

        ②Then transfer node features to higher level with shared weight matrix:

e_{ij}=a(\mathbf{W}\vec{h_i},\mathbf{W}\vec{h_j})

where a:\mathbb{R}^{F^{'}}\times \mathbb{R}^{F^{'}}\rightarrow \mathbb{R} is a attention mechanism;

j is the neighbor node in the neighborhood of i;

also, indicates the importance of node j's features to node i.

        ③Normalize neighbors:

\alpha_{ij}=\text{softmax}_j(e_{ij})=\frac{\exp(e_{ij})}{\sum_{k\in\mathcal{N}_i}\exp(e_{ik})}

where \mathcal{N}_i denotes neighborhood of node i and the order is set by 1, i.e. first-order neighbors.

        ④Further expanding function a\left ( \right ):

\alpha_{ij}=\frac{\exp\left(\text{LeakyReLU}\left(\vec{\mathbf{a}}^T[\mathbf{W}\vec{h}_i\|\mathbf{W}\vec{h}_j]\right)\right)}{\sum_{k\in\mathcal{N}_i}\exp\left(\text{LeakyReLU}\left(\vec{\mathbf{a}}^T[\mathbf{W}\vec{h}_i\|\mathbf{W}\vec{h}_k]\right)\right)}

which is a single-layer feedforward neural network,

and where \vec{\mathbf{a}}\in\mathbb{R}^{2F^{\prime}} denotes a weight vector;

negative slope \alpha =0.2 ;

|| denotes concatenation.

        ⑤Applying nonlinearity to get final output:

\vec{h}_i'=\sigma\left(\sum_{j\in\mathcal{N}_i}\alpha_{ij}\mathbf{W}\vec{h}_j\right)

        ⑥They further introduce multi-head attention with concatenation:

\vec h'_i=\parallel _{k=1}^{K}\sigma\left(\sum\limits_{j\in\mathcal{N}_i}\alpha_{ij}^k\mathbf{W}^k\vec h_j\right)

where \alpha_{ij}^k denotes normalized attention coefficients caculated by the k-th attention mechanism a^{k}

        ⑦In prediction layer, averaging is much more sensible than multi-head:

\vec h'_i=\sigma\left(\frac1K\sum_{k=1}^K\sum_{j\in\mathcal{N}_i}\alpha_{ij}^k\mathbf{W}^k\vec h_j\right)

        ⑧The figure of this model:

where the left is attention mechanism and the right is multi-head attention mechanism with K=3 

2.3.2. Comparisons to related work

(1)Their improvements:

        ①There is no need for eigendecomposition or other time-consuming calculation. Furthermore, K multi-head operations can also be parallelized

        ②GAT allows to assign weights to neighbors

        ③Adopting to directed graph with imiting a_{ij} when there is no edge in j\rightarrow i

        ④Applicable to inductive

        ⑤GraphSAGE can not process the whole neighborhood but GAT can

        ⑥Compared with MoNet, which computes the node structure, GAT adopts similarity computations

on par with  与...相当 

par  n.(股票的)面值,票面价值;<高尔夫>标准杆数;平均量,常态,一般水平(或标准);标准(尤指某人的工作或健康)水准  adj.平价的,与票面价值相等的;平均的,正常的  vt.<高尔夫>标准杆数得分

2.4. Evaluation

        Datasets information:

2.4.1. Datasets

(1)Transductive learning

        ①In the left three datasets, nodes represent documents, undirected edges represent citations and node features represent elements of a bag-of-words representation of a document

        ②Class: 20 node

(2)Inductive learning

        ①Pre-processing: provided by Hamilton et al. (GraphSAGE)

2.4.2. State-of-the-art method

(1)Transductive learning

        Comparison table:

(2)Inductive learning

        Comparison table:

where Const-GAT adopts constant attention mechanism i.e. adopting same weight for each neighbor

(3)Summary

        They provide MLP for each node

2.4.3. Experimental setup

(1)Transductive learning

        ①They adopted 2 layers model. The first layer uses K=8, and F{}'=8 for each multi-head. Then follows ELU. The second layer sets C (number of classes) features in one attention head, then follows Softmax.

        ②Moreover, L2 regularization with \lambda =0.0005

        ③Dropout rate: 0.6

(2)Inductive learning

        ①They chose 3 layer model. In the first two layers, K=4 and F{}'=256 with a latter ELU. The third layer adopts K=6 followed by logistic Sigmoid.

        ②The set is large enough to ignore L2 regularization and dropout

        ③Adopting skip connections in the middle attention layers

(3)Summary

        ①Initialization: Glorot

        ②Optimizer: Adam SGD

        ③Learning rate: 0.01 for Pubmed, and 0.005 for others

        ④Early stopping strategy: 100 epochs

2.4.4. Results

        ①They tune and adjust other model to be similar to GAT for fair

        ②Transformed feature representations visualization:

​​​​​​​

2.5. Conclusions

3. 知识补充

3.1. Spectral and non-spectral approaches for GNN

3.2. Spectral domain and frequency domain

(1)Spectral domain: mainly used in GNN, adopting Fourier transform on space dimensionality

(2)Frequency domain: mainly used in signal and image processing, adopting Fourier transform on temporal dimensionality

4. Reference List

Velickovic, P. et al. (2018) 'Graph Attention Networks', ICLR 2018. doi: https://doi.org/10.48550/arXiv.1710.10903

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

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

相关文章

《文献阅读》- 遗传算法作为量子近似优化算法的经典优化器(未完成)

文章目录 标题摘要关键词结论研究背景1.介绍 研究内容、成果3. 量子近似优化算法&#xff1a;基本概念及应用 常用基础理论知识2.相关工作酉矩阵 潜在研究点文献链接 标题 Genetic algorithms as classical optimizer for the Quantum Approximate Optimization Algorithm 参…

并发编程——2.基础概念及其它相关的概述

这篇文章我们来讲一下并发编程中的线程及其相关的概述内容。 目录 1.J.U.C 2.进程、线程、协程 2.1进程 2.2线程 2.3纤程&#xff08;协程&#xff09; 2.4概念小结 3.并发、并行、串行 3.1并发 3.2并行 3.3串行 3.4概念小结 4.CPU核心数和线程数的关系 5.上下文…

如何对发电机组进行负载测试

发电机组负载测试是为了评估其在不同负载条件下的性能和稳定性&#xff0c;下面是对发电机组进行负载测试的步骤&#xff1a; 准备工作&#xff1a; - 确定测试负载的类型和大小&#xff0c;例如&#xff0c;纯阻性负载、电动机负载等。 - 确保测试负载设备符合安全要求&#x…

C#选择排序(Selection Sort)算法

选择排序&#xff08;Selection Sort&#xff09;原理介绍 选择排序&#xff08;Selection Sort&#xff09;是一种简单的排序算法&#xff0c;其实现原理如下&#xff1a; 遍历待排序数组&#xff0c;从第一个元素开始。 假设当前遍历的元素为最小值&#xff0c;将其索引保存…

正点原子嵌入式linux驱动开发——Linux按键输入

在前几篇笔记之中都是使用的GPIO输出功能&#xff0c;还没有用过GPIO输入功能&#xff0c;本章就来学习一下如果在Linux下编写GPIO输入驱动程序。正点原子STM32MP1开发板上有三个按键&#xff0c;就使用这些按键来完成GPIO输入驱动程序&#xff0c;同时利用原子操作来对按键值进…

【Vue】v-if和v-show的区别

v-if&#xff1a;按条件渲染&#xff0c;判定为true时渲染&#xff0c;否则不渲染 v-show&#xff1a;按条件展示&#xff0c;区别在于切换的是display属性的值 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8">&l…

掌握JavaScript的练习之道:十个手写函数让你信手拈来!

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

企业知识库系统:从0开始,部署企业知识库模型

当今竞争激烈的商业环境中&#xff0c;企业需要不断提高效率和降低成本&#xff0c;以保持竞争力。而建立一个高效的智能知识库&#xff0c;可以帮助企业实现这一目标。 部署企业知识库 但是知识库目前也需要相关专业的工具创建才能满足企业的业务需求&#xff0c;以HelpLook为…

将数组拆分成斐波那契序列

题目描述 示例 代码如下&#xff1a; public class SplitIntoFibonacci {LinkedList<Integer> res new LinkedList<>();public List<Integer> splitIntoFibonacci(String num) {if(num.length() < 3) return res;if(dfs(num, 0)) return res;return new…

【API篇】四、Flink物理分区算子API

文章目录 1、 分区算子&#xff1a;随机分区2、分区算子&#xff1a;轮询分区3、分区算子&#xff1a;重缩放分区4、分区算子&#xff1a;广播5、分区算子&#xff1a;全局分区6、自定义分区 重分区&#xff0c;即数据"洗牌"&#xff0c;将数据分配到下游算子的并行子…

优思学院|六西格玛品质管理概念,实现卓越品质的艺术

在竞争激烈的商业环境中&#xff0c;企业必须不断提高产品和服务的质量&#xff0c;以满足不断增长的客户需求。在这个背景下&#xff0c;六西格玛&#xff08;6σ&#xff09;管理理念应运而生。由摩托罗拉公司的比尔史密斯于1986年提出&#xff0c;六西格玛是一种管理策略&am…

Spring5学习笔记之整合MyBatis

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; Spring专栏 ✨特色专栏&#xff1a; M…

这4个网站太厉害了, 每一个都能帮你打开新世界大门

又是一期满满的干货&#xff01;今天给大家推荐几个小众但超好用的网站&#xff0c;每一个都能帮你打开新世界的大门&#xff01; 一、音分轨——在线人声分离网站 在线从任何音、视频中提取人声、伴奏和各种乐器&#xff0c;针对某一视频可以单独从里面提取人声或背景音乐&am…

Dreambooth工作原理

什么是Dreambooth 中文名&#xff1a;梦想亭。 Dreambooth 由 Google 研究团队于 2022 年发布&#xff0c;是一种通过向模型注入自定义主题来微调扩散模型&#xff08;如稳定扩散&#xff09;的技术。 所谓自定义主体&#xff0c;就是一张照片&#xff0c;但是照片主体要鲜明…

高校教务系统登录页面JS分析——广东工业大学

高校教务系统密码加密逻辑及JS逆向 本文将介绍高校教务系统的密码加密逻辑以及使用JavaScript进行逆向分析的过程。通过本文&#xff0c;你将了解到密码加密的基本概念、常用加密算法以及如何通过逆向分析来破解密码。 本文仅供交流学习&#xff0c;勿用于非法用途。 一、密码加…

分布式定时任务xxljob

xxl-job的xxl为作者名徐雪里拼音首字母。 xxl-job的作者是2015年开始开发这个项目&#xff0c;那时候springmvcbootstrapadminlte 大行其道&#xff0c;所以这个框架调度器一直沿用这个架构。 一、运行调度器 调度器可以集群或单点运行&#xff0c;以单点运行为例 下载代码…

Python学习笔记——文件操作、异常捕获、模块

食用说明&#xff1a;本笔记适用于有一定编程基础的伙伴们。希望有助于各位&#xff01; 文件读取 文件操作比较常见&#xff0c;通常我们需要对文件进行读取操作&#xff1a; f1 open(assets/Files/测试文件.txt, r, encodingUTF-8)# 辨别是否可读print(f1.readable())# 读取…

MYSQL常用函数详解

今天查缺陷发现同事写的一个MYSQL的SQL中用到函数JSON_CONTAINS&#xff0c;我当时第一反应是这个函数是Mysql8新加的么&#xff1f;原来小丑尽是我自己。 有必要巩固一下Mysql函数知识&#xff0c;并记录一下。&#xff08;如果对您也有用&#xff0c;麻烦您动动发财的手点个赞…

第六届“中国法研杯”司法人工智能挑战赛进行中!

第六届“中国法研杯”司法人工智能挑战赛 赛题上新&#xff01; 第六届“中国法研杯”司法人工智能挑战赛&#xff08;LAIC2023&#xff09;目前已发布司法大模型数据和服务集成调度 、证据推理、司法大数据征文比赛、案件要素识别四大任务。本届大赛中&#xff0c;“案件要素…

找不到msvcr120.dll怎么办?msvcr120.dll丢失如何修复?

MSVCR120.dll是一个动态链接库文件&#xff0c;它是Microsoft Visual C 2012 Redistributable Package的一部分。这个文件包含了许多用于运行C应用程序的函数和类。当我们的计算机上缺少这个文件时&#xff0c;就会导致一些程序无法正常运行&#xff0c;甚至会出现系统崩溃的情…