Graph Attention Networks

目录

  • 前期简介
  • 论文导读
    • 论文研究背景、成果及意义
      • 研究背景
      • 研究成果
      • 研究意义
    • 论文泛读
      • 摘要
      • 论文小标题
  • 论文精读
    • 论文算法模型总览
    • 模型的细节
      • 消息传递机制(Message Passing)
      • Attention机制
      • Multi-head Attention
      • 直推式学习 & 归纳式学习
      • GAT算法
    • 实验设置和结果分析
    • 论文总结

Graph Attention Networks_第1张图片

前期简介

前期知识储备
Graph Attention Networks_第2张图片
论文结构
Graph Attention Networks_第3张图片
学习目标
Graph Attention Networks_第4张图片

论文导读

论文研究背景、成果及意义

研究背景

Graph Attention Networks_第5张图片
Graph Attention Networks_第6张图片
图像上的卷积操作
Graph Attention Networks_第7张图片

  • 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,会有什么样的问题呢?
Graph Attention Networks_第8张图片
对于点的顺序是有要求的,点的邻居的无序性;神经网络的参数的个数
点的Embedding是如何在GNN中发挥作用的?
Graph Attention Networks_第9张图片
将卷积的概念引入到GNN中,点的Embedding是基于1跳的邻居或者说是local network neighborhoods,所述的1跳或几跳的邻居是根据GNN神经网络层数来设置的,假设是一层的GCNN或者是一层的gat,那么就只考虑了一跳的邻居,但如果是两层的神经网络,那么2跳的邻居也是有一部分信息传递到当前的节点中。
最关键的这些模型,他们的区别是怎么将邻居点的信息汇聚到当前点并组合它们
图上的卷积操作
Graph Attention Networks_第10张图片
GAT所做的是节点与邻域上不同的点,算一下权重,根据权重大小来结合邻域上的节点
Graph Attention Networks_第11张图片
右边的图表示两层的神经元(即两跳),图中的正方形框表示进行的神经网络的操作,例如乘上权重或进行转置操作等
Graph Attention Networks_第12张图片
Graph Attention Networks_第13张图片
V表示点的集合;X矩阵表示有V个点,每个点的维度是m
归纳式学习
Graph Attention Networks_第14张图片

直推式学习是模型是以学到点的Embedding为准;
归纳式学习:这个模型学习完之后,可以生成一个之前完全没有见到过的一个新图(unseen graphs),即这个模型完全可以直接拿过来用,产生新图中点的Embedding。
Graph Attention Networks_第15张图片
Spatial Based Filtering(基于空域的卷积)、Spectral Based Filtering(基于频域的卷积)
GAT模型多头注意力机制
Graph Attention Networks_第16张图片

研究成果

数据集介绍
Graph Attention Networks_第17张图片
节点分类任务
Graph Attention Networks_第18张图片
Graph Attention Networks_第19张图片
图的可视化
Graph Attention Networks_第20张图片

研究意义

GAT意义

  • 图卷积神经网络最常用的几个模型之一(GCN,GAT,GraphSAGE)
  • 将attention机制引用到图神经网络中
  • 早期图神经网络表征学习的代表性工作,后期作为经典baseline
  • 支持直推式学习和归纳式学习
  • 模型具有一定的可解释性

论文泛读

摘要

摘要核心

  • 本文提出了图注意力网络(GAT),在图数据结构上使用注意力机制;
  • 为邻域中的不同节点指定了不同的权重(不同的权重是通过attention算出来的),计算效率高同时不需要预先知道图结构(即支持归纳式学习);
  • GAT模型可以适用于直推式和归纳式学习;
  • GAT算法在多个图数据集上达到最优效果。

论文小标题

Graph Attention Networks_第21张图片

论文精读

知识树
Graph Attention Networks_第22张图片

论文算法模型总览

Graph Attention Networks_第23张图片
在这里插入图片描述
GNN结构
Graph Attention Networks_第24张图片
上图中的左图为时刻1,右图为时刻2,GNN中所做的操作:经过几个时刻的卷积或者更新,然后输出点的Embedding,
Graph Attention Networks_第25张图片
对于每一个点,卷积操作(卷积层Convolutional Layer)都会包含两个部分:

  • 将邻居节点的feature进行合并 (A*X操作,其中A为邻接矩阵,X为节点的特征矩阵)
  • 再应用一个非线性函数,生成输出feature
    完成GCN是由多个卷积层构成的,
    符号表示
    Graph Attention Networks_第26张图片
    D为度矩阵,为对角线矩阵,元素表示每个节点的邻居的个数
    H(l) W0(l) 为自身矩阵的变化
    Graph Attention Networks_第27张图片
    Graph Attention Networks_第28张图片
    Graph Attention Networks_第29张图片
    GAT结构
    Graph Attention Networks_第30张图片
    图中不同颜色的线段表示不同注意力的机制,
    Graph Attention Networks_第31张图片
    Multi-head attention
    Graph Attention Networks_第32张图片
    多头代表有多组的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
Graph Attention Networks_第33张图片

Attention机制

Graph Attention Networks_第34张图片
Seq2Seq
Graph Attention Networks_第35张图片
Graph Attention Networks_第36张图片
几种经典的计算attention score的方法
Graph Attention Networks_第37张图片
Attention的类别
Graph Attention Networks_第38张图片
global/local attentionGraph Attention Networks_第39张图片
有关Attention论文的推荐
Graph Attention Networks_第40张图片
添加链接描述

Multi-head Attention

Graph Attention Networks_第41张图片

Graph Attention Networks_第42张图片

Graph Attention Networks_第43张图片
Graph Attention Networks_第44张图片

直推式学习 & 归纳式学习

Transductive Learning Task(直推式学习)

  • Training algorithm sees all node features during training
  • Trains on the labels of the training Nodes
    Graph Attention Networks_第45张图片
    直推式学习在训练中是见到了所有点的特征,即输入是这张图,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
    Graph Attention Networks_第46张图片
    归纳式学习是以图来划分的,训练和测试使用的是不同的图。

GAT算法

  • Computationally efficient (效率比较高)
  • Neighbors different importances, interpretability (对于不同的邻居具有不同的重要性,具有较好的解释性)
  • Shared manner for attention (Attention对于所有的点来说都是一样的)
  • GraphSAGE:fixed size neighbors + LSTM ordering issue (graphsage有两个不太好的点:邻居的个数的最大值是固定的;邻居是没有顺序的,但是使用的lstm是有时间序列的,论文中使用随机获取顺序)

实验设置和结果分析

Graph Attention Networks_第47张图片

论文总结

  • GAT算法详解
    讲解GAT详细算法,图神经网络消息传递方式,注意力机制,多头注意力机制
  • GAT算法特点
    分析GAT的算法特点,复杂度分析,邻居节点不同的权重,与GraphSAGE等模型的对比
  • 实验设置及结果分析
    实验设计,数据集介绍,图的节点分类效果与baselines对比,直推式和归纳式两种实验方式
  • 论文总结
    总结论文中创新点、关键点及启发点

你可能感兴趣的:(深度之眼图神经网络,神经网络,自然语言处理)