Tiny Video Networks翻译

这篇文章是对《Tiny Video Networks》的翻译。
原文地址:Tiny Video Networks

Abstract

视频理解是一个具有挑战性的问题,对在现实世界中工作的自治代理的能力有很大影响。 但是,到目前为止,解决方案的计算量很大,在功能强大的GPU上,最快的算法每个视频片段的运行时间超过半秒。 我们提出了一种有关视频体系结构学习的新想法-Tiny Video Networks-它会自动设计用于理解视频的高效模块。 微型视频模型具有竞争优势,在CPU上每个视频的运行时间低至37毫秒,而在标准GPU上的运行时间则低至10毫秒。

Introduction

视频理解是计算机视觉在许多应用中的重要问题,例如自动视频标记,活动识别和机器人感知。

目前,要获得有关视频识别任务的最新结果,需要非常庞大的网络,通常需要数十到数百个卷积层,例如101层的ResNets(He等人,2016),并查看数百个帧(Wang等人,2018)。由于视频任务非常具有挑战性,既要处理空间(图像)信息又要处理时间信息,因此用于视频理解的模型通常会整合计算密集型模块(Tran等人2014; Carreira和Zisserman 2017; Xie等人2018; Wang et al.2018),例如3D卷积,非局部块等。结果就是,它们通常遭受非常慢的运行时间的困扰,例如,在当前GPU上,每个视频片段至少需要500+ ms,而在CPU上至少需要2000+ ms。使用这样昂贵的网络极大地阻碍了它们在现实中的应用,例如在机器人技术中或用于计算非常有限的移动设备中。

为了解决这个问题,我们建议使用一种全新的算法来自动设计网络,该网络以较低的计算成本提供相当的性能。 更具体地说,我们提出了一种通用方法,为视频理解设计一个“小”神经网络家族。 这些网络实现了具备竞争力的准确性,并以1秒的视频片段在CPU上37到100毫秒,在GPU上10毫秒内以实时或更高的速度高效运行,比目前的模型快数百倍(图1 和图2)。 我们称它们为Tiny Video Networks(TVN),因为它们需要非常小的运行时间,这对于视频模型来说是前所未有的。

在这里插入图片描述
在这里插入图片描述
视频理解是一个非常活跃的研究领域,具有许多成功的方法(Ji等,2013; Car-reira和Zisserman,2017; Simonyan和Zisserman,2014; Tran等,2014)。架构搜索是一个新兴的领域,具有许多最新的方法,主要针对图像和语言理解领域(Zoph和Le 2017; Pham等人2018; Liu,Simonyan和Yang 2019)。然而,这些现有方法均未解决为视频建立有效架构的问题。主要原因是视频内容丰富且需要更多处理,并且结构搜索是一个耗时的过程,因此将其应用于视频并非易事,并且在许多情况下在计算上是不被允许的。在这项工作中,我们解决了这两个问题,因为该方法产生了实时视频体系结构,因此搜索过程本身也是高效的,并且不需要过多的计算资源。此外,创建这样的快速网络为在现实应用中部署例如网络应用提供了机会。在线机器人系统,手机等,以及用于研究开发。

对于视频理解者来说,获得这种有效的网络是新颖的,因为视频包含的内容远远多于图像,并且包含计算量大的元素。通常,优化视频模型非常困难。据我们所知,没有以前的工作试图为视频进行小型神经结构的研究,这些结构不仅针对准确性进行了优化,而且针对运行时间进行了优化。
我们的贡献如下:

  • 学习视频的高效网络的首个方法(Tiny Video Networks)。这些是已知最快的视频网络,可在CPU和GPU上以比实时速度更好的速度运行。
  • 一种体系结构搜索,旨在解决使用视频的挑战,同时生成快速而准确的模型。
  • 微型模型可以进一步扩大规模,以获得与最新性能相当的最快模型。

令人惊讶的是,学习到的模型架构与卷积层更少的典型视频架构有所不同。 Tiny Video Networks更喜欢轻量级元素,例如2D池,门控层和挤压激励层(Hu et al.2018)。相反,当代视频理解模型通常包括计算密集型层,例如3D卷积。有趣的是,小型网络通常不喜欢流行的非本地块模块之一(Wang等人,2018),因为它以高计算成本获得的性能很少。图3显示了示例学习的体系结构。

在这里插入图片描述
此外,我们的方法允许以非常低的成本在视频架构中进行更多探索。这也将使未来的视频体系结构更加高效,并减少计算负担。

