近年来,人们对深度学习方法在图上的扩展越来越感兴趣。在多方因素的成功推动下,研究人员借鉴了卷积网络、循环网络和深度自动编码器的思想,定义和设计了用于处理图数据的神经网络结构:图神经网络(Graph Neural Networks,GNN)
传统的深度学习方法在提取欧氏空间数据(如Image) 的特征方面取得了巨大的成功,但在处理非欧式空间数据(如Graph) 上的表现却仍难以使人满意。许多实际应用场景中的数据是从非欧式空间生成的,如推荐系统中的图。
图是不规则的,每个图都有一个大小可变的无序节点,图中的每个节点都有不同数量的相邻节点。 因此,一些重要的操作(如卷积),在图像(Image)上很容易计算,但不再适合直接用于图。
图中的样本不是相互独立的,图中的每个数据样本(节点)都会有边与图中其他实数据样本(节点)相关,这些信息可用于捕获实例之间的相互依赖关系。但是,现有深度学习算法的一个核心假设是数据样本之间彼此独立。
交集:Deep learning
图嵌入通过保留图的网络拓扑结构和节点内容信息,将图中顶点表示在低维向量空间中,以便使用简单的机器学习算法进行分类、聚类、推荐等操作。许多图嵌入算法通常是无监督的算法,它们可以大致可以划分为三个类别,即矩阵分解、随机游走和深度学习方法。
图嵌入的深度学习方法也属于图神经网络,包括基于图自动编码器的算法(如DNGR和SDNE)和无监督训练的图卷积神经网络(如GraphSage)。
消息传递网络(message passing neural network,MPNN)可以作为分析图学习的一个统一框架。传播过程可以视作一个消息传递的过程,分为融合与更新两步:
最后,读出(readout)过程给出一个输出向量,例如分类问题中的softmax: y ^ = R ( { h v T ∣ v ∈ G } ) \widehat y=R(\{h_v^T|v\in G\}) y =R({hvT∣v∈G})。
GCN:
M v t + 1 = D ~ − 1 2 A ~ D ~ − 1 2 H v t W t M_v^{t+1}=\widetilde D^{-\frac12}\widetilde A\widetilde D^{-\frac12}H_v^tW^t Mvt+1=D −21A D −21HvtWt
H v t + 1 = σ ( M v t + 1 ) H_v^{t+1}=\sigma(M_v^{t+1}) Hvt+1=σ(Mvt+1)
GraphSAGE:
m v t ≡ h N v t = A g g r e g a t e t ( { h u t − 1 , ∀ u ∈ N v } ) m_v^t\equiv h_{N_v}^t=Aggregate_t(\{h_u^{t-1},\forall u\in N_v\}) mvt≡hNvt=Aggregatet({hut−1,∀u∈Nv})
h v t = σ ( W t ⋅ C o n c a t ( h v t − 1 , h N v t ) ) h_v^t=\sigma(W^t\cdot Concat(h_v^{t-1},h_{N_v}^t)) hvt=σ(Wt⋅Concat(hvt−1,hNvt))
y ^ = h v t ∣ ∣ h v t ∣ ∣ \widehat y=\frac {h_v^t}{||h_v^t||} y =∣∣hvt∣∣hvt
CNN的平移不变性在非欧结构数据上不适用。为了在拓扑图上提取空间特征来进行学习,GCN引入可以优化的卷积参数。
GCN将卷积运算从传统数据推广到图数据。其核心思想是学习一个函数映射 f f f,通过该映射图中的节点 v i v_i vi可以聚合它自己的特征 x i x_i xi 与它邻居的特征 x j , j ∈ N ( v i ) x_j,j\in N(v_i) xj,j∈N(vi),来生成节点 v i v_i vi的新表示。
GCN是许多复杂图神经网络模型的基础,包括基于自动编码器的模型、生成模型和时空网络等。
传播过程对于图网络的训练是至关重要的,目前主流的方法是将卷积应用到图结构上,也就是图卷积网络(GCN)。
此外,还有将注意力机制(如:graph attention network,GAT)、门机制(如:gated graph neural network,GGNN)和残差机制(如:highway-GCN)引入图网络的方法。
CNN中的卷积:
离散卷积: 共享参数的过滤器
卷积操作: 通过计算中心像素点以及相邻像素点的加权和构成feature map;加权系数=卷积核的权重系数
卷积目的: 空间特征的提取
卷积核的系数: 随机化初值,训练中根据损失函数,通过反向传播+梯度下降进行迭代优化
从图信号处理的角度引入滤波器来定义图卷积,其中图卷积操作被解释为从图信号中去除噪声。
核心思想:《数字信号处理》中,通过引入傅里叶变换将时域信号转换到频域进行分析,进而完成一些在时域上无法完成的操作。
方法:
假设: 无向图
定义: 一个图的信号 x ∈ R N x\in R^N x∈RN,是一个由图的各个节点组成的特征向量, x i x_i xi代表第 i i i个节点。
令 g ∈ R N g\in R^N g∈RN为滤波器,
x G ∗ g = F − 1 ( F ( x ) ⊙ F ( g ) ) = U ( U T x ⊙ U T g ) x_G*g=\mathscr{F^{-1}}(\mathscr{F}(x)\odot \mathscr{F}(g))=U(U^Tx\odot U^Tg) xG∗g=F−1(F(x)⊙F(g))=U(UTx⊙UTg)
简化:令 g θ = d i a g ( U T g ) g_\theta=diag(U^Tg) gθ=diag(UTg)作为滤波器
x G ∗ g θ = U g θ U T x x_G*g_\theta=Ug_\theta U^Tx xG∗gθ=UgθUTx
⊙ \odot ⊙定义
设 A , B ∈ C m × n A,B\in C^{m\times n} A,B∈Cm×n且 A = [ a i j ] , B = [ b i j ] A=[a_{ij}],B=[b_{ij}] A=[aij],B=[bij]
矩阵 A A A与 B B B的Hadamard积:
基于谱的图卷积网络都遵循上述模式,关键的不同点在于选择的滤波器不同。
现有的基于谱的图卷积网络模型有:
直接在图上定义卷积,从邻域聚合特征信息,当图卷积网络的算法在节点层次运行时,图池化模块可以与图卷积层交错,将图粗化为高级子结构。如下图所示,这种架构设计可用于提取图的各级表示和执行图分类任务。
主要挑战: 既要对不同大小的邻域定义卷积,又要保证CNN的局部不变性。
常用方法: GraphSAGE(graph sampling and aggregating),对顶点的局部邻域进行采样和聚合来生成embedding。
为了将图像与图关联起来,可以将图像视为图的特殊形式。
Spectral-based: 最早的GCN;在图信号处理方面有一定的理论基础;通过设计新的图信号滤波器,可以从理论上设计新的图卷积网络。
Spatial-based: 近年来空间模型越来越受到关注。
效率:
通用性:
灵活性:
在GNN的聚合过程中使用注意力,整合多个模型的输出,并生成面向重要目标的随机游走。
可用方式:
GAT是一种基于空间的图卷积网络。
它的注意力机制是在聚合特征信息时,将注意机制用于确定节点邻域的权重。
GAT的图卷积运算定义为:
h i t = σ ( ∑ j ∈ N i α ( h i t − 1 , h j t − 1 ) W t − 1 h j t − 1 ) h_i^t=\sigma(\displaystyle\sum_{j\in N_i}\alpha(h_i^{t-1},h_j^{t-1})W^{t-1}h_j^{t-1}) hit=σ(j∈Ni∑α(hit−1,hjt−1)Wt−1hjt−1)
其中, α ( ⋅ ) α(·) α(⋅)是注意力函数,它自适应地控制相邻节点 j j j对节点 i i i的贡献。
为了学习不同子空间中的注意力权重,GAT还可以使用多注意力:
h i t = ∣ ∣ k = 1 K σ ( ∑ j ∈ N i α k ( h i t − 1 , h j t − 1 ) W k t − 1 h j t − 1 ) h_i^t=||_{k=1}^K\sigma(\displaystyle\sum_{j\in N_i}\alpha_k(h_i^{t-1},h_j^{t-1})W_k^{t-1}h_j^{t-1}) hit=∣∣k=1Kσ(j∈Ni∑αk(hit−1,hjt−1)Wkt−1hjt−1)
GAAN采用了多头注意力机制来更新节点的隐藏状态。
注意:GAAN并没有给每个head部分配相等的权重,而是引入了一种自注意机制,该机制为每个head计算不同的权重。
更新规则:
h i t = ϕ 0 ( x i ⨁ ∣ ∣ k = 1 K g i k ∑ j ∈ N i α k ( h i t − 1 , h j t − 1 ) ϕ v ( h j t − 1 ) ) h_i^t=\phi_0(x_i\bigoplus||_{k=1}^Kg_i^k\displaystyle\sum_{j\in N_i}\alpha_k(h_i^{t-1},h_j^{t-1})\phi_v(h_j^{t-1})) hit=ϕ0(xi⨁∣∣k=1Kgikj∈Ni∑αk(hit−1,hjt−1)ϕv(hjt−1))
其中 ϕ o , ϕ v \phi_o,\phi_v ϕo,ϕv是反馈神经网络,而 g i k g_i^k gik是第 k k k个注意力head的注意力权重。
尽管GAT和GAAN在图注意网络的框架下进行了分类,但它们也可以被视为基于空间的图形卷积网络。
GAT和GAAN的优势在于,它们能够自适应地学习邻居的重要性权重。然而,计算成本和内存消耗随着每对邻居之间的注意力权重的计算而迅速增加。
GAM提供了一个循环神经网络模型,以解决图形分类问题,通过自适应地访问一个重要节点的序列来处理图的信息。
GAM模型定义:
h t = f h ( f s ( r t − 1 , v t − 1 , g ; θ s ) , h t − 1 ; θ h ) h_t=f_h(f_s(r_{t-1},v_{t-1},g;\theta_s),h_{t-1};\theta_h) ht=fh(fs(rt−1,vt−1,g;θs),ht−1;θh)
其中, f h ( ⋅ ) f_h(·) fh(⋅)是LSTM网络, f s f_s fs是step network,它会优先访问当前节点 v t − 1 v_{t-1} vt−1优先级高的邻居,并将它们的信息进行聚合。
图自动编码器是一类图嵌入方法,是将稀疏自编码器应用于图网络中的方法,是利用图进行无监督学习的典型方法。
目的: 利用神经网络结构,将图的顶点表示为低维向量。
典型的解决方案:
探索:设计图自动编码器
基于GCN的自编码器:
图自编码器的其它变体:
DNGR和SDNE学习仅给出拓扑结构的节点嵌入。
GAE、ARGA、NetRA、DRNE用于学习当拓扑信息和节点内容特征都存在时的节点嵌入。
挑战: 解码器的正条目数远远小于负条目数(正负样本不平衡)。
解决方法:
目标: 给定一组观察到的图,生成新的图。
应用: 图生成网络的许多方法都是特定于领域的
通用方法:
GAN:生成对抗网络。由一个生成器和一个判别器组成,它们相互竞争以提高生成器的真实性。
将relational GCN、改进的GAN和强化学习目标集成在一起,以生成具有所需属性的图。在MolGAN中,生成器试图提出一个伪图及其特征矩阵,而鉴别器的目标是区分伪样本和经验数据。此外,还引入了一个与鉴别器并行的奖励网络,以鼓励生成的图根据外部评价器具有某些属性。
利用基于空间的图卷积网络来获得现有图的隐藏表示。生成节点和边的决策过程是以整个图的表示为基础的。
DGMG递归地在一个图中产生一个节点,直到达到某个停止条件。在添加新节点后的每一步,DGMG都会反复决定是否向添加的节点添加边,直到决策的判定结果变为假。如果决策为真,则评估将新添加节点连接到所有现有节点的概率分布,并从概率分布中抽取一个节点。将新节点及其边添加到现有图形后,DGMG将更新图的表示。
两个层次的循环神经网络的深度图生成模型。
图层次 RNN每次向节点序列添加一个新节点。
边层次 RNN生成一个二进制序列,指示新添加的节点与序列中以前生成的节点之间的连接。
GraphRNN采用了广度优先搜索(BFS) 策略,使得一个图线性化为一系列节点来训练图层次的RNN。
GraphRNN假定序列服从多元伯努利分布或条件伯努利分布,用于建立训练边层次的RNN的二元序列模型。
Netgan将LSTM与Wasserstein-GAN结合在一起,使用基于随机游走的方法生成图形。
图时空网络同时捕捉时空图的时空相关性。
时空图具有全局图结构,每个节点的输入随时间变化。
例如,在交通网络中,每个传感器作为一个节点连续记录某条道路的交通速度,其中交通网络的边由传感器对之间的距离决定。
目标:
主要模型:
最近的研究仅仅探讨了GCNs的使用,GCNs与RNN或CNN的结合,以及根据图结构定制的循环体系结构。
对象之间的语义关系有助于理解视觉场景背后的语义含义。
给定一幅图像,场景图生成模型检测和识别对象,并预测对象对之间的语义关系。另一个应用程序通过生成给定场景图的真实图像来反转该过程。自然语言可以被解析为语义图,其中每个词代表一个对象,这是一个有希望的解决方案,以合成给定的文本描述图像。
点云是激光雷达扫描记录的一组三维点。
此任务的解决方案使激光雷达设备能够看到周围的环境,这通常有利于无人驾驶车辆。为了识别点云所描绘的物体,将点云转换为k-最近邻图或叠加图,并利用图论进化网络来探索拓扑结构。
识别视频中包含的人类动作,有助于从机器方面更好地理解视频内容。
检测视频剪辑中人体关节的位置: 由骨骼连接的人体关节自然形成图表。给定人类关节位置的时间序列,应用时空神经网络来学习人类行为模式。
以项目和用户为节点。
通过利用项目与项目、用户与用户、用户与项目之间的关系以及内容信息,基于图的推荐系统能够生成高质量的推荐。
如:评价一个项目对用户的重要性(链路预测问题)。为了解决这个问题,有学者提出了一种基于GCN的图形自动编码器。还有学者结合GCN和RNN,来学习用户对项目评分的隐藏步骤。
交通拥堵已成为现代城市的一个热点社会问题。准确预测交通网络中的交通速度、交通量或道路密度,在路线规划和流量控制中至关重要。
采用基于图的时空神经网络方法:
有助于智能交通系统有效利用资源,节约能源。
在分子图中,原子为图中的节点,化学键为图中的边。
主要任务:
应用:
http://jacobkong.github.io/blog/4197138744/
https://zhuanlan.zhihu.com/p/75307407
https://zhuanlan.zhihu.com/p/70028587