GraphSage:Inductive Representation Learning on Large Graphs

目录

  • 简介
    • 前期知识储备
    • 论文结构
    • 学习目标
  • 论文研究背景、成果及意义
    • 研究背景
    • 模型框架
    • 研究意义
  • 论文泛读
    • 摘要
    • 论文小标题
  • 论文精读
    • 论文算法模型总览
      • GNN结构
      • GraphSAGE结构
    • 论文算法模型的细节
      • 细节一:模型框架
      • 细节二:无监督/有监督
      • 细节三:多种aggregator函数
      • 细节四:batch训练算法
      • 细节五:理论分析
    • 实验设置和结果分析
      • 实验设计
      • 归纳式节点点分类实验
      • 运行效率和参数分析
      • 不同aggregator函数分析
    • 论文总结

论文题目: Inductive Representation Learning on Large Graphs
大规模网络的归纳式学习 (GraphSAGE)

GraphSage:Inductive Representation Learning on Large Graphs_第1张图片

简介

前期知识储备

GraphSage:Inductive Representation Learning on Large Graphs_第2张图片

论文结构

GraphSage:Inductive Representation Learning on Large Graphs_第3张图片

学习目标

GraphSage:Inductive Representation Learning on Large Graphs_第4张图片

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

研究背景

GraphSage:Inductive Representation Learning on Large Graphs_第5张图片

图神经网络专题要做的事情:学习一个函数ENC(),将图中的一个点映射到d维的向量。图中的两个点u、v在不做任何变换之前,在拓扑结构上他们的相似度就比较高,那么希望u、v在映射之后的空间上,他们之间的相似度也比较高。
GraphSage:Inductive Representation Learning on Large Graphs_第6张图片
GraphSage:Inductive Representation Learning on Large Graphs_第7张图片
GraphSage:Inductive Representation Learning on Large Graphs_第8张图片
GraphSage:Inductive Representation Learning on Large Graphs_第9张图片
Wk和Bk分别表示对邻居的处理方式和对自身的处理方式。
对于同一层或同一个k或在同一个时刻的GNN来说,Wk都是共享的,即所有的点在汇聚邻居的时候,都是享用同一个Wk,但是在每一层(即不同层的时候),这个Wk是不同的。
GraphSage:Inductive Representation Learning on Large Graphs_第10张图片
GCN、GAT、GraphSage这些图神经网络模型的共性:
GraphSage:Inductive Representation Learning on Large Graphs_第11张图片
GraphSage:Inductive Representation Learning on Large Graphs_第12张图片
GraphSage:Inductive Representation Learning on Large Graphs_第13张图片

第一步:定义一个邻居的汇聚方法,即如何将邻居的信息汇聚成一个vector以及如何将这个vector与自己本身的vector进行拼接;
第二步:定义一个loss function,利用反向传播算法更新学习模型中的参数,如Wk等;
第三步:选取一些节点,这里面是以点为中心的,对于每一个点来说,都是一个计算图,
用batch的训练方法,在一个点集合上,来训练一个batch上的计算图。GAT是在全局上进行训练的,而这篇论文是利用batch的训练方式进行的;
第四步:对于所有的点,通过学习得到的参数得到Embedding。

模型框架

GraphSage:Inductive Representation Learning on Large Graphs_第14张图片
模型的流程:
GraphSage:Inductive Representation Learning on Large Graphs_第15张图片
上图右边的计算图是对点A来说的一张计算图
GraphSage:Inductive Representation Learning on Large Graphs_第16张图片
GraphSage:Inductive Representation Learning on Large Graphs_第17张图片
GraphSage:Inductive Representation Learning on Large Graphs_第18张图片
算法2为一个batch的训练方法
GraphSage:Inductive Representation Learning on Large Graphs_第19张图片
数据集介绍
GraphSage:Inductive Representation Learning on Large Graphs_第20张图片
节点分类任务
GraphSage:Inductive Representation Learning on Large Graphs_第21张图片
运行效率和参数分析
GraphSage:Inductive Representation Learning on Large Graphs_第22张图片

研究意义

GraphSAGE(SAmple and aggreGatE)意义

  • 图卷积神经网络最常用的几个模型之一(GCN、GAT、GraphSAGE)
  • 归纳式学习(Inductive Learning)
  • 不同于之前的学习node embedding,提出学习aggregators等函数的方式
  • 探讨了多种的aggregator方式(mean、pooling、lstm)
  • 图表征学习的经典baseline

论文泛读

摘要