我们在四个用于视频理解的流行数据集上证明了我们的结果:Moments in time(Monfort等人2018),HMDB(Kuehne等人2011),Charades(Sigurds-son等人2016)和MLB-YouTube(Piergiovanni和Ryoo) 2018)。对于所有数据集,我们在运行时获得的结果是相当的,或略低于最新技术。图2证明了Tiny Video Net-works在没有其他模型的准确性-运行时间曲线区域内运行。

Related Work

传统上,计算效率高的网络是针对特定硬件手动设计或优化的(Wofk等人2019; Wu等人2019)。网络体系结构还专门针对移动应用程序而设计,例如MobileNets(Howard等人,2017; Sandler等人,2018; Tan等人,2019),其中专门优化了大型网络,使其能够快速运行。用于移动设备。

最近也有尝试使用神经体系结构搜索自动构建时间受限模型的尝试(Howard等人2019; Tan等人2019; Pham等人2018),有时会考虑特定的硬件平台。一些方法还考虑了运行时,对网络体系结构进行了自动微调(Yang等人2018; Wu等人2019)。充分利用架构搜索的进步(Zoph和Le 2017; Real et al.2017; Liu,Simonyan和Yang 2019),这展示了识别准确性上的巨大进步,先前在搜索时间受限模型方面的工作取得了有效和成功的结果。

但是,所有上述方法都是针对单图像任务(例如图像分类或对象检测)的单图像输入的。先前对于寻找诸如活动识别之类的视频理解任务的有效而紧凑的模型的研究已经非常有限。我们专注于介绍一个新框架,以使架构搜索专门针对有效的视频模型,并介绍从头开始发现的Tiny模型。我们提议的搜索空间允许高效的新图层组合来捕获视频中的时空信息,这与以前的工作不同。我们获得了首次自动找到的新颖有效的视频架构,适用于许多不同的视频表示方案。

一些工作试图降低视频CNN的计算成本。表示流(Piergiovanni和Ryoo 2019),MFNet(Chen等人2018)和其他人减少了光流或运动特征的计算,而CoViAR(Wu等人2018)则专注于使用压缩视频(例如MPEG)进行识别。但是,这些工作仍然依赖很大的CNN(例如ResNet-50)来获得出色的结果。我们专注于获得高效紧凑的CNN架构,该架构本身直接在输入视频之上运行。

Tiny Video Networks

我们无需手动设计架构,而是使用体系结构搜索在巨大的搜索空间内进行自动设计。 我们探索了在受运行时间和参数数量限制的情况下设计网络。 此外,在找到满足这些要求的体系结构之后,我们将探索如何扩展它们以提高性能。

Methodology

我们搜索输入分辨率(空间(宽度和高度)和时间(帧数),层数,它们的类型(例如,合并,卷积)及其配置(内核大小,步幅等)的最佳组合 )。 我们使用进化算法,因为它允许对种群中的多个个体(即网络)进行并行评估和突变,并使用不可微分的目标函数有效探索不规则搜索空间,例如这里可以是运行时。 具体的搜索空间细节在下面的小节中。
在这里插入图片描述
我们通过进化搜索优化方程式1。 注意,由于运行时间和参数限制,该函数不可区分。 尽管一些工作试图使运行时成为可区分的操作,但这需要在目标设备上估计每个操作的运行时(Wu等人2019)。 但是,为简单起见,我们选择使用进化算法,因为它可以轻松地针对不同的设备,并增加了对移动应用非常重要的参数数量(例如模型大小)的限制。 此外,一旦设计了搜索空间,就不需要调整其他用于搜索的超参数,例如,学习率或损耗缩放因子(Wu等,2019)。

从实验部分可以看出,该算法发现了非常有效且准确的体系结构。 还要注意,由于搜索中考虑的每个体系结构一开始都是非常有效的,因此搜索本身的计算强度不如其他神经体系结构搜索方法高。

Search Space

我们设计了搜索空间来回答以下关键问题:

  • 空间分辨率(图像尺寸)和时间分辨率(帧数)之间的最佳比例是多少?
  • 应如何/在何处对空间和时间信息进行下采样?
  • 在受约束的运行时中,哪些层配置可提供最佳性能?
  • 网络应该有多深/宽?

