AAAI 2020丨奥卢大学:基于 NAS 的 GCN 网络设计(视频解读)

2020 年 1 月 10 日 AI科技评论

作者 | 彭伟

编辑 | Camel


本篇文章介绍奥卢大学在AAAI 2020 上的一项工作, Learning Graph Convolutional Network for Skeleton-based Human Action Recognition by Neural Searching。

本篇文章提供文字和15分钟视频两种解读,以方便读者了解。


论文简介

基于skeleton数据的动作识别是计算机视觉领域中一个非常热门的研究话题。使用图卷积(GCN)来建模这种不规则的数据也取得了很好的效果。但是这个任务中的GCN有两个方面可以去改善。首先,大部分GCN都提供一个单一的(各层share),固定的矩阵来编码数据节点之间的邻接关系。其次,大部分的GCN都是基于一阶的切比雪夫多项式进行估计的。

我们认为,将高层的特征表示限制是低层的拓扑结构当中是一种不合理的做法。此外,一阶的多项式估计并不能很好的捕捉到高阶的邻接关系。本文提出一种基于NAS的GCN设计方案。文章通过多个Graph的功能模块构建出一个搜索空间并且相应的提出一种高效的搜索策略。Searched GCN在两个大规模的Skeleton-based动作识别任务上测试都达到最好的性能。

或者扫码到社区收看


文字版论文解读:
动作识别(Action recognition) 是计算机视觉领域中一个非常热门的研究话题。它具有很多有价值的应用,例如 安全监控,行为分析, 以及人机交互等等。但是,这个研究课题同时也是一个很有挑战的问题,尤其是对于背景极其复杂,或是存在遮挡的情况。Skeleton 数据的出现,很大程度上解决了这一类的问题。Skeleton数据当中包含和运动直接相关的信息,对背景具有更好的鲁棒性,同时也能够有效的改善遮挡以及自遮挡的问题。因此,基于skeleton数据的动作识别也是一个非常具有吸引力的研究课题。 
但是对于skeleton这种不规则的具有图结构的数据,相对于image或者是video这种规整数据,使用经典的CNN 等神经网络进行特征提取就要困难很多了。但是,从2018年起,不断出现使用图卷积(Graph Convolutional Networks,GCN)来处理这个问题的工作。基于前面的工作,本文也是想要通过改善GCN来进一步的提升基于骨架信息的动作识别的性能。
虽然GCN极大的提高了动作识别的性能, 但是还是存在很多需要改进的地方。这里我们主要从以下的两个方面去改善现有的GCN。首先, 在这个任务当中大多数的GCN都是提供一个固定的矩阵(Embedding Matrix, EM)来编码数据节点之间的邻接关系,并且这个矩阵从第一层到最后一层一直都用。其次,在这个任务上,大部分的GCN都是基于ICLR2017 Max [2]他们的工作做的。也就是说这一类的GCN都是通过一阶的 切比雪夫多项式(Chebshev polynomial)进行估计的。而我们认为,将高层的特征表示限制是底层的拓扑结构当中是不合理的一种做法。此外,一阶的多项式估计并不能很好的捕捉到高阶的邻接关系。

我们设计的8种EM生成的模块。 下面三种根据特征表示进行投影,然后通过自相关矩阵得到。 上面五个表示各个阶数的切比雪夫多项式。

那么如何根据各个网络层的特点提供自动的EM,以及如何提供更加高阶的EM就是本文要解决的问题了。我们一个一个问题来看。

首先, 如何提供一种自动化的EM生成机制。实际上,在CVPR2019的一篇工作[1]当中,已经提出了一种自适应生成EM的方式。但是在此工作当中,他们对每一层都采用同样的机制来自动的构建这个矩阵,而并没有去探究不同的生成机制,也没有探讨不同的层是否应该采用相同的矩阵的生成机制。基于此,我们提出了三种动态生成此EM的方式。基本的原理就是通过求解某一层 的特征表示的自相关矩阵,归一化此矩阵用作EM矩阵。但是,在求解该矩阵之前,对该层的特征表示先进行了投影以抽取和该矩阵更加相关的一种特征表示。而此处我们设计的三种EM的生成模块就是根据三种不同的投影方式构造的。具体如图1的下半部分当中的三个模块。

