网络运行时间提高100倍,Google使用的AI视频理解架构有多强?

2019-10-24 10:27发布

译者 | 刘畅

出品 | AI科技大本营(ID:rgznai100)

视频理解是一个很有挑战性的问题。由于视频包含时空数据,因此图像的特征表示需要同时提取图像和运动信息。这不仅对自动理解视频语义内容有重要性,还对机器人的感知和学习也至关重要,比如网络视频分类或体育活动识别。就和人类一样,机器人相机的输入很少是静态的快照,而是以连续视频的形式出现。

当今深层学习模型的能力在很大程度上依赖于其神经结构。视频的卷积神经网络(CNN)通常是通过将已知的2D架构(例如Inception和ResNet)人工扩展到3D来构建的,或者是通过精心设计将外观和运动信息融合在一起的双流CNN架构来构建的。然而,设计一个最佳的视频架构并充分利用视频中的时空信息仍然是一个有待解决的问题。

虽然为了发现更好的体系结构而进行的神经体系结构搜索(如Zoph等)已经被广泛地探索到了,但是用于视频的机器优化的神经体系结构还没有被开发出来。另外,视频CNN通常需要大量的计算和内存,因此设计一种在捕获其独特属性的同时又进行有效搜索是非常困难的。

为了应对这些挑战,本文作者对自动搜索进行了一系列研究,以寻求更理想的网络架构来进行视频理解。本文展示了三种不同的神经体系结构演化算法:学习层及其模块配置(EvaNet); 学习多流连接(AssembleNet); 和建立计算效率高且紧凑的网络(TinyVideoNet)。本文开发的视频架构在多个公共数据集上的性能明显优于现有的人工制作模型,并证明网络运行时间可提高10倍至100倍。

Evanet:第一个进化的视频架构

本文作者在ICCV 2019的“Evolving Space-Time Neural Architectures for Videos”中介绍过EvaNet,它是对视频体系结构设计神经体系结构研究的首次尝试。EvaNet是一个模块化的体系结构,重点是寻找时空卷积层的类型,以及它们的最佳序列或者平行轮廓。一个用于搜索并带有变异算子的进化算法,迭代更新一组体系结构。这样可以并行,更有效地进行空间搜索,对于视频体系结构研究来说,必须考虑各种时空层及其组合。EvaNet演化了多个模块(在网络中的不同位置)以生成不同的体系结构。

实验结果证实了这种视频cnn架构通过演化异构模块的优点。该方法经常发现,由多个平行层组成的非平凡模块最有效,因为它们速度更快,表现出比人工设计的模块更优的性能。另一个有趣的方面是,通过进化获得了许多类似的性能良好且多样的体系结构,并且没有额外的计算量。由于它们的并行性质,即使是一组模型在计算上也比其他标准的视频网络更有效率,例如(2+1)d EvaNet。作者已经开源了代码,若有兴趣大家可以去网上下载。

AssembleNet:构建更强、更好的(多流)模型

在“ AssembleNet:Evolving Space-Time Neural Architectures for Videos”中,作者研究了一种新的方法,该方法可以将不同的子网络融合到不同输入模式(例如rgb和光流)和时间分辨率中去。AssembleNet中也提供了一种通用方法来学习特征表示之间的“连通性”,同时也针对目标任务进行了优化。另外,作者也介绍了一种通用格式,该格式允许将多种形式的多流CNN表示为有向图,并结合一种有效的进化算法来探索高级网络连接。目的是通过视频中的外观和运动视觉线索学习更好的特征表示。与先前人工设计的两流模型不同,AssembleNet在连接权重学习指导其变异的同时,进化出了过度连接的多流多分辨率架构。

下图显示了一个AssembleNet架构的示例,该示例是通过对50到150轮回合中的随机初始多流架构进行演变而发现的。 作者在两个非常流行的视频识别数据集上测试了AssembleNet:Charades和Moments-in-Time(MiT)。 它在MiT上的表现是34%以上的第一位。 Charades的性能更是令人印象深刻,平均精度(mAP)为58.6%,而之前最著名的结果是42.5和45.2。

Tiny Video Networks:最快的视频理解网络

在现实环境的设备中(例如机器人需要的环境),为了使视频CNN模型更好的使用,考虑实时、高效的计算是非常有必要的。然而,要在视频理解任务上取得最新成果,目前还需要非常大的网络,通常有数十到数百层的卷积层,这些层通常适用于许多输入帧。因此,这些网络经常受到运行速度的影响,需要在现在的gpu和cpu上每1秒钟至少有500+MS片段。在Tiny Video Networks中,我们通过自动设计网络来解决这个问题,这些网络以很小的计算成本提供了可比较的性能。Tiny Video Networks达到了竞争精度,并且在大约1秒钟的视频剪辑中,在CPU上运行37至100 ms,在GPU上运行10 ms时,能够以实时或更高的速度高效运行,比以前快了数百倍。

通过在架构演进过程中明确考虑了模型运行时间并利用算法去探索搜索空间。同时,为了以减少计算量,也考虑了空间和时间分辨率以及通道大小,这些都可以实现性能提升。 下图显示了TinyVideoNet研究出的两种简单且非常有效的体系结构。有趣的是,学习的模型体系结构比典型的视频体系结构具有更少的卷积层:Tiny Video Networks更喜欢轻量级的元素,比如2D池,门控层和挤压激发层。 此外,TinyVideoNet能够共同优化参数和运行时间,以提供可用于未来网络探索的高效网络。

总结

这是关于神经体系结构研究视频理解的第一项工作。本文使用新的进化算法生成的视频架构在相当大的程度上优于公共数据集上最著名的人工设计的CNN架构。另外,随着架构的发展,学习计算效率高的视频模型TinyVideoNets是一定可能性的。 这项研究开辟了新的方向,展示了机器进化CNN用于视频理解的前景。

原文链接:

https://ai.googleblog.com/2019/10/video-architecture-search.htm

(*本文为 AI科技大本营编译文章,载请微信联系 1092722531

2019 中国大数据技术大会(BDTC)再度来袭!豪华主席阵容及百位技术专家齐聚,15 场精选专题技术和行业论坛,超强干货+技术剖析+行业实践立体解读,深入解析热门技术在行业中的实践落地。

文章来源: https://www.toutiao.com/group/6750111012914987533/