谷歌机器人团队利用进化算法,获得低计算成本、高性能的视频网络架构 TVN,该网络运行高效,速度可达之前视频模型的 100 倍。

选自arXiv,作者:AJ Piergiovanni等。,由《机器之心》编辑,参与:魔鬼,杜威。

视频理解是计算机视觉领域的一个重要问题。它有许多应用,如自动视频标注、行为识别和机器人感知。视频理解对自动代理在现实世界中的应用影响很大,目前仍是一个难题。现有的解决方案计算成本高,最快的算法需要在强大的GPU上运行才能处理超过0.5秒的视频剪辑。

为了解决这个问题,googlebot的团队提出使用进化算法自动设计一个网络,以原始计算成本的一小部分(即低计算成本和高性能)提供可观的性能。具体来说,谷歌研究人员提出了一种设计用于视频理解任务的微型神经网络的通用方法。

论文链接:arxiv.org/abs/1910.06961v1.

这些微神经网络可以实现高精度和高效运行,并且可以实时或以更快的速度运行。他们需要37-100毫秒才能在一个中央处理器上处理大约1秒的视频剪辑,而在一个图形处理器上只需要10毫秒,这比当前的型号快100倍(见下面的图1和图2)。研究人员称这些网络为微小视频网络(TVN),因为它们只需要很少的运行时间,这在视频模型中还是第一次。

图 2:TVN 和主流 (2+1)D 视频理解模型在 Moments-in-Time (MiT) 数据集上的运行时和模型准确率对比情况。图2:基于时间矩(MiT)数据集的2:TVN和主流(2+1)D视频理解模型的运行时间和模型精度比较。

为什么以前的方法这么慢?

视频理解是一个非常活跃的研究领域,有很多成功的方法。建筑是一个新的领域,最近出现了许多方法,其中大部分是面向图像和语言理解领域的。这些以前的方法都不能为视频理解领域建立有效的架构。主要原因是视频内容庞大,需要更多的处理,而架构搜索是一个时间密集型的过程,因此将架构搜索应用到视频领域需要付出很大的努力,很多情况下计算成本较高。

为什么微视网这么高效?

谷歌的研究解决了上面提到的两个问题,他们的新方法可以输出实时视频架构,从而实现高效搜索而不需要过多的计算资源。此外,如此快速的网络也为视频理解在现实生活应用(如在线机器人系统、手机等)中的部署和科学研发提供了机会。).

对于视频理解领域来说,这样高效的网络是前所未有的,因为视频包含的内容远比图像多,而且包含了很多消耗计算能力的元素。这使得优化视频模型变得困难。先前的研究没有发现一种具有优化的精度和运行时间的小型神经架构。

这项研究的贡献如下:

首个学习视频高效网络(TVN)的方法。TVN 是已知最快速的视频网络,在 CPU 和 GPU 上的运行速度均优于实时速度;架构搜索方法不仅解决了视频处理问题,同时能够输出快速准确的模型;微模型进一步扩展后可得到最快速模型,其性能堪比当前最优模型。

TVN模型架构不同于典型的视频架构,前者的卷积层较少。电视更喜欢轻量级的元素,比如2D池、选通层、挤压激励层。相反,现有的视频理解模型通常包含计算密集型层,例如3D卷积。有趣的是,通常不倾向于使用流行的非局部块模块(Wang等人,2018),因为其计算成本高且性能低。图3显示了TVN架构的一个示例:

图3:用架构演化方法得到的TVN例子,包含几个不同配置的模块。

此外,这种方法使得低成本探索视频架构成为可能,这也说明未来的视频架构效率会更高,计算负担会更小。

研究人员在四个流行的视频理解数据集上进行了实验,这四个数据集是:时间矩数据集、HMDB数据集、夏利数据集和MLB-YouTube数据集。在这四个数据集上,所提出的网络的性能与当前的最优模型相当(或略低),但前者的运行时间只是后者的一部分。上面的图2显示了TVN的精度-运行时间曲线,在这方面没有其他模型的位置。

微小视频网络的技术细节。

研究人员没有手动设计架构,而是在巨大的搜索空中进行架构搜索,实现架构的自动设计。

研究人员搜索输入分辨率的最佳组合,包括空间隔(宽度和高度)和时间(帧数)、层数、层类型(如池化、卷积等)。),及其配置(卷积核大小、步幅等)。).他们使用进化算法,因为这种算法可以执行并行评估,允许群体中多个个体的网络变异,并且可以使用不可微的目标函数来高效地探索不规则搜索空,比如运行时。

