0. 前言
- 相关资料:
- 论文基本信息
- 领域:视频理解,包括行为识别、Temporal Action Detection
- 作者单位:FAIR
- 发表时间:2020.4
1. 要解决什么问题
- 当前视频理解相关的模型基本都是在2D卷积神经网络的基础上进行一些扩展。
- 输入数据从
N, C, H, W
增加时间尺度N, T, C, H, W
。 - 将2D卷积操作转换为3D卷积操作,增加对时间尺度的处理。
- 这种扩展一般来说会提高性能,但计算量也会大大增加。
- 输入数据从
- 如果在多个尺度上进行扩展,模型效果会如何呢?
2. 用了什么方法
- X3D,是Expand 3D的缩写。
- 主要思路:
- 之前的网络主要是在时间维度上扩展2D卷积神经网络。
- 但时间尺度上扩展不一定是最佳选择,还可以在别的尺度上扩展。
- 这种设计的灵感主要来源于之前设计卷积网络都是在depth/resolution/width上进行扩展,另外还借鉴了机器学习中特征选择的方法。
- 需要扩展的axis(这几个axis可以理解为网络的几个基本参数……)
- 输入数据的总帧长度。
- 输入数据的帧率。
- 输入帧的尺寸。
- 网络宽度(其实就是每个conv的的通道数量)
- bottlenet层宽度(即bottlenet中前两个conv的通道数量)
- 网络深度(其实就是bottlenet的数量)
- 模型训练过程(好像就叫做Coordinate Descent):
- 首先,给定一个初始状态,如下表所示,认为所有参数取值为1。
- 然后,每次改变一个参数,控制参数量与算力、训练模型,选择性能最后的模型作为下一步的输入。
- 以此类推,直到达到所需要的算力为止。
- 一次模型训练的实例
- 上面训练过程中所谓的
改变一个参数
,好像也是预先定义了几种,没细看,应该就是对几个参数的改变。
3. 效果如何
- 太666了,在比之前的模型少4.8倍multiply-adds、少5.5倍参数的情况下,达到了差不多的精度……
- 尼玛太233了。
- 不同尺寸的X3D模型
- 在各种数据集上的效果,2333
- 最666的图,跟当时看到yolo论文的感觉差不多,性能碾压(没把自己放到第二象限就已经很给面子了)
4. 还存在什么问题
-
效果这么6,但很难复现,主要是训练代码吧。坐等开源。
-
不知道放到手机上运行会如何。
-
我没看过 EfficientNet3D的论文,可能跟本文很相关,后续要补看一下。