其次,我们来看如何捕捉更加高阶的图节点关系。其实,很简单。当前的GCN不能够很好的捕捉到该信息,是因为GCN采用的乃是一阶的切比雪夫多项式进行估计的。那么我们只需要引入高阶的切比雪夫多项式就可以捕捉到这种信息。然而新的问题是,各层都应该采用高阶的多项式估计吗?这显然会增加计算量,同时我们也不确定是不是每一层都要这样做。因为,我们知道通过网络的堆叠实际上是类似于增大了网络的感受野,因此也可以捕捉到高阶的节点关系。此外,多项式当中的每一项的贡献是一样的吗?可以减少吗?带着这样的疑问,我们构建了一个四阶的多项式,然后对于最高阶的输出还做一个规范化。并且我们将这总共五个部分,作为五个模块来生成不同阶数的矩阵。

因此,对于每一GCN层来讲,如图1所示,都有8种生成一个EM矩阵的方式可供选择。同时处在不同层级的特征表示的抽象程度不一样,因此我们认为应该提供一种layer-wise的 解决方案。显然,这将会有8的十次方(由于在这个任务当中通常会有10个GCN层)这么多种可能。通过手工的调节和寻找显然是不行的。因此,我们借助于自动网络搜索(NAS)的方式来解决这个问题。

具体来讲,我们将这里设计的8种功能模块作为NAS搜索空间当中的8种操作子,也就是将其看作是一个类似于卷积核一样的操作,然后基于这8个功能模块,构建一个搜索空间。类似于著名的NAS算法DARTS [3],我们可以将所有的功能模块放到每一层,然后给每一个功能模块赋一个权重,将该权重看作是待搜索的网络的架构。然后, 基于此交替的在训练的数据集上面训练这个超级网络,在验证集上面更新架构的参数。最终得到一个性能最优的结构就可以了。

但是DARTS这种基于梯度的算法最大的问题就是耗内存,你需要在每一个时刻把架构所有的模块放到内存当中。但是,在我们的任务当中,我们并不想像图像识别当中NAS一样,在一个小的数据集(CIFAR10)上面搜索,然后到自己的目标数据集上面去训练。这种操作有几个问题:1.会引入domain shift的问题(你怎么知道在小数据集上面好使,在大的上面就好使啊?),2. 在自己的任务上不一定存在一个合适的代理数据集(proxy dataset),类似于CIFAR10。在我们这个任务说我们想直接在目标任务数据集上搜索,而不在额外的花精力去构建一个合理的代理数据集。

如此,基于以上的搜索空间,我们想同时提出一种内存高效的搜索算法。这种算法,他不局限于一个连续的搜索空间,当你有足够的卡的时候可以全部模块都激活,当你没有的时候,只激活其中的一个。因此,我们选择了一种不是基于梯度的搜索算法,其实是一种基于采样的演化算法策略。但是,一般的演化算法效率都非常的低,因此我们使用的是一种高效采样的演化策略。

具体来讲,我们算法叫做CEIM:Cross-Entropy method with Importance-Mixing. 这种搜索算法通过一种分布(这里高斯分布)来建模待搜索架构的分布,然后通过更新这个分布来更新架构搜索的过程。于此同时,该算法通过混合当前迭代和上一次迭代的样本来提高采样的效率。具体的步骤如下图:


CEIM 算法示意

总的来讲, 在CEIM算法当中,主要有四个步骤。首先,对架构参数用高斯分布建模;接下来,从架构的分布当中采样一组样本(New samples),并且和上一轮迭代当中的样本共同组成候选的样本;然后,通过这些样本在当前分布以及在上一个迭代的分布当中的概率密度进行选择,采样一组样本(Importance-Mixing);最后,计算每一个样本的性能表现,由此对这一组样本分配不同的权重,然后加权来更新架构的分布。由于该算法是基于采样的一种算法,不需要对架构的参数进行求导。因此,在更新网络的过程中,完全可以通过多项式采样的方式只激活部分的架构,通过这种方式来减少内存的消耗。具体的算法如下:

OK这就是本文的核心思想,一些具体的细节可以参考文章。这里,我们来看一些实验结果。实验中使用的数据集是当前最大规模的两个数据集,一个是NTU-RGB D,另一个是Kinetics-Skeleton(这个是用Open Pose提的)。首先,我们来看一下搜索的结果。这里我们保留了权重大于0.1的模块。

这里我们可以发现,的确在不同的层GCN倾向于使用不同的EM的生成方式。我们看最右边的三列,我们发现在底层的时候,由于特征还比较低层GCN更喜欢使用更多的模块来生成这个矩阵。同时我们还发现,基于空间信息的投影主要出现在较底层的GCN,而基于时间的卷积投影却出现在了每一层,甚至在高层的时候只出现了后者。然后,我们再来看高阶的估计(左边的5列),我们会发现二阶的估计在中间的几层出现。然后到了最后一层,实际上是不需要任何一种多项式估计的。同时,我们还发现,原始的(手动设计的)矩阵并没有在任何一层被选中,这个给我了我们一些在设计GCN时候的新启发。

接下来我们看一下性能方面的比较。首先是Ablation study相关的实验。我们想验证我们采用这种方式的有效性。这部分的实验是在 NTU-RGB D数据集上的Corss-view 测评下进行的。首先,我们将本文当中设计的模块,手动的加到GCN网络当中。我们发现,他们几乎都能够提升baseline的表现,这证明我们设计的模块是合理的。同时,我们也发现,将所有的模块同时添加到GCN当中并不能保证得到最好的性能。这也证明了通过NAS进行自动设计的必要性。我们可以从最终的结果发现,使用我们的NAS算法,可以得到最好的性能,几乎都能够得到1%左右的提升。最后, 我们在这两个数据集上面和当前的State-of-the-art 方法进行比较。结果如下,在不同的测试协议和不同的数据库上面,我们都能够得到当前最好的性能。

接下来我们看一下性能方面的比较。首先是Ablation study相关的实验(Table 2)。我们想验证我们采用这种方式的有效性。这部分的实验是在 NTU-RGB D数据集上的Corss-View 测评下进行的。首先,我们将本文当中设计的模块,手动的加到GCN网络当中。我们发现,他们几乎都能够提升baseline的表现,这证明我们设计的模块是合理的。同时,我们也发现,将所有的模块同时添加到GCN当中并不能保证得到最好的性能。这也证明了通过NAS进行自动设计的必要性。我们可以从最终的结果发现,使用我们的NAS算法,可以得到最好的性能,几乎都能够得到1%左右的提升。最后, 我们在这两个数据集上面和当前的State-of-the-art 方法进行比较。结果如下Table3 4,在不同的测试协议和不同的数据库上面,我们都能够得到当前最好的性能。

结论

我们这篇文章应该是第一个尝试采用NAS来设计GCN的工作吧(据我所知)。由于GCN并没有很多的算子(operations),并且这个EM矩阵对于GCN来说更加的重要。因此,我们尝试设计一系列的EM生成模块,然后基于这些模块来构建一个NAS的搜索空间。同时,我们也为这个搜索空间提出一种新的,基于高效的演化策略的搜索算法。最终,我们在动作识别上,通过搜索得到一个最优的架构,同时在当前最大的两个数据集上面得到最好的性能。


作者简介

彭伟,奥卢大学(芬兰)博士二年级研究生。 已经在AAAI, ICCV,TOMM,FG等会议和期刊上发表多篇论文。研究的内容包括动作识别,深度学习网络设计,情感计算等等。来到芬兰前在厦门大学取得硕士学位,在电子科技大学取得学士学位。


更多AAAI 2020信息,将在「AAAI 2020 交流群」中进行,加群方式:添加AI研习社顶会小助手(AIyanxishe2),备注「AAAI」,邀请入群。



AAAI 2020 论文集:
AAAI 2020 论文解读会 @ 望京(附PPT下载)

AAAI 2020 论文解读系列:

01. [中科院自动化所] 通过识别和翻译交互打造更优的语音翻译模型
02. [中科院自动化所] 全新视角,探究「目标检测」与「实例分割」的互惠关系
03. [北理工] 新角度看双线性池化,冗余、突发性问题本质源于哪里?
04. [复旦大学] 利用场景图针对图像序列进行故事生成
05. [腾讯 AI Lab] 2100场王者荣耀,1v1胜率99.8%,腾讯绝悟 AI 技术解读
06. [复旦大学] 多任务学习,如何设计一个更好的参数共享机制?
07. [清华大学] 话到嘴边却忘了?这个模型能帮你 | 多通道反向词典模型
08. [北航等] DualVD: 一种视觉对话新框架
09. [清华大学] 借助BabelNet构建多语言义原知识库
10. [微软亚研] 沟壑易填:端到端语音翻译中预训练和微调的衔接方法
11. [微软亚研] 时间可以是二维的吗?基于二维时间图的视频内容片段检测
12. [清华大学] 用于少次关系学习的神经网络雪球机制

13. [中科院自动化所] 通过解纠缠模型探测语义和语法的大脑表征机制

14. [中科院自动化所] 多模态基准指导的生成式多模态自动文摘

15. [南京大学] 利用多头注意力机制生成多样性翻译

16. [UCSB 王威廉组] 零样本学习,来扩充知识图谱(视频解读)

17. [上交大] 基于图像查询的视频检索,代码已开源!


    


点击“阅读原文” 前往 AAAI 2020 专题页

登录查看更多
0

相关内容

图卷积网络(简称GCN),由Thomas Kpif于2017年在论文Semi-supervised classification with graph convolutional networks中提出。它为图(graph)结构数据的处理提供了一个崭新的思路,将深度学习中常用于图像的卷积神经网络应用到图数据上。

知识荟萃

精品入门和进阶教程、论文和代码整理等

更多

查看相关VIP内容、论文、资讯等
基于多头注意力胶囊网络的文本分类模型
专知会员服务
76+阅读 · 2020年5月24日
基于小样本学习的图像分类技术综述
专知会员服务
148+阅读 · 2020年5月6日
近期必读的5篇AI顶会CVPR 2020 GNN (图神经网络) 相关论文
专知会员服务
78+阅读 · 2020年3月3日
Capsule Networks,胶囊网络,57页ppt,布法罗大学
专知会员服务
65+阅读 · 2020年2月29日
比手工模型快10~100倍,谷歌揭秘视频NAS三大法宝
【NeurIPS 2019】7篇自动化神经网络搜索(NAS)论文简读
中国人工智能学会
15+阅读 · 2019年9月13日
如何评价ST-GCN动作识别算法?
极市平台
16+阅读 · 2019年5月14日
【紫冬分享】基于人体骨架的行为识别
中国科学院自动化研究所
20+阅读 · 2019年1月18日
直播 | 大讲堂:基于小波变换的图卷积神经网络
AI科技评论
8+阅读 · 2019年1月3日
Arxiv
6+阅读 · 2019年4月8日
Arxiv
15+阅读 · 2019年3月16日
Arxiv
23+阅读 · 2018年10月24日
VIP会员
相关资讯
比手工模型快10~100倍,谷歌揭秘视频NAS三大法宝
【NeurIPS 2019】7篇自动化神经网络搜索(NAS)论文简读
中国人工智能学会
15+阅读 · 2019年9月13日
如何评价ST-GCN动作识别算法?
极市平台
16+阅读 · 2019年5月14日
【紫冬分享】基于人体骨架的行为识别
中国科学院自动化研究所
20+阅读 · 2019年1月18日
直播 | 大讲堂:基于小波变换的图卷积神经网络
AI科技评论
8+阅读 · 2019年1月3日
Top
微信扫码咨询专知VIP会员