我们的搜索空间遵循由多个块组成的简单元架构。 块的数量在2到10之间,并且被选择作为搜索过程的一部分。 最后一个块后面是全局平均池化,一个dropout层和一个全连接层,该层输出分类所需的类数。 有关示例,请参见图3。 在每个块中,该算法可以从多个层中进行选择:空间卷积,时间卷积,非局部层(Wang等,2018),上下文门控层(Xie等,2018)以及挤压和 激发层(Hu et al.2018)。

对于每一层,可以选择许多参数。对于非本地层,我们搜索bottleneck大小以及representation大小(例如,池化后的大小)。我们搜索挤压和激励层的挤压比。卷积层可以具有各种内核大小(从1到8),步幅(从1到8),过滤器数量(从32到2048)和类型(例如标准卷积,深度卷积,平均池或最大池)。此外,每个块重复1到8次,并且可以具有跳过/残留连接。最后,我们还将输入大小作为搜索空间的一部分包括在内:空间分辨率(32×32至320×320),要采样的帧数(1至128)和帧速率(1fps至25fps)。

由于我们处理的是视频,因此探索所有这些潜在的体系结构将导致非常大的搜索空间。每个块有234种可能的配置。当包括输入分辨率和网络中最多8个块时,搜索空间的大小为245或大约1013。因此,如果没有自动搜索(例如,如果我们执行蛮力网格搜索或随机搜索) ),要在此空间中找到好的架构非常困难,尤其是在添加诸如运行时或最大参数数量之类的约束时。实际上,在我们的实验中,我们确实观察到该空间中的许多体系结构几乎都具有随机性能,即分类结果较差,或者在训练过程中发散,或者表现出其他不稳定的行为。

Evolutionary Method

我们使用具有离散变异算子的tournament选择进化算法(Goldberg和Deb 1991)作为搜索方法。

由于搜索空间很大,因此我们首先生成200个随机网络,其中许多网络的性能较差。 在评估了这些网络之后,我们遵循tournament选择算法。 从当前的200个网络中,我们随机选择其中50个,然后将性能最高的网络作为“父级”。然后,通过随机更改网络的一部分,对该网络进行离散的变异操作。

Mutations

根据搜索空间中的定义,我们的变异操作只是随机选择网络的一部分并随机更改它。 这可以是输入分辨率,块数或块内的层配置。

评估新网络后,将其添加到当前人口中,并删除性能最低的网络。 重复进行1000发。 每个模型都经过10,000次迭代训练,并且由于速度很快,平均训练时间约为1.5小时。 利用并行训练时,可以在一天之内完成搜索。

Searching for Time Constrained Networks

在不限制参数数量的情况下,我们发现搜索生成了具有大量参数(例如> 60M)的网络,这些网络通过利用宽并行层而不是较深的顺序层仍然可以高效运行。 由于我们的目标是移动和机器人应用程序,因此我们在网络中的最大参数数量上增加了额外的约束。 这通常会限制运行时和模型大小。

Experiments

我们进行了以下实验:

  • 在4个数据集上,我们将模型与最新结果进行了比较。 请注意,以前的视频理解工作很少包含算法运行时间,因此我们还添加了了目前的基准方法及其运行时间。
  • 对搜索空间施加不同的限制,生成各种大小和运行时间的Tiny视频网络。
  • 我们探索扩大发现的Tiny视频网络的规模,以在保持快速速度的同时提高性能。

Baselines

作为基准,我们将与标准视频CNN进行比较:(2 + 1)D ResNets(Tran等人2018; Wang等人2018)(以下简称为ResNets),S3D(Xie等人2018), 和I3D(Carreira和Zisserman,2017年)。 这些网络很好地覆盖了视频识别任务中的最新技术,但是大多数网络在计算上都很昂贵,并且以前的工作没有报告运行时间。

我们仅报告使用RGB作为输入的结果。 尽管众所周知,光流和两流网络有利于动作识别,但计算流却非常昂贵,从而限制了其在实时应用中的用途。 尽管现有网络已经找到了更快的运动表示形式((Piergiovanni和Ryoo 2019; Lee等人2018)),但是与我们在GPU上运行时间少于50ms的整个网络相比,这些层的应用成本仍然很高(例如GPU上为100ms) 。 因此,在这项工作中,我们专门研究仅RGB设置。

Datasets

我们对四个不同的视频数据集进行了实验,代表了视频理解方面的各种挑战:

Moments-in-time(Monfort et al.2018)是一个大规模的数据集,包含大量(339)活动类别的800k训练示例和33900验证示例。

