由图卷积网络(GCN)推动的基于骨骼数据的人体动作识别由于其非欧氏结构数据具有强大的建模能力而备受关注。然而,许多现有的 GCN 方法都提供了预定义的图结构,这可能会丢失隐式的联合相关性。因此,探索更好的 GCN 架构则成为了亟需解决的问题。为了解决这些问题,本文的作者使用了神经结构搜索(NAS)的思路,提出了第一个可自动化设计的 GCN,该模型可用于基于骨骼数据的行为识别。在充分研究节点之间的时空相关性之后,作者通过提供多个动态图模块来丰富搜索空间。此外,作者引入了多跳模块,希望突破一阶逼近对表示能力的限制。相关论文已被 AAAI20 接收。本文是 AI 前线第 100 篇论文导读,我们将详细介绍这一搜索方法。
背景介绍
行为识别是一个很有价值且具有挑战性的研究课题,具有广泛的潜在应用,例如安全监控、人机交互和自动驾驶。如今,作为表观数据和深度数据的替代方法,骨骼数据已广泛用于动作识别中。一个重要的原因是骨骼数据传达的是人体运动的紧凑信息,因此它对于视点变化,遮挡物和自我遮挡等复杂环境具有鲁棒性。已有的工作将骨架数据重组为一种网格形状的结构,从而可以实现传统的递归神经网络(RNN)和卷积神经网络(CNN)。尽管在动作识别方面已经看到了实质性的改进,但是由于骨架数据位于非欧几里德几何空间中,因此无法充分受益于深度学习的出色表示能力。
目前,图卷积网络(GCN)已被引入基于骨骼的动作识别中,并取得了显著的进展。但是,大多数 GCN 方法都是基于具有固定拓扑约束的预定义图,该图会忽略隐式联合相关性。 部分工作使用了基于节点相似性的自适应图来替换固定图。但是,它提供了整个网络的共享机制,并且几乎没有讨论时空相关性。我们认为不同的层包含不同的语义信息,因此应使用特定于层的机制来构造动态图。此外,主流 GCN 倾向于采用一阶 Chebyshev 多项式近似以减少计算开销,由于没有考虑到高阶连接,因此其表征能力受到限制。最新的一些研究成果引入了高阶近似,以使 GCN 的感受野更大。但是这些工作都没有考虑到每个分量在近似中的贡献不同。显然,为不同的任务设计这种不同的功能模块的工作量是很大的,并且需要大量的调整和测试。
为了解决这个问题,本文着重于减少图卷积结构设计过程中的人工操作。作者通过自动神经结构搜索(NAS),用动态结构取代了固定图结构,并探索了不同的图以及不同语义级别的生成机制。 NAS 的目的是在合理的计算预算下,以更少的人力资源或纯粹在没有人工帮助的情况下获得高级神经网络结构。但是,将 NAS 应用于 GCN 并非易事。像骨架这样的图形数据没有卷积运算所需的位置和顺序信息,而当前的 NAS 方法专注于神经运算的设计。此外,由于 GCN 本身是一个较新的研究领域,所以现有的运算操作非常有限,例如,GCN 甚至没有通用的池化运算。因此,作者尝试在由多个图形功能模块构建的 GCN 空间中进行搜索。
此外,作者使用一种高样本效率的深度神经进化策略(ES),以通过估计架构分布来探索最佳的 GCN 结构。它可以在连续和离散搜索空间中进行。因此,可以在每次迭代时激活一个功能模块,以节省内存的方式进行搜索。借助用于 GCN 的 NAS,模型可以自动构建图卷积网络以从骨骼数据中识别动作。为了评估所提出的方法,作者在两个大型数据集 NTU RGB+D 和 Kinetcis-Skeleton 上进行了综合实验。结果表明,本文提出的模型对主题和视图变化具有鲁棒性,并实现了目前最佳的性能。
本文的贡献点主要可以归纳为:
打破了 GCN 由固定图导致的局限性,作者首次提出了基于 NAS 的图卷积结构,该结构可用于基于骨骼的行为识别。
作者从以下两个方面丰富了 GCN 的搜索空间。首先,在各种时空图模块的基础上提供了多个动态图子结构。其次,通过使用 Chebyshev 多项式逼近建立更高阶的连接来扩大 GCN 卷积的感受野。
为了提高搜索效率,设计了一种最新的基于进化的 NAS 搜索策略,该策略具有高效的采样和储存效率。
方法
这一部分将详细介绍基于搜索的 GCN,首先我们将简要介绍一下如何使用 GCN 建模空间图。
搜索图卷积网络
作者将骨骼数据中的人类动作识别问题视为一系列图 G = {G_1,G_2,…,G_T}的图分类任务。每个图的节点和边分别表示骨骼结构的连接点和骨干。然后,可以将该任务构造为图数据上的监督学习问题,其目的是使用 GCN 学习 G 的鲁棒表示,从而更好地预测动作类别。为此,作者使用神经结构搜索来构建此 GCN,该 GCN 将自动为不同语义级别的层组装图生成模块。
GCN 搜索空间
在 NAS 中,神经搜索空间决定了构建神经网络需要采取哪些神经运算以及如何进行神经运算。作者在由多个 GCN 模块构建的空间中进行搜索,以探索不同表示级别的动态图的最佳模块组合。作者提出的 GCN 块也是一个时空块,它不提供预定义的图,而是根据不同功能模块捕获的节点相关性来生成动态图。主要有两种相关性被捕获以构建动态图。
图 1:搜索空间示意图。 这里Ⓧ表示矩阵乘法。 ⊕是逐元素求和。有八个用于生成图形的功能模块。 每个模块的贡献都作为结构参数被考虑。在动态图的求和操作之前还有一个 softmax 函数。
结构表示相关性
作者基于空间节点连接计算了结构相关性。 为了确定两个节点之间的连接强度,作者将归一化的高斯函数应用于图节点,相似度得分作为相关性。 即:
该模块在图 1 中被命名为“Spatial m”。在这里,我们根据节点 i 和节点 j 的对应表示 h(x_i)和 h(x_j)计算相关性分数 A_D(i,j)。Ⓧ代表矩阵乘法, Φ和Ψ是两个投影函数,在图 1 中称为 conv_s,可以通过通道级的卷积滤波器实现。以这种方式可以捕获节点间的相似性以构建动态图。
时间表示相关性
结构相关性包含图拓扑结构的最直观线索。但是,忽略时间相关性可能会丢失隐式联合相关性。我们以 NTU RGB + D 数据集为例。没有时间信息,很难说一个人要触摸他的头或只是挥手。从物理结构的角度来看,在触摸头的动作过程中,头节点和手节点之间的连接很少。但是在此操作中,它们之间应该存在关联。考虑时间信息将使这种识别操作变得更加容易。因此,作者引入两个时间卷积来提取每个节点的时间信息,然后再用等式(7)计算节点相关性。这样,当计算节点连接时,就会涉及到相邻帧之间的节点交互。注意,此处的时间表示相关性与时间注意力机制不同,后者将较高的权重赋予相对重要的帧。相反,这里捕获时间信息以更好地生成空间图。为此,我们还引入了高斯函数,如等式(7)中所示,以计算节点相关性。函数 Φ和Ψ由时间卷积实现,在图 1 中称为 conv t,此模块称为“ Temporal m”。
在图一中,作者使用不同的阶数和层数构建了 Chebyshev 多项式函数,让网络自己决定每一层所需的阶数,其中最大阶数为 4,因此在图一中共有 8 个模块(4*(Temporal m+Spatial m))。通过图 1 中所示的八个模块,可以搜索最佳的神经结构。先前的 NAS 方法通过搜索单个模块来减少计算负担。但是,作者认为不同的特征层包含不同级别的语义内容,首选使用特定层的机制来构建图。因此,作者搜索了整个 GCN 网络,而不是一个单独的块。为了提高效率,作者还提出了高计算效率和存储效率的搜索策略。
为了提高采样效率的算法全称为 Cross-Entropy with Importance-Mixing,该算法通过估测结构分布来探索一个最优的结构,因此它不受限于必须在可微空间优化。CEIM 的算法流程如下表所示:
作者通过在每次搜索步骤中只激活一个功能模块的方式来提高储存效率。即对于输出
,它可以是一个被激活的模块的单输出。
实验
为了评估模型的性能,作者在两个大型骨架数据集 NTU RGB+D 和 Kenitics-Skeleton 行为识别任务的测试。作者使用了 PyTorch 来实现文中的方法,代码将在论文正式出版后发布。为了与当前最先进的 GCN 方法保持一致,作者在网络中引入了十个 GCN 块用于搜索和训练步骤。它们中的每一个都基于图 1 中的块。像以前的工作一样,每个块后面都有一个时间卷积,其内核大小为 9*1 以捕获时间信息。第一个 GCN 块将图投影到通道数为 64 的特征空间中。作者还将 Resnet 机制应用于每个 GCN 块。最终,将提取的特征输入一个全连接层中以进行最终预测。
实现细节
对于每个 GCN 块,空间模块 conv_s 是通道级的卷积滤波器,时间模块 conv_t 是沿时间维度执行内核尺寸 9 _1 的卷积滤波器。在搜索过程中,作者对 NTU RGB+D 联合数据进行了实验,以找到最佳架构。我们为所有上述数据集共享相同的结构,以与当前的最新方法保持一致。对于训练过程,作者使用 Nesterov 动量(0.9)的随机梯度下降(SGD)作为网络的优化算法。选择交叉熵损失作为识别任务的损失函数。对于搜索和训练,权重衰减分别设置为 0.0001 和 0.0006。对于 NTU RGB+D 数据集,该数据集的每个样本中最多有两个人。如果样本中的主体数量少于 2,则将第二主体填充为 0。每个样本中的最大帧数为 300。对于少于 300 帧的样本,作者采用重复采样的方式直到其达到 300 帧。学习率设置为 0.1,并在第 30、45 和 60 次迭代时除以 10。培训过程在第 70 次迭代时结束。
消融实验
在这一部分,作者与六个基准模型进行了比较进行比较,这六个基准具有不同的机制来构建动态图。具体来说,用于生成图的模块基于:1)结构表示相关性;2)时间表示相关性; 3)时空表示相关性; 4)具有四阶 Chebyshev 逼近的时间相关性; 5)具有 4 阶 Chebyshev 逼近的时空表示相关性;6)合并所有上述模块。对于这六个方法,相同的块在整个网络结构中是共享的。相反,本文提出的搜索方法探索了适用于不同层的最佳模块。比较结果列在表 2 中。它表明时间信息确实对 GCN(Ours(T)和 Ours(ST))有所帮助,并且全部使用所有模块时并不能确保更好的性能(Ours(S + T + ST + Cheb))。此外,高阶情况的考虑也有助于 GCN(Ours(+ Cheb))。基于 NAS 的 GCN(Ours(NAS))的优越性能证明了本文提出的方法的有效性。与第一行显示的当前最佳结果相比,本文提出的方法在关键点,骨干以及联合情况上的准确性分别提高了 0.9%,1.5%和 0.6%。这验证了本文提出的 SGCN 方法的有效性。
与 SOTA 方法的比较
为了评估最终搜索到的模型的性能,作者比较了 14 种目前最好的基于骨骼数据的行人识别方法,在 NTU RGD+D 数据库上的实验结果如表三所示:
在 Kinetics 数据库上的结果如表四所示:
论文原文链接:
https://arxiv.org/pdf/1911.04131.pdf
评论