论文3 Spatial temporal graph convolutional networks for skeleton-based action recognition
Motivation
- 传统的建模骨架的方法通常依赖于手工特征或者遍历规则,这样会限制表达能力和泛化能力;
- 基于大规模数据集的用GCN来建模动态图的方式,目前还没有被探索过。
Model
数据可以可视化为下图:
整个模型的结构如下:
- 划分子图:作者提出一个问题,以前在对欧式数据卷积时,卷积核与特定位置领域的运算都是从上到下从左到右的默认顺序,但对于图结构的数据,并没有这种约定俗成的顺序可言,所以作者提出要对邻域进行标记,邻域中对应标签的节点乘对应的权值,如果对每个节点的邻域都这样划分,其实整个图就可以被这样划分成多个子图。
- attention层:作者将图划分成三个子图,然后对每个子图都做了一个注意力机制的处理(邻接矩阵乘一个权值矩阵),这可以被解释为不同人体部分对问题的分析有不同的影响;
- GCN层:
表示第个子图的可学习参数矩阵,则是子图的邻接矩阵,将每个子图运算结果累加,得到GCN层的输出;
TCN层:
类似于二维图像做卷积。
论文4 Diffusion Convolutional Recurrent Neural Network: Data-Driven Traffic Forecasting
这篇文章发表在ICLR 2018,提出了DCRNN模型,使用双向随机行走(bidirectional random walks)对空间依赖进行建模,使用encoder-decoder架构对时间依赖进行建模。
Motivation
现有的交通预测方法要么没考虑空间结构,要么空间结构是欧式数据,要不就是只能对无向图做时序建模。
Model
该模型是针对图结构不发生变化的带权有向的同构图。
- 空间依赖性建模:将图卷积过程视为扩散过程,由于是有向图,那么扩散就得随着边的方向游走,转移矩阵是,其中是出度矩阵,是入度矩阵,但作者认为,还应该考虑下游节点对上游的影响,因而加上了逆向的扩散过程:
- 时间依赖性建模:利用GRU对时间依赖建模,将GRU中的矩阵乘法换成了扩散卷积,提出了扩散卷积门控单元。
- - 整个结构如图,是编码解码的结构,并且用到了scheduled sampling:由于在训练阶段,解码器的输入是真实的当前序列值,而在测试阶段,解码器的输入是上一次的预测值,为了避免训练集和测试集的分布导致最终效果不好,作者提出在训练阶段,解码器的输入以一定的概率接收真实值,以接收上一次预测值。
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
这个聚合器和GAT当中的有点不同,GAT中是直接用一个全连接层来计算,而此处是有点类似自注意力机制,使用key-value注意力机制,然后用点乘计算。 - Gated attention aggregator
这个就是本篇论文的创新点,也就是用门控机制来控制每个attention head处理后的数据。
增加了一个标量,表示第个attention head在节点的门控值,的设计可以有很多种,本论文中为: - 将邻居节点的特征映射到维度,然后进行max pooling。将目标节点的输入向量和池化后的邻居节点以及邻居节点均值后得到的结果进行映射,得到K个attention head对应的门控信息。
作者另外还介绍了几个聚合器比较简单不再叙述。
在实验部分,作者将设计的聚合器和GRU结合,利用编码解码结构,实现对spatial-temporal graphs的预测建模。
和DCRNN一样也用到了scheduled sampling。