Inception-v4
2017-01-16 08:15:46 0 举报
AI智能生成
inception-v4
作者其他创作
大纲/内容
Abstract
Inception的优点是performance很好且计算复杂度低
residual connections的引入增强了分类领域的算法能力
ILSVRC 2015上的ResNet与Inception-V3差不多
因此我们开始思考,Inception和ResNet是不是可以结合在一起
本文证明了在Inception的训练中引入residual connections可以大幅加速训练,还提出了新的流水线架构
这些新特性使得分类问题的performance有大幅提高
合适的activation scaling能够稳定大规模的residual Inception network
将上述features整合在一起的Inception-v4在ImageNet的分类任务上达到了3.08%的top-5 error
Introduction
2012AlexNet用于分类问题之后,深度网络被广泛应用于
object detection
segmentation
human pose estimation
video classification
object tracking
superresolution
本文研究两个最新的分类网络思想的整合
Residual connections [5]
residual连接是训练非常深的网络的内在需求
Latest Inception [15]
Inception的趋势是越来越深,因此用residual结构替换其中的filter concatenation结构是非常合理的思路
除了Residual和Inception的整合,本文还研究了更深的Inception是否能够更加efficient
设计了Inception-v4
结构更加统一简化
Inception modules比v3更多
Inception-v3从之前的结构中继承了很多不同的模块,很多是为了适应用DistBelief将模型分块来进行分布式训练
训练框架移植到Tensorflow之后,可以极大简化结构的表达
本文比较了纯的Inception-v3和v4,以及引入了Residual的Inception-ResNet。
也比较了更深更大的Inception-ResNet,他们在ImageNet分类问题上的表现也差不多
最后还研究了多模型的融合是否能提高performance
并没有带来大幅的增益
但是4-model还是能将error的纪录刷新到了3.1%
最后我们分析了一些分类错误的原因,结论是多模型的融合并未达到数据集的label noise的程度,因此仍然有改进的空间
Related Work
目标分类:首先是AlexNet,后面的里程牌有Network-in-Network,VGG,Inception-v1
ResNet给出了理论和实践的证明,残差信号的引入能够极大提升分类和检测问题的效果。
ResNet的作者还提出残差信号的引入是训练非常深的网络的内在需求,但Inception的经验并不支持这个结论。也许需要更多的实验来衡量这个观点的上下文。
在本文的实验阶段,我们证明了不需要residual连接也能很好地训练非常深的网络;但引入残差能大幅提升收敛速度
Inception网络的演进
Inception-v2引入了batch normalization
v3:加入了
factorization 思想
Architecture Choice
Pure Inception blocks
之前的Inception模型需要以partitioned manner训练
每个replica被划分到一个子网络中
然而Inception模型是高度可定制的,也就是说很多层的filter数目都可能会变
为了优化训练速度,我们之前小心地调整layer sizes,来平衡不同模型子网络的计算复杂度。
引入Tensorflow后,我们不再需要自己手动分割网络
我们优化了反向传播的内存用量
考虑了在梯度计算时需要的tensors,并重新安排了计算的结构以减少需要计算的tensors
在Inception-v4,我们队每个grid size采用了一致的Inception blocks
Fig9是整体架构图
Fig3-8是局部细节图
模块中卷积层名字结尾没有标记V的意味着卷积前后的图片大小不变
Residual Inception Blocks
采用比原版Inception更轻的Inception blocks
在每个Inception block后面,接一个filter-expansion layer
用于放大filter bank的维数,补偿Inception block引入的维数下降
我们试验了多个版本的Inception-ResNet,本文详细介绍其中两个
Inception-ResNet-v1是Inception-v3的计算精简版
Inception-ResNet-v2的计算复杂度与Inception-v4相近
Inception-ResNet版本的step time要远小于Inception-v4
Inception-ResNet的另一个细节是仅在traditional layers的顶端加了BN,而没有在summations的顶端加BN
为了能在单卡GPU上训练
减少了BN layers后,能容纳更多的Inception blocks
Scaling of the Residuals
我们还发现,如果filters的数目超过1000,residual variants会变得不稳定,训练会早早收敛到全是0的位置
但这不可避免,不论是减小学习率还是增加新的BN
我们还发现,在增加residuals到前一层的activation之前scaling down residuals,能使训练稳定。
我们在0.1~0.3之间挑选scaling factor。
ResNet在研究非常深的网络时发现,分两阶段的训练比较好
第一阶段用非常小的lr
第二阶段用较大的lr
我们发现如果网络结构很深,即使很小的lr也不能避免稳定性问题,反而是较大的lr有几率能绕过这个影响
这比单纯scale residuals更可靠
即使scaling不能解决问题,但也不会影响最终的训练精度;但至少能稳定训练
Training Methodology
Tensorflow 20台机器分布式
SGD
RMSProp[16],decay 0.9,e = 1.0,lr = 0.045,decay 0.94每2 epochs
Experimental Results
0 条评论
下一页