DGNN Survey

Dynamic Graph Definition

G = ( V , E , X ) G = (V, E, X) G=(V,E,X)

V = v 1 , v 2 , . . . , v m V = {v_1, v_2, ..., v_m} V=v1,v2,...,vm

E = e i , j E = {e_{i, j}} E=ei,j , e i , j = ( v i , v j , f i , j ) e_{i,j} = (v_i, v_j, f_{i,j}) ei,j=(vi,vj,fi,j) f i , j f_{i, j} fi,j 表示 边 e i , j e_{i, j} ei,j 的特征

X X X 是表示节点特征的矩阵,矩阵的每一行是一个节点的嵌入向量

Graph Focus Task:预测未知 Graph 的 label

Extrapolation & Interpolation Learning

学习动态图神经网络的动态变化,即学习动态图随时间演化的重复模式。动态图比静态图多了一维:即,时间维度。

  • Extrapolation Learning:基于之前的 t 个图结构,预测 t+1 的 label
  • Interpolation Learning:预测丢失的 label
  • Time Prediction:根据给定的输入事件,预测时间

动态图存储模型

动态图表示随着时间演变的图,不同类型的图演变是不一样的,有的变化得非常快而有的非常慢。

动态图可以被建模为两种形式,根据演化时间的表征:

  • 离散动态图 (DTDG):由一系列 snapshots 组成,每个 snapshot 是在某个固定的时间采集到的图结构
    • 对于节点和边频繁更新的图,使用 离散动态图 进行存储更节省内存,但是,如果观察频率设置得不当,可能会导致重要时间信息的丢失。
  • 连续动态图 (CTDG):图更新的时间流
    • 连续动态图可以捕获所有的时间信息

鉴于 DTDG 和 CTDG 的利弊,选择合适的图结构是很重要的,使用不同的图结构,对应的图神经网络算法不一样。

Encoder-Decoder Learning Framework

编码器:动态图的观测结果 -> 节点 embedding (图嵌入)

解码器:对图嵌入进行解码,并预测

可以尝试不同的编码器解码器的组合,直到得到最优与具体任务的模型

图聚焦任务:设计一种聚合方法,将节点嵌入聚合到图嵌入中

Implicit & Explicit Learning Model

给定算法是显式还是隐式地将时间作为输入特征

  • 隐式时间学习模型:不会将时间作为一种独立特征输入到模型中

The success of temporal learning relies on the time based ordering of the input snapshots and the regular observation frequency

  • 显式时间学习模型:将时间作为一种显式的输入特征

显式时间学习模型具有 periodicity recognitionvector clock recognition 的能力,而隐式时间学习模型不具有这种能力

Periodicity Recognition 周期性识别

对于离散动态图,顺序模型可以学习周期模式,模型可以通过输入快照的顺序和位置来推断底层的时间戳。对于连续动态图,没有明确使用时间,这是不可行的。

Time2Vec 可以编码时间,利用时间编码,CTDG 可以更好地学习周期模式。

Vector Clock Recognition 向量时钟识别

起始节点 到 目标节点 的时间距离,是评估信息从起始节点流动到目标节点所需时间的度量。

Vector Clock:用来表示每个节点时序的一个向量,可以用来推理节点之间的出现前后关系

时间模式学习

给定 t 时刻 动态图 G t G_t Gt 的状态 ( E t , X t , t ) (E_t, X_t, t) (Et,Xt,t) E t E_t Et 表示 t 时刻的边连接关系,X_t 表示 t 时刻的节点嵌入矩阵,实现模式可以表示为:

在这里插入图片描述

其中,tp() 可分为三个阶段

DGNN Survey_第1张图片

Attribute Self-Updating

asu() 捕获外部因素对图演化(节点、边、整图属性变化)的影响,并输出 X t n + 1 ′ X'_{t_{n+1}} Xtn+1 表示 t n + 1 t_{n+1} tn+1 时刻 X 的估计

根据任务的不同,属性可能是节点属性、边属性、图属性

Association Process

描述动态图节点连接的演化过程

ap() 根据 t 时刻 节点特征、边连接、下一时刻的X估计,生成新的连接关系

Message Passing

在图分析中,假设节点是会受其邻居的影响的(Inductive Bias),Message Passing 的设计是为了学习节点如何受其邻居的影响。

Message Passing 是一种局部领域信息聚合的方法, 其通过聚合相邻节点 和边连接来更新节点embedding

离散动态图学习

static graph encoder - sequential decoder framework

DGNN Survey_第2张图片

输入DTDG的 t 个 snapshot,static graph encoder 生成 t 个 snapshot 的图嵌入矩阵,然后由 sequential decoder 进行预测

DGNN Survey_第3张图片

Static Graph Encoder

Non-Attributed Static Graph Encoder

不作关注,但是容易过拟合的任务可以尝试这个

Attributed Static Graph Encoder

这部分大多基于GNN,使用 Message Passing 来聚合邻居节点

Sequential Decoder

DTDG的有督促学习中,时间模式通过 snapshot 的演变过程来捕获

  • 时序分析方法:EMA、ARIMA
  • RNN 家族
  • 一维卷积
  • Temporal Self-Attention

你可能感兴趣的:(图深度学习,深度学习)