【论文阅读】Can Spatiotemporal 3D CNNs Retrace the History of 2D CNNs and ImageNet?
之前提出的3D卷积网络的深度都很浅,因为当时的数据集都小,很容易过拟合。但是现在有了kinetics,那么这个数据集在训练3D卷积网络时还会过拟合吗?本文经过实验发现,kinetics数据集即使在训练非常深的3DCNN时也不会过拟合。我们知道在图像领域,通常都会使用Imagenet预训练的网络,所以受此启发,可以将在kinetics预训练的网络应用到视频分析相关的应用中。所以我在这里再次安利一下作者的github地址,做视频相关内容的一定要关注一下。
论文地址:下载地址
作者的github(极力安利):下载地址
正文
3DCNN很早之前就提出来了,但是一直受限于数据集,所以一直无法超越基于双流网络的方法,最近kinetics数据集提出来了,那么视频中的kinetics数据集是否可以比肩图像中的ImageNet数据集呢?如果非常深的3DCNN在kinetics上训练不会过拟合,那么回答就是肯定的。所以基于此,作者做了许多的相关实验。
实验网络结构
首先需要确定实验的3D卷积网络结构,因为残差结构在2D图像中表现非常好,所以所有的3D卷积网络都是以残差结构为基础的。本文实验的3D模型分别以 Resnet,Pre-activation Resnet,Wide Resnet,Resnext以及Densenet等5种基本2D网络为基础。具体的结构如下图和下表所示(如果了解基本的网络结构还是很容易看懂的,如果哪里看不懂可以留言或者去看一下原文,这里就不做过多地介绍了):
相关实验
较小的数据集是否出现了过拟合?
文章首先在较小的数据集上训练较浅的3DCNN(Resnet-18)网络,来判断是否较浅的3D卷积网络也会出现过拟合,实验结果如下图所示:
从上图可以看出,其他三个数据集上验证损失快速地变化到一个较高的值,而且与训练损失之间有一个很大的gap,所以很明显地过拟合了。然后看kinetics的结果,可以看到验证损失比训练损失还要低,所以没有出现过拟合,这值得我们对kinetics数据集进行进一步探索。
kinetics上能训练多深的3D网络?
文章紧接着实验了在kinetics数据集上,基于resnet的网络随着网络深度的增加,识别准确率的变化,是否出现了过拟合,实验结果如下表所示:
根据上表可以看出,准确率是随着网络深度的增加而逐渐提升的,说明之前18层的网络在kinetics上欠拟合了。然后在到达200层时,准确率结果和152层差不多,这个和2Dresnet在ImageNet上的表现是相似的。然后再看一下其他网络结构在kinetics上的结果,可以看到其他网络在kinetics上的结果对比与对应的2D网络在ImageNet上的表现是一致的,所以可以判断kinetics数据集中的数据量是足够地大的。
kinetics上预训练的效果?
我们知道使用在ImageNet上预训练的网络是一种非常普遍的方法,那么使用kinetics上预训练的网络是否依然有效呢?文章最后实验了在kinetics上预训练,然后在ucf101和hmdb51上微调的效果,微调的时候只微调conv5_x和全连接层,可以看到微调的结果远远地大于train from scratch。如下图所示:
总结
这篇文章很简单,我解读的最主要的原因是安利文章的github,哈哈。