时序图神经网络总结(2)

2018

  • 论文3 Spatial temporal graph convolutional networks for skeleton-based action recognition
    • Motivation
    • Model
  • 论文4 Diffusion Convolutional Recurrent Neural Network: Data-Driven Traffic Forecasting
    • Motivation
    • Model
  • 论文5 GaAN: Gated Attention Networks for Learning on Large and Spatiotemporal Graphs
    • Motivation
    • Model
      • 聚合器

论文3 Spatial temporal graph convolutional networks for skeleton-based action recognition

这篇文章发表在AAAI 2018,提出了ST-GCN模型,用于基于骨架的动作识别,将问题抽象一下其实就是针对图结构不发生改变的不带权无向同构图的分类问题。

Motivation

  • 传统的建模骨架的方法通常依赖于手工特征或者遍历规则,这样会限制表达能力和泛化能力;
  • 基于大规模数据集的用GCN来建模动态图的方式,目前还没有被探索过。

Model

数据可以可视化为下图:
时序图神经网络总结(2)_第1张图片
整个模型的结构如下:
时序图神经网络总结(2)_第2张图片

  • 划分子图:作者提出一个问题,以前在对欧式数据卷积时,卷积核与特定位置领域的运算都是从上到下从左到右的默认顺序,但对于图结构的数据,并没有这种约定俗成的顺序可言,所以作者提出要对邻域进行标记,邻域中对应标签的节点乘对应的权值,如果对每个节点的邻域都这样划分,其实整个图就可以被这样划分成多个子图。时序图神经网络总结(2)_第3张图片
  • attention层:作者将图划分成三个子图,然后对每个子图都做了一个注意力机制的处理(邻接矩阵乘一个权值矩阵),这可以被解释为不同人体部分对问题的分析有不同的影响;
  • GCN层:
    f o u t = ∑ j Λ − 1 2 A j Λ − 1 2 f i n W j f_{out}=\sum_j\Lambda^{-\frac{1}{2}}A_j\Lambda^{-\frac 1 2}f_{in}W_j fout=jΛ21AjΛ21finWj W j Wj Wj表示第 j j j个子图的可学习参数矩阵, A j A_j Aj则是 j j j子图的邻接矩阵,将每个子图运算结果累加,得到GCN层的输出;
    TCN层:时序图神经网络总结(2)_第4张图片
    类似于二维图像做卷积。

论文4 Diffusion Convolutional Recurrent Neural Network: Data-Driven Traffic Forecasting

这篇文章发表在ICLR 2018,提出了DCRNN模型,使用双向随机行走(bidirectional random walks)对空间依赖进行建模,使用encoder-decoder架构对时间依赖进行建模。

Motivation

现有的交通预测方法要么没考虑空间结构,要么空间结构是欧式数据,要不就是只能对无向图做时序建模。

Model

