vgg conv3-64参数一样吗
发布网友
发布时间:2022-05-15 19:32
我来回答
共1个回答
热心网友
时间:2024-02-27 08:57
牛都从学术的高度解释了今年ILSVRC 2014的结果,也就不偷懒地从Engineering的角度谈一下。
GoogLeNet和VGG的Classification模型从原理上并没有与传统的CNN模型有太大不同。大家所用的Pipeline也都是:训练时候:各种数据Augmentation(剪裁,不同大小,调亮度,饱和度,对比度,偏色),剪裁送入CNN模型,Softmax,Backprop。测试时候:尽量把测试数据又各种Augmenting(剪裁,不同大小),把测试数据各种Agumenting后在训练的不同模型上的结果再继续Averaging出最后的结果。
今年的结果看起来是越深的模型越好(VGG的结果在12月份Revised过的Paper上也是他们最深的模型效果最好)。但是越深的模型训练所需要的时间越长。VGG的Mode D我在4个GPU上跑了三周多。GoogLeNet的训练时间看起来会短一些,但是怎样优化内存占用还不是很清楚,所以现在还没有重复出来的结果(没有DistBelief啊喂!Princeton的结果看起来还没有达到GoogLeNet的效果)。
就今年的结果而言,还有几点在Engineering上不太清楚:
1). VGG的模型,如果直接训练,不用Mode A来初始化,结果会好些吗,可以用训练好的几个Mode E来Averaging吗?(似乎最近的结果看起来Initialization对结果确实会有一些影响.
2). GoogLeNet模型中那些分叉出去的softmax layers到底有效果,还是为了工程实践上的方便?
3). VGG模型前两层的小reception fields到底有用吗?还是和GoogLeNet一样用Matt Fergus的7x7,5x5在前几层不影响?(大量的3x3 kernel convolution在前几层很慢,内存占用也大)。
4). 从其他人的结果看起来,似乎更多的Data Augmentation是有帮助的,但是在sub-10%的Level,更多的Data Augmentation帮助到底有多大?
5). GoogLeNet的最后一层是Average Pooling,大大降低了参数数量,这样对结果有负面影响吗?
6). 大家都用7、8个模型来Averaging,把这些模型distilling到一起的话有帮助吗?
总结一下的话,今年大家的结果都很好,但是要实用起来还有一段路.