摘要核心

  • 本文提出了一种归纳式学习模型,可以得到新点/新图的表征。
  • GraphSAGE模型通过学习一组函数来得到点的表征。
  • 采样并汇聚点的邻居特征与节点的特征拼接得到点的特征。
  • GraphSAGE算法在直推式和归纳式学习均达到最优效果。

论文小标题

GraphSage:Inductive Representation Learning on Large Graphs_第23张图片

论文精读

GraphSage:Inductive Representation Learning on Large Graphs_第24张图片

论文算法模型总览

GNN结构

GraphSage:Inductive Representation Learning on Large Graphs_第25张图片

GraphSAGE结构

GraphSage:Inductive Representation Learning on Large Graphs_第26张图片
两个步骤:sample && aggregate
此模型考虑的邻居大小是固定的数,GAT里面会考虑所有的一跳的邻居
GraphSage:Inductive Representation Learning on Large Graphs_第27张图片
第一层:A、C到B;A、B、E、F到C;A到D
第二层:B、C、D到A
GraphSage:Inductive Representation Learning on Large Graphs_第28张图片
GraphSage:Inductive Representation Learning on Large Graphs_第29张图片

论文算法模型的细节

细节一:模型框架

GraphSage:Inductive Representation Learning on Large Graphs_第30张图片

细节二:无监督/有监督

邻居的定义:
GraphSage:Inductive Representation Learning on Large Graphs_第31张图片
无监督
The graph-based loss function encourages nearby nodes to have similar representaions, while enforcing that the representations of disparate nodes are highly distinct:
GraphSage:Inductive Representation Learning on Large Graphs_第32张图片
v是以点u为中心,执行random walk采样得到的点;log(sigmoid(zuTzv ))为正样本,因为v是通过random walk采样得到的,因此点v和点u是比较靠近的点;vn~ Pn(v)指服从一个分布,按照这个分布取负样本,与负样本的距离要尽可能的远。
Loss:附近的节点具有相似的Embedding表示,不同节点的Embedding表示不同(negative sampling)
有监督
在这里插入图片描述

细节三:多种aggregator函数

GraphSage:Inductive Representation Learning on Large Graphs_第33张图片
symmetric:对称的
节点无顺序可言
GraphSage:Inductive Representation Learning on Large Graphs_第34张图片
没有做拼接操作,算法中的连接方式可以有效保留自身的信息,不与邻居之间的信息做混合。
在这里插入图片描述
permutation:排列
GraphSage:Inductive Representation Learning on Large Graphs_第35张图片

细节四:batch训练算法

GraphSage:Inductive Representation Learning on Large Graphs_第36张图片
Batch训练时,需要更新的参数为这个batch里面的点以及这个batch里面的点对应的邻居就可以。
为什么要用batch这个训练方式?
batch这种训练方式避免去更新所有点的embedding,但是在当前这个batch下,只去更新我们用到的点的embedding,不做全点的更新。batch所用到的点的邻居的embedding

细节五:理论分析

WL-test
测试两个图是否是同构图(同构图定义:通过变换顶点和度可以转换成相同形状的图,两个图看上去不一样,通过变形后变成同一个图,说明它们的本质是相同的)。
如何做的?
GraphSage:Inductive Representation Learning on Large Graphs_第37张图片
GraphSage:Inductive Representation Learning on Large Graphs_第38张图片
GraphSage:Inductive Representation Learning on Large Graphs_第39张图片
clustering coefficient
GraphSage:Inductive Representation Learning on Large Graphs_第40张图片
定义可以对点进行定义,例如Ci表示点i,ki表示点的度,假设有ki个邻居,将这ki个邻居的子图抽出来,那么这ki个点构成的最密的图是[ki(ki-1)]/2,即两两节点相连,这是理想的情况,而分子是真实的一跳的邻居。因此Ci越大,证明局部的邻居密度越密,周围点构成的子图的密度。

实验设置和结果分析

实验设计

与baseline方法进行相比较;
分析自己的模型

归纳式节点点分类实验

运行效率和参数分析

GraphSage:Inductive Representation Learning on Large Graphs_第41张图片
GraphSage:Inductive Representation Learning on Large Graphs_第42张图片
善于发现自己模型的优点,并且展现出来。

不同aggregator函数分析

论文总结

关键点:

  • 模型结构
  • 邻居sample以及LSTM顺序
  • Batch训练方式
    创新点:
  • 归纳式学习
  • 多种aggregator的探讨
  • 理论分析
    启发点:
  • 归纳式学习的方式,演化图以及完全的新图
  • 多种aggregators函数的讨论
  • Batch训练方式,sample邻居,性能高效
  • GCN、GAT、GraphSAGE都是非常重要的模型,也是经典的baseline
  • 与GNN常用框架之间的联系

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