该模型是针对图结构不发生变化的带权有向的同构图
[ X ( t − T ′ + 1 ) , … , X ( t ) ; G ] → h ( ⋅ ) [ X ( t + 1 ) , … , X ( t + T ) ] [X^{(t-T'+1)},\ldots,X^{(t)};G]\rightarrow^{h(·)}[X^{(t+1)},\ldots,X^{(t+T)}] [X(tT+1),,X(t);G]h()[X(t+1),,X(t+T)]

  • 空间依赖性建模:将图卷积过程视为扩散过程,由于是有向图,那么扩散就得随着边的方向游走,转移矩阵是 D o W D_oW DoW,其中 D o D_o Do是出度矩阵, W W W是入度矩阵,但作者认为,还应该考虑下游节点对上游的影响,因而加上了逆向的扩散过程:
    X : , p ⋆ G f θ = ∑ k = 0 K − 1 ( θ k , 1 ( D o − 1 W ) k + θ k , 2 ( D I − 1 W T ) k ) X : , p X_{:,p\star G}f_\theta=\sum_{k=0}^{K-1}(\theta_{k,1}{(D_o^{-1}W)}^k+\theta_{k,2}{(D_I^{-1}W^T)}^k)X_{:,p} X:,pGfθ=k=0K1(θk,1(Do1W)k+θk,2(DI1WT)k)X:,p
  • 时间依赖性建模:利用GRU对时间依赖建模,将GRU中的矩阵乘法换成了扩散卷积,提出了扩散卷积门控单元。
    -时序图神经网络总结(2)_第5张图片
    整个结构如图,是编码解码的结构,并且用到了scheduled sampling:由于在训练阶段,解码器的输入是真实的当前序列值,而在测试阶段,解码器的输入是上一次的预测值,为了避免训练集和测试集的分布导致最终效果不好,作者提出在训练阶段,解码器的输入以一定的概率 ϵ \epsilon ϵ接收真实值,以 1 − ϵ 1-\epsilon 1ϵ接收上一次预测值。

论文5 GaAN: Gated Attention Networks for Learning on Large and Spatiotemporal Graphs

这篇文章发表于UAI 2018。

Motivation

the multi-head attention被GAT用来作为graph aggregator,一个attention head聚合在一个子空间中和query相似的元素,使用the multi-head attention则可以捕捉不同子空间的特征。但作者认为,平等地对待各个头部是不合适的,比如如果在一个图中有十种关系,但其中只有两种是有效的,如果使用十个attention head来建模这些关系,并且认为每个关系的重要性都是一样的,那这样可能会将其他八种不存在的子空间的信息也被聚合。

Model

作者这里提出了GaAN,利用门控机制来控制如何聚合子空间的信息。其实也很简单,作者在论文中介绍了多种聚合器的设计,以及结合GRU,构成GGRU,可以用于处理spatial-temporal graphs。

聚合器

  • Multi-head attention aggregator
    y i = F C θ o ( x i ⊕ ∣ ∣ k = 1 K ∑ j ∈ N i w i , j ( k ) F C θ v ( k ) h ( z j ) ) w i , j ( k ) = e x p ( ϕ w ( k ) ( x i , z j ) ) ∑ l = 1 ∣ N i ∣ e x p ( ϕ w ( k ) ( x i , z l ) ) ϕ w ( k ) ( x , z ) = < F C θ x a ( k ) ( x ) , F C θ z a ( k ) ( z ) > y_i=FC_{\theta_o}(x_i\oplus||_{k=1}^K\sum_{j∈N_i}w_{i,j}^{(k)}FC_{\theta_v^{(k)}}^h(z_j))\\ w_{i,j}^{(k)}=\frac {exp(\phi^{(k)}_w(x_i,z_j))}{\sum_{l=1}^{|N_i|}exp(\phi^{(k)}_w(x_i,z_l))}\\ \phi_w^{(k)}(x,z)= yi=FCθo(xik=1KjNiwi,j(k)FCθv(k)h(zj))wi,j(k)=l=1Niexp(ϕw(k)(xi,zl))exp(ϕw(k)(xi,zj))ϕw(k)(x,z)=<FCθxa(k)(x),FCθza(k)(z)>
    这个聚合器和GAT当中的有点不同,GAT中是直接用一个全连接层来计算,而此处是有点类似自注意力机制,使用key-value注意力机制,然后用点乘计算。
  • Gated attention aggregator
    这个就是本篇论文的创新点,也就是用门控机制来控制每个attention head处理后的数据。
    y i = F C θ o ( x i ⊕ ∣ ∣ k = 1 K ∑ j ∈ N i g i ( k ) w i , j ( k ) F C θ v ( k ) h ( z j ) ) w i , j ( k ) = e x p ( ϕ w ( k ) ( x i , z j ) ) ∑ l = 1 ∣ N i ∣ e x p ( ϕ w ( k ) ( x i , z l ) ) ϕ w ( k ) ( x , z ) = < F C θ x a ( k ) ( x ) , F C θ z a ( k ) ( z ) > g i = [ g i ( 1 ) , … , g i ( K ) ] = ψ g ( x i , z N i ) y_i=FC_{\theta_o}(x_i\oplus||_{k=1}^K\sum_{j∈N_i}g_i^{(k)}w_{i,j}^{(k)}FC_{\theta_v^{(k)}}^h(z_j))\\ w_{i,j}^{(k)}=\frac {exp(\phi^{(k)}_w(x_i,z_j))}{\sum_{l=1}^{|N_i|}exp(\phi^{(k)}_w(x_i,z_l))}\\ \phi_w^{(k)}(x,z)=\\ g_i=[g_i^{(1)},\ldots,g_i^{(K)}]=\mathcal{\psi}_g(x_i,z_{N_i}) yi=FCθo(xik=1KjNigi(k)wi,j(k)FCθv(k)h(zj))wi,j(k)=l=1Niexp(ϕw(k)(xi,zl))exp(ϕw(k)(xi,zj))ϕw(k)(x,z)=<FCθxa(k)(x),FCθza(k)(z)>gi=[gi(1),,gi(K)]=ψg(xi,zNi)
    增加了一个标量 g i ( k ) g_i^{(k)} gi(k),表示第 k k k个attention head在节点 i i i的门控值, ψ g \psi_g ψg的设计可以有很多种,本论文中为:
    在这里插入图片描述
    θ m \theta_m θm将邻居节点的特征映射到 d m d_m dm维度,然后进行max pooling。将目标节点的输入向量和池化后的邻居节点以及邻居节点均值后得到的结果进行映射,得到K个attention head对应的门控信息。

作者另外还介绍了几个聚合器比较简单不再叙述。

在实验部分,作者将设计的聚合器和GRU结合,利用编码解码结构,实现对spatial-temporal graphs的预测建模。
时序图神经网络总结(2)_第6张图片
和DCRNN一样也用到了scheduled sampling。

你可能感兴趣的:(图神经网络,深度学习,人工智能,算法)