HMDB(Kuehne等人,2011年)包含针对51个不同类别的大约5000个训练和大约1500个测试示例。

MLB-YouTube(Piergiovanni和Ryoo 2018)包含4290个视频,可进行8种不同的棒球活动。与前两个数据集较少或什至没有一个帧可以提供合理的性能不同,MLB-YouTube在动作发生在同一场景中并且差异细微时(例如,“邦特”和“摇摆”活动非常相似。我们使用分段视频分类设置。

Charades(Sigurdsson et al.2016)包含约8000项培训和1686个验证视频,涉及157种不同的家庭活动。与其他数据集不同,Charades包含连续的长时间连续视频(平均30秒),并且可能同时发生或同时发生多种活动。

这些数据集的每个视频具有不同数量的帧:Moments-in-time大约为37,MLB-YouTube每个视频约80帧,HMDB-每个视频约40帧,Charades每个视频约350-400帧。 如前所述,该模型已经了解了要采样的帧数(通常在4-8之间)和帧速率,它们分别用于评估。

Training details

我们使用128的批量大小对模型进行50,000步训练。我们使用余弦衰减作为学习速率,最大值为2.2,线性预热为4000步。 我们在分类层之前应用概率为0.5的dropout。 我们使用按 1 × 1 0 − 7 1×10^{-7} 1×107缩放的权重衰减。对于即时矩和HMDB,我们使用softmax激活函数和交叉熵损失。 对于Charades和MLB-YouTube,我们使用sigmoid激活函数,因为它们是多标签数据集。

Found TVN Models

我们比较了发现的四个微型视频网络(TVN),每个都是通过学习而受到不同的约束。 TVN-1是找到的最快的型号。通过限制搜索空间来发现它包括仅在CPU上运行时间少于50毫秒的模型(运行时间为37毫秒,并且是在Moments-in-Time中发展的)。 TVN-2是一种较慢的模型,通过将搜索空间限制为100毫秒和1200万个参数(运行时间为65毫秒,是在MLB-YouTube上开发的)而发现的。通过将搜索空间也限制为100ms来发现TVN-3,但是对参数数量没有限制。它的运行时间为85毫秒,并在Charades上进行了改进。最终,TVN-4通过允许长达1200ms的网络和3000万个参数被发现(最大计算成本可与I3D媲美)。它在CPU上的运行时间为402毫秒,并在即时时刻上得到发展。这些模型在不同的数据集上发展,以捕获特定视频数据集场景的各个方面。在下面的实验中,我们将报告它们在所有或大多数数据集上的性能,尽管它们是在特定数据集上发展而来的,以便测试它们在数据集中的可用性。

Tiny Video Networks - Main Results

表1、2、3和4显示了在四个视频理解数据集上评估的Tiny Video Networks的性能。我们在最新模型的背景下报告运行时(在CPU和GPU上)和准确性。我们测量运行在2.9GHz的Intel Xeon CPU和单个V100 GPU上的运行时间。我们遵循每种模型的指定网络和输入量;即(2 + 1)D ResNet(Tran等人,2018)使用32帧,I3D(Carreira and Zisserman 2017)和S3D(Xie等人,2018)使用64帧。

表1显示了“Moments-in-Time”数据集的主要结果。我们将Tiny Video Model的结果与各种数据集的基线进行比较。我们速度显着加快的TVN的性能与以前的先进方法相似,而成本却很小。我们注意到,仅以极小的速度获得有竞争力的性能或更好的性能本身就是一个令人印象深刻的结果。例如,具有23.1和24.2精度的Tiny Video Networks的速度分别比ResNet-18快57倍和33倍,并且性能与ResNet-34相同,而速度分别快61倍和34倍。 TVN-1比常用的视频ResNet-101模型快100倍。

在表2中,我们显示了MLB-YouTube数据集的结果,类似地报告了运行时间,准确性,并与最新技术进行了比较。我们也在这里观察到,对于在19 ms内在GPU上工作的模型,我们可以获得非常具有竞争力的结果,准确度为44-52%。对于此数据集以及其他两个数据集,Charades和HMDB,我们对模型进行了微调。

在这里插入图片描述

在表3中,我们在Charades数据集上比较了我们的模型(Sigurdsson et al.2016),表4给出了HMDB上的结果。在这里,我们有两个观察到,尽管模型非常有效,但它们的表现相似。这向我们证实了这些模型是通用的,适用于许多情况。
在这里插入图片描述

Runtimes and number of parameters

图1在现有方法的上下文中可视化了TVN的运行时间。 我们可以清楚地看到TVN模型比所有其他模型都快得多。 图2进一步显示了TVN的运行时间与准确性以及现有方法。 从这里可以看出,虽然不是绝对准确的模型,但它们比比模型慢得多的模型更为精确,并且提供了非常好的准确性和速度之间的权衡。

我们还注意到,Tiny Video Net-works的运行时间对于视频而言非常令人印象深刻。为了说明这一点,由于图像大小和帧的变化而无需尝试直接比较,因此它可与为移动应用程序开发的仅单图像模块进行比较。例如,对于单帧输入,MobileNet V2的运行时间(Sandler等人,2018年)介于21毫秒至37毫秒之间。

图4显示了运行时间和相应模型的参数数量。我们看到自然较小的模型确实具有较少的参数。然而,令人感兴趣的观察是,一些计算有效的模型具有较大的参数大小,例如。 TVN-1。另一个有趣的观察结果是,尽管TVN-3和TVN-4具有更多的参数,但它们的速度明显快于对应的ResNet-18和ResNet-34,并且精度更高。 TVN模型通常具有比其他现代模型少的参数,而且速度要快得多(图4,最上面的子图)。
在这里插入图片描述

Exploring a range of number of frames

我们发现,对于某些数据集(例如,Moments-in-Time和HMDB),网络倾向于使用极少的帧(例如2或4帧)来减少自然的计算成本,因为运行时间是唯一的约束。此外,在这些数据集上,许多活动都是基于场景的(例如,游泳和棒球的出现方式有很大不同),因此单个帧通常足以很好地区分它们。

为了确定时间信息对性能的影响,我们将TVN-2使用的帧数从4个增加到8个和16个。我们进一步进行了搜索,要求每个网络将16个帧作为输入。设计这是为了找到将时间信息用于快速CNN的最佳方法。

我们的结果显示在表5中。我们发现在Moments-in-Time数据集上增加TVN-2的帧数不会导致性能显着提高,而运行时间却会增加。当使用16帧进行搜索时,我们发现该模型更喜欢尽早使用池化以减少计算成本。但是,此模型的性能不如TVN-2。
在这里插入图片描述

Findings

我们的主要发现是,Tiny Video Networks在CPU和GPU上均具有非常高的准确度运行时间。 此外,我们的方法能够在效率-性能范围内生成多个模型。
图3展示了一个示例模型,显示了TVN-1,请参见其他生成的Tiny Video Networks示例的补充结果。 我们还发现,与随机搜索相比,进化是有益的(参见图5),这是因为我们的搜索空间很大,其中包含许多不良网络。
在这里插入图片描述

一个有趣的发现是,Tiny Video Architectures从来都不喜欢流行的非本地层(Wang等人,2018)。 这表明将计算花费在具有更大输入的更深和/或更广泛的网络上更具成本效益。 我们还发现,通常使用诸如上下文门控之类的层,这些层比非本地层便宜得多,但仍捕获了一些相似的全局注意功能。

Scaling Up the TVNs

我们通过扩大发现的Tiny Video Networks进一步证明了模型的性能。 在表6中,我们将TVN-1与增加的空间分辨率,增加的宽度(每层中的滤波器数量)和增加的深度(每个块重复的次数)进行了比较。 我们通过将它们乘以2或4来简单地缩放它们。我们发现缩放分辨率和宽度可以带来最大的性能提升。

根据EfficientNet(Tan and Le 2019)的发现,我们根据其系数在所有维度(输入分辨率,宽度和深度)上放大了TVN-1。在表7中,我们将扩大的网络与最新的结果进行了比较。我们按比例放大的模型(表示为TVN-1 EN)可以达到与更大的模型相当的性能,但效率仍然很高。

结论与未来工作

我们提出了一种自动学习Tiny Video Network架构的新颖方法。这些是我们所知道的第一批视频模块,既快速又准确。它们是自动发现的,在所有四个数据集上都表现良好,并且在速度与准确性之间取得了很好的折衷。这些模型比当代视频模型快数百倍,并且参数更少。因此,它们可以应用于实时机器人应用程序并在移动设备上运行。

该论文的一个有趣观察结果是,Tiny Video Networks扩大规模后,其性能可以与最佳的最新模型非常接近或相媲美,而速度却要快好几倍。可以进一步探索这些模型,并以极低的速度获得甚至更高的精度。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值