为了学习新的高效视频架构,研究人员最大化了以下公式,其中输入是定义网络架构的变量/参数集。n代表网络配置,θ代表网络的可学习参数(| θ |代表网络中的参数个数),P是控制网络最大规模的超参数。R(N_θ)计算网络在设备上的运行时间,其中N为网络,θ为网络权重值,r为最大预期计算运行时间。

其中f是适应度函数。在这种情况下,f测量训练模型在验证集上的准确性。

研究人员通过进化搜索优化了配方1。请注意,由于运行时间和参数数量的限制,此函数不可微。尽管一些研究试图使运行时可微操作,但有必要估计目标设备上每个操作的运行时。为了简单起见,谷歌研究人员选择使用进化算法,因为它可以轻松适应不同的设备,并对参数量(如模型大小)添加约束,这对移动应用程序尤其重要。此外,搜索空房间设计完成后,其他超参数无法调整,如学习率或损失比例因子。

在实验部分,我们可以看到进化算法找到了一个非常高效和精确的架构。请注意,因为搜索中考虑的每个架构都非常高效,所以搜索本身的计算成本低于其他神经架构搜索方法。

进化方法

研究人员使用带有离散变异算子的锦标赛选择进化算法作为搜索方法。

由于搜索量很大空,研究人员首先生成了200个随机网络,其中一些网络的性能很差。在对这些网络进行评估后,他们遵循锦标赛选择算法,从目前的200个网络中随机选择50个,选出表现最好的一个作为“母体”。然后随机改变网络的一部分,从而对网络应用离散变异操作。

变化

变异操作只是随机选择网络的一部分,进行随机变化。它可以是输入分辨率、模块数量或模块内的层配置。

评估新网络后,将其添加到当前网络社区,并删除性能最差的网络。重复这个过程1000次。每个模型都经历了10000次迭代训练,由于速度快,平均训练时间约为1.5小时。通过并行训练,搜索可以在一天内完成。

实验

研究人员进行了以下实验:

在四个数据集上将TVN模型与当前的最优结果进行比较。注意,以前的视频理解工作很少涉及算法运行时,所以研究人员增加了当前的基线方法及其运行时。给search 空添加不同的约束,得到不同性能和运行时间的TVN。研究人员试图扩展TVN来提高性能,同时保持原有的速度。

下表1、2、3和4分别显示了TVN在四个数据集上的表现。

表1:1:TVN、基线模型(2+1)D resnet和当前最佳结果(Monfort等人,2018年)对时间矩数据集的性能比较。TVN以部分计算成本实现了类似的性能。

表2:在MLBYouTube(仅限RGB)数据集上,2:TVN和当前最佳模型之间的性能比较。

表3:3:TVN和当前夏利数据集上的最优模型之间的性能比较。

表4:在HMDB(仅RGB)数据集上,4:TVN和当前最佳结果之间的性能比较。

图4显示了多个模型的运行时间和参数数量的比较。

图4:4:TVN和其他模型在运行时(上)和模型参数(下)的比较。

为了确定时间信息对性能的影响,研究人员将TVN-2使用的帧数从4帧增加到8帧和16帧。结果见下表5:

研究人员还发现,进化搜索比随机搜索更有效(见下图5),因为这种情况下的大型搜索空包含许多性能较差的网络。

图5:在视频网络搜索空之间执行随机搜索与进化搜索。研究发现,进化搜索可以更快地得到更好的模型。

研究人员扩展了TVN,并进一步演示了模型的性能。表6比较了原始TVN-1和TVN模型在空之间具有更高分辨率、更大宽度(每个层中的卷积核大小)和更大深度(每个模块的重复次数)的性能。

表6:在时间数据集中的矩上扩展TVN模型后获得的不同方法。

基于效率网的研究发现,研究人员从不同的维度扩展了TVN-1,如输入分辨率、宽度和深度。表7将扩展后的网络与当前的最佳结果进行了比较。TVN-1 EN是扩展的TVN-1模型,可以获得与较大模型相当的性能,运行非常高效。

表7:基于EfficientNet系数,在MiT数据集上扩展了TVN-1模型,得到了TVN-1 EN,并与目前的最优模型进行了比较。

上一篇:卓恋情感怎么样    下一篇:单个的细胞和组织在尽最大的努力使一切保持相同,这句话什么意思-    

Powered by 每日精品国产 @2018 RSS地图 HTML地图

2013-2021 版权所有