目录
前期简介
前期知识储备
论文结构
学习目标
论文导读
论文研究背景、成果及意义
研究背景
图像上的卷积操作
- In CNN, pixel representation is created by transforming neighboring pixel representation;
In GNN, node representations are created by transforming neighboring node representation - But graphs are irregular(不规则的), unlike images
So, generalize convolutions beyond simple lattices(格子), and leverage node features/attributes - Solution: deep graph encoders
如果用传统的DNN,会有什么样的问题呢?
对于点的顺序是有要求的,点的邻居的无序性;神经网络的参数的个数
点的Embedding是如何在GNN中发挥作用的?
将卷积的概念引入到GNN中,点的Embedding是基于1跳的邻居或者说是local network neighborhoods,所述的1跳或几跳的邻居是根据GNN神经网络层数来设置的,假设是一层的GCNN或者是一层的gat,那么就只考虑了一跳的邻居,但如果是两层的神经网络,那么2跳的邻居也是有一部分信息传递到当前的节点中。
最关键的这些模型,他们的区别是怎么将邻居点的信息汇聚到当前点并组合它们
图上的卷积操作
GAT所做的是节点与邻域上不同的点,算一下权重,根据权重大小来结合邻域上的节点
右边的图表示两层的神经元(即两跳),图中的正方形框表示进行的神经网络的操作,例如乘上权重或进行转置操作等
V表示点的集合;X矩阵表示有V个点,每个点的维度是m
归纳式学习
直推式学习是模型是以学到点的Embedding为准;
归纳式学习:这个模型学习完之后,可以生成一个之前完全没有见到过的一个新图(unseen graphs),即这个模型完全可以直接拿过来用,产生新图中点的Embedding。
Spatial Based Filtering(基于空域的卷积)、Spectral Based Filtering(基于频域的卷积)
GAT模型多头注意力机制
研究成果
数据集介绍
节点分类任务
图的可视化
研究意义
GAT意义
- 图卷积神经网络最常用的几个模型之一(GCN,GAT,GraphSAGE)
- 将attention机制引用到图神经网络中
- 早期图神经网络表征学习的代表性工作,后期作为经典baseline
- 支持直推式学习和归纳式学习
- 模型具有一定的可解释性
论文泛读
摘要
摘要核心
- 本文提出了图注意力网络(GAT),在图数据结构上使用注意力机制;
- 为邻域中的不同节点指定了不同的权重(不同的权重是通过attention算出来的),计算效率高同时不需要预先知道图结构(即支持归纳式学习);
- GAT模型可以适用于直推式和归纳式学习;
- GAT算法在多个图数据集上达到最优效果。
论文小标题
论文精读
知识树
论文算法模型总览
GNN结构
上图中的左图为时刻1,右图为时刻2,GNN中所做的操作:经过几个时刻的卷积或者更新,然后输出点的Embedding,
对于每一个点,卷积操作(卷积层Convolutional Layer)都会包含两个部分:
- 将邻居节点的feature进行合并 (A*X操作,其中A为邻接矩阵,X为节点的特征矩阵)
- 再应用一个非线性函数,生成输出feature
完成GCN是由多个卷积层构成的,
符号表示
D为度矩阵,为对角线矩阵,元素表示每个节点的邻居的个数
H(l) W0(l) 为自身矩阵的变化
GAT结构
图中不同颜色的线段表示不同注意力的机制,
Multi-head attention
多头代表有多组的w和多组的a。
GCN: Weights in average depends on degree of neighbouring nodes.
GAT: Weights computed by a self-attention mechanism based on node features.
Updating node states: - Graph Attention Network(GAT)
- Graph Learning SAmple and aggreGatE(GraphSage)
- Graph Convolutionale Network(GCN)
- Gated Graph Neural Network(GGNN)
区别:更新点的方式不同
Readout: - permutation invariance on changing node orders
(图里面的设置要有排序的不变性,因为图读进来的时候,去取每个点的邻居,有可能这个顺序是变的,所以一定要保证序列的不变性)
Practical issues: - Skip connection
- Dropout
模型的细节
消息传递机制(Message Passing)
Main idea:Pass message between pairs of nodes & agglomerate
Attention机制
Seq2Seq
几种经典的计算attention score的方法
Attention的类别
global/local attention
有关Attention论文的推荐
添加链接描述
Multi-head Attention
直推式学习 & 归纳式学习
Transductive Learning Task(直推式学习)
- Training algorithm sees all node features during training
- Trains on the labels of the training Nodes
直推式学习在训练中是见到了所有点的特征,即输入是这张图,test也是这张图,只不过有些label(例如图中问号的节点)在test中隐藏了;在同一张图中将点分成两类,一类是training nodes,一类是test nodes,如果是分类任务的话,在test阶段,完成的任务就是预测test nodes的类别。
Inductive Learning Task(归纳式学习) - Algorithm does not see test nodes during training
- Significantly more challenging than transductive task
归纳式学习是以图来划分的,训练和测试使用的是不同的图。
GAT算法
- Computationally efficient (效率比较高)
- Neighbors different importances, interpretability (对于不同的邻居具有不同的重要性,具有较好的解释性)
- Shared manner for attention (Attention对于所有的点来说都是一样的)
- GraphSAGE:fixed size neighbors + LSTM ordering issue (graphsage有两个不太好的点:邻居的个数的最大值是固定的;邻居是没有顺序的,但是使用的lstm是有时间序列的,论文中使用随机获取顺序)
实验设置和结果分析
论文总结
- GAT算法详解
讲解GAT详细算法,图神经网络消息传递方式,注意力机制,多头注意力机制 - GAT算法特点
分析GAT的算法特点,复杂度分析,邻居节点不同的权重,与GraphSAGE等模型的对比 - 实验设置及结果分析
实验设计,数据集介绍,图的节点分类效果与baselines对比,直推式和归纳式两种实验方式 - 论文总结
总结论文中创新点、关键点及启发点