为了解视频领域的问题,Google机器人团队提出:用进化算法自动设计出以原来计算成本的一部分提供相当性能的网络。
具体来说,谷歌研究者提出了一种为视频理解任务设计微神经网络(tiny neural network)族的通用方法。
背 景
Google机器人团队利用进化算法,获得低计算成本、高性能的视频网络架构 TVN,该网络运行高效,速度可达之前视频模型的 100 倍。
今天我们要说的主要是理论知识,有兴趣的同学可以持续关注,我们继续开始,一起学习!
上图:TVN与之前流行的方法性能相当,但在CPU上处理一个视频仅37ms,在GPU上时间为10ms。TVN的速度是当前视频模型的100倍,如 (2+1)D ResNet-101。
这些微神经网络可实现相当高的准确率,而且运行速度高效,可以实时乃至于以更快速度去运行。它们在一块CPU上处理约1秒的视频片段需要37到100ms左右,在一块GPU上仅仅需要10ms,速度是当前模型的100倍之多(见上图图)。
研究者将这些网络称为Tiny Video Networks (TVN),因为此类网络仅需要极小的运行时,这在视频模型中尚属首例。
上图:TVN和主流(2+1)D视频理解模型在Moments-in-Time (MiT)数据集上的运行时和模型准确率对比情况。
速度慢的原因
视频理解现在这个领域也值得越来越多的研究者关注,目前也是一个非常活跃的研究领域,至今也有大量成功的框架算法。
其中,架构搜索是新兴的一个领域,近期也出现很多种类的方法,其中大部分面向图像和语言理解的领域。这些之前的方法中没有一个可为视频理解领域构建高效架构。其主要原因在于:视频内容量非常大,需更多的处理;而架构搜索是时间密集过程,因此将架构搜索应用于视频领域需要费很大功夫,且在很多情况下计算成本高昂。
最大优点及贡献
谷歌的这项研究解决了之前提到的几个问题,研究者提出的新方法能够输出实时视频架构,从而实现高效搜索,无需过多计算资源。此外,如此快速的网络也为视频理解在现实生活应用(如在线机器人系统等)中的部署和科研开发提供了机会。
对于视频理解领域而言,如此高效的网络前所未见,因为视频包含的内容远远多于图像,且包含很多耗费算力的元素。这使得优化视频模型成为难题,之前的研究没有找到准确率和运行时均得到优化的小型神经架构。
提出的新模型架构TVN与典型的视频架构有所不同,前者的卷积层更少,TVN简单,轻量级别,如2D pool、门控层和激励层。
与之相反,现有的视频理解模型通常包含计算密集层,如3D卷积。精彩的是,TVN通常不倾向于使用流行的非局部模块,因为该模块计算成本高且所获得的性能低。
方法框架细节
研究者在巨大的搜索空间内执行架构搜索,实现自动架构设计。研究者使用进化算法,因为该算法可以执行并行评估,允许群体中多个个体网络发生突变,且能够使用不可微目标函数高效探索不规则搜索空间,比如运行时。
为了学习新的高效视频架构,研究者最大化如下公式:
其中输入为定义网络架构的变量/参数集。N表示网络配置,θ表示网络的可学习参数,P是控制网络最大规模的超参数。R(N_θ)计算网络在设备上的运行时,其中N是网络,θ是网络权重值,R是最大期望计算运行时。
TVN-1
进化方法
研究者使用具备离散突变算子的锦标赛选择进化算法作为搜索方法。由于搜索空间很大,研究者首先生成200个随机网络,其中一部分性能很差。在对这些网络进行评估后,他们遵循锦标赛选择算法,从目前的200个网络中随机选择50个,选取其中性能最好的一个作为「母体」。然后随机改变该网络的一部分,从而对该网络应用离散突变运算。
突变
突变运算仅随机选取了网络的一部分并进行随机改变。它可以是输入分辨率、模块数,或者模块内的层配置。
对新网络进行评估后,将其添加到当前网络群体中,删除其中性能最差的一个。将这一过程重复 1000 次。每个模型经历了 10000 次迭代训练,由于速度很快,因此平均训练时间为大约 1.5 小时。使用并行训练后,搜索可在一天内完成。
TVN-2
实验结果
研究者在 4 个数据集上对比新提出的TVN模型和当前最优结果。注意,之前的视频理解工作很少涉及算法运行时,因此研究者额外添加了当前基准方法及其运行时。对搜索空间添加不同约束,得到具备不同性能和运行时的TVN。研究者尝试扩展TVN以提升性能,同时维持原有的速度。
TVN和基线模型(2+1)D ResNets、当前最优结果在Moments-in-time数据集上的性能对比情况。TVN 以部分计算成本实现了相似的性能。
下图展示了多个模型的运行时和参数量对比情况:
为了确定时间信息对性能的影响,研究者将TVN-2所用的帧数从4增加到8和16,结果如下:
研究者扩展了TVN,进一步展示了模型的更优秀性能。下表对比了原版TVN-1和具备更高空间分辨率、更大宽度(每一层中的卷积核大小)、更大深度(每个模块的重复次数)的TVN模型的性能。
基于EfficientNet的研究发现,研究者从各个维度扩展了TVN-1,如输入分辨率、宽度和深度。
拓展的TVN框架如下:
TVN-3
TVN-4
END