问题:
视频分类网络像two stream i3d等都是直接在作者给的预训练权重上finetune自己的数据,然后在训练集上训练至过拟合。基本随便一个图像分类网络在任意一个数据集的训练集上都能收敛,但自己直接使用一个恒定的学习率来在自己的数据集train from scratch的话,只要3D CNN一大就从来就没有收敛过(自己用tf写的3D-ResNet, Non-local, s3d, p3d等等,但5层的C3D倒是收敛过,可能是网络参数比较少的缘故)
尝试解决方法:阅读一些不能从ImageNet的2D CNN直接重叠
ResNet:只是说一开始用0.1的学习率有点大就除了10其他就没有其他的解释了
original warmup:1.constant warmup 2.gradual warmup
1.constant warmup:以一个较小的学习率先训练5个epoch,然后再回到较大的学习率(较小学习率的k倍)
2.gradual warmup:以一个较小的学习率开始,在每个iteration训练后增加一点学习率,直到在第5个epoch后,学习率增加到后续学习率衰退策略的初始学习率;
文章中使用的constant warmup lr=0.1,gradual warmup学习率从0.1在5个epoch下增加到3.2,然后再使用30,60,90个epoch学习率除以10的学习率衰退的策略
本文的主要结果是使用了gradual warmup后,使用较大的minibatch size训练的训练曲线(纵坐标为训练错误率,横坐标为epoch)和在使用较小的minibatch size训练时的训练曲线在后面大部分epoch基本重合
(Accurate, Large Minibatch SGD: Training ImageNet in 1