神经架构搜索在视频理解中研究进展的综述

2019-12-11 17:18:34 浏览数 (1)

作者 | Michael S. Ryoo 研究员与 AJ Piergiovanni 学生研究员(Google 机器人团队)

来源 | TensorFlow(ID:TensorFlow_official)

视频理解一直是项颇具挑战性的难题。视频中包含时空数据,因此要提取特征表示需要同时提取其表面信息与包含的动作信息。无论是对视频语义内容的自动理解(如网络视频分类或体育运动识别),还是对机器人的感知和学习而言(与人类一样,机器人摄像头的输入信息大多是连续的动态视频,少为单张静态的照片),这都至关重要。

深度学习模型的能力非常依赖于其神经架构。用于处理视频的卷积神经网络的常见构建方法是将现有的 2D 架构(例如 Inception 和 ResNet)手动扩展为 3D,或者精心设计融合表面信息和动作信息的双流卷积神经网络架构 (two-stream CNN architectures)。不过,我们仍在探索如何设计出可充分利用视频中时空信息的理想视频架构。虽然我们对用于图像的神经架构搜索已进行了广泛的研究(如 Zoph 等人的研究、Real 等人的研究),但用于视频的神经架构搜索仍缺乏研究,即尚未开发出机器自动优化架构的视频处理神经网络。处理视频的卷积神经网络 (Video CNNs) 的构建通常需要大量计算和内存资源,因此很难设计一种既能高效搜索又可捕获其特征的方法。

为应对这些挑战,我们对自动搜索进行了一系列研究,旨在探索更理想的神经网络架构,从而实现视频理解。下文我们将展示三种不同的神经网络架构进化算法:学习层及其模块配置 (EvaNet);学习多流连接 (AssembleNet);构建计算高效的紧凑网络 (TinyVideoNet)。我们开发的视频架构在多个公开的数据集上的性能远胜现有的人工模型,并在网络运行时实现了 10 至 100 倍的性能提升。

EvaNet:首个进化的视频架构

EvaNet 是我们在构建视频架构上的首次尝试(详情请参阅我们在 ICCV 2019 上发表的《进化用于视频的时空神经架构》(Evolving Space-Time Neural Architectures for Videos))。

EvaNet 是一种模块级架构搜索,侧重于寻找时空卷积层的类型,及其最优顺序或最优并行配置。此搜索采用带有变异算子的进化算法,以迭代更新架构群。如此一来,我们可以更高效地对搜索空间进行并行搜索,而这正是视频架构搜索在考虑各种时空层及其组合时所必需的条件。EvaNet 可演化成多个模块(在网络中的不同位置),进而生成不同架构。

实验结果证明,通过进化异构模块获得此类 Video CNN 架构具有诸多优点。该方法证明,由多个并行层组成的 Non-Trivial Modules 最高效,因为它们速度更快,展现出更胜于人工设计模块的性能。

另一个有趣的方面是,我们在进化中获得了许多性能同样出色的不同架构,无需额外计算。如果集成这些架构,我们可以进一步提升性能。由于架构的并行性质,使得即便是一个模型集合,其计算效率也要高于其他标准的视频网络(例如 (2 1)D ResNet)。我们已开放此项目的源代码。

各类 EvaNet 架构的示例图:每个着色框(不论大小)均表示一个层,框的颜色对应其类型:3D 卷积(蓝色)、(2 1)D 卷积(橙色)、iTGM(绿色)、最大池化(灰色)、平均(紫色)和 1x1 卷积(粉色)。通常通过对层进行分组来形成模块(较大框)。每个框中的数字表示过滤器大小。

AssembleNet:构建更强大、更出色的(多流)模型

在《AssembleNet:在视频架构中搜索多流神经连接》(AssembleNet: Searching for Multi-Stream Neural Connectivity in Video Architectures)中,我们研究了一种新方法,针对不同的子网络和输入模态(例如 RGB 和光流)及时间分辨率进行融合。

AssembleNet 是一种会学习的架构,因此可提供通用方法来学习不同模态特征表示输入间的“连接”,并针对目标任务进行优化。我们引入了一种综合机制,能够将多种形式的多流卷积神经网络表示为有向图并结合高效的进化算法,进而探索高层网络连接。通过视频中的表面信息和动作的视觉线索更好的学习特征表示。

不同于先前使用 Late Fusion 或 Fixed Intermediate Fusion 的双流模型,AssembleNet 在通过连接权重学习指导架构变异的同时,进化出众多过连接的、多流的、多分辨率架构。我们首次研究了带有不同中间连接的四流架构,其中有 RGB 流和视觉流这 2 种流,而每种流的时间分辨率均各不相同。

通过对随机初始多流架构池经过 50 至 150 轮的进化,我们发现了下图所示的 AssembleNet 架构示例。我们在两个非常流行的视频识别数据集(Charades 和 Moments-in-Time (MiT))上测试了 AssembleNet。该架构首次在 MiT 的性能上超过 34%。而在 Charades 的性能上更令人吃惊,平均精度 (mean Average Precision) 为 58.6%,这一数据超过了先前已知的最佳结果(42.5 和 45.2)。

使用 MiT 数据集演化的 AssembleNet 模型:每个节点对应一个时空卷积层块,而每个箭头代表卷积层的连接。箭头颜色越深,表示连接越强。AssembleNet 是一种可学习的多流架构,可针对目标任务进行优化

AssembleNet 与主流人工设计模型对比图(左侧使用 Charades 数据集,右侧使用 MiT 数据集)。AssembleNet-50 或 AssembleNet-101 与双流 ResNet-50 或 ResNet-101 拥有相同数量的参数。

Tiny Video Network:速度最快的视频理解网络

为了使 Video CNN 模型适合运行于现实环境(如机器人需要的环境)中的设备,我们必须拥有实时高效的计算。

不过,如要在处理视频理解任务时获得最佳 (state-of-the-art, SOTA) 结果,我们还需要应用许多输入帧的超大型网络,这些网络通常拥有数十到数百个卷积层。因此,这些网络经常受到运行太慢的影响,具体表现为:在现代 GPU 和 CPU 上,每运行 1 秒视频剪辑至少分别需要 500 多毫秒和 2000 多毫秒。在 Tiny Video Network 中,我们通过自动设计网络,以一小部分计算成本提供同等性能,进而解决了此问题。我们的 TinyVideoNet 可提供更高的精度,并且能更快速甚至实时地高效运行,具体表现为:在GPU 和 CPU 上,每运行约 1 秒的视频剪辑分别用时 10 毫秒和 37 至 100 毫秒,此结果比人工设计的现代模型快了数百倍。

为实现上述性能提升,我们在架构进化过程中明确考虑模型运行时间并强制算法搜索空间,同时加入空间或时间分辨率和通道大小,从而减少计算量。下图展示了通过 TinyVideoNet 发现的两种简单且十分高效的架构。有趣的是,通过学习获得的模型架构比典型的视频架构拥有更少的卷积层:Tiny Video Network 更喜欢轻量级元素,例如 2D pooling、Gating Layers和 Squeeze-and-Excitation Layers。此外,TinyVideoNet 还能够结合优化参数和运行时,从而提供用于未来网络探索的高效网络。

图:TVN-1架构(上) TVN-2架构(下)

进化后,TinyVideoNet (TVN) 架构可以在最大限度提升识别性能的时候,同时保证计算时间不超过期望限制。例如,TVN-1运行在 CPU 和 GPU 上所需的时间分别为 37 毫秒和 10 毫秒。TVN-2运行在 CPU 和 GPU 上所需的时间分别为 65 毫秒和 13 毫秒。

TinyVideoNet 模型与先前模型的 CPU 运行时对比(左图),以及 TinyVideoNet 与 (2 1)D ResNet 模型的运行时和模型精度对比(右图)。请注意,TinyVideoNet 提取的是此时间精度空间中不存在其他模型的一部分(即极速但仍精确的部分)。

结论

据我们所知,这是业界将神经架构搜索应用于视频理解的首次研究。我们在处理公共数据集时,使用全新进化算法生成的视频架构对比人工设计卷积神经网络架构有显著优势。此外,我们还可利用架构进化学习的视频模型 TinyVideoNet。这项研究不但为我们开辟了全新方向,并展示出用于视频理解的机器进化卷积神经网络的广阔前景。

本研究由 Michael S. Ryoo、AJ Piergiovanni 和 Anelia Angelova 共同完成。此外,Alex Toshev 和 Mingxing Tan 也对本研究做出了贡献。感谢 Vincent Vanhoucke、Juhana Kangaspunta、Esteban Real、Ping Yu 和 Sarah Sirajuddin 以及 Google 机器人团队积极参与讨论,并为我们提供支持。

如果您想详细了解 本文提及 的相关内容,请参阅以下文档。这些文档深入探讨了这篇文章中提及的许多主题:

  • Inception https://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Szegedy_Rethinking_the_Inception_CVPR_2016_paper.pdf
  • ResNet https://arxiv.org/abs/1512.03385
  • Zoph 等人的研究 https://ai.googleblog.com/2017/05/using-machine-learning-to-explore.html
  • Real 等人的研究 https://ai.googleblog.com/2018/03/using-evolutionary-automl-to-discover.html
  • EvaNet https://arxiv.org/abs/1811.10636
  • AssembleNet https://arxiv.org/abs/1905.13209
  • TinyVideoNet https://arxiv.org/abs/1910.06961
  • ICCV 2019 http://iccv2019.thecvf.com/
  • 《进化用于视频的时空神经架构》 https://arxiv.org/abs/1811.10636
  • 进化算法 https://ai.googleblog.com/2018/03/using-evolutionary-automl-to-discover.html
  • (2 1)D https://arxiv.org/abs/1711.11248
  • 项目源代码 https://github.com/google-research/google-research/tree/master/evanet
  • 《AssembleNet:在视频架构中搜索多流神经连接》 https://arxiv.org/abs/1905.13209
  • 双流模型 https://arxiv.org/abs/1406.2199
  • 连接权重学习 https://arxiv.org/pdf/1905.13209.pdf
  • Charades https://allenai.org/plato/charades/
  • Moments-in-Time http://moments.csail.mit.edu/
  • Tiny Video Network https://arxiv.org/abs/1910.06961
  • Squeeze-and-Excitation https://arxiv.org/abs/1709.01507

【End】

(*本文为AI科技大本营转载文章,转载请联系作者)

0 人点赞