GoogleNet模型解读
GoogLeNet, 2014年ILSVRC挑战赛冠军,将Top5 的错误率降低到6.67%. 一个22层的深度网络.
一、特别之处
文章提出获得高质量模型最保险的做法就是增加模型的深度(层数)或者是其宽度(层核或者神经元数),但是这里一般设计思路的情况下会出现两个缺陷(1.参数太多,容易过拟合,若训练数据集有限;2.网络越大计算复杂度越大,难以应用;3.网络越深,梯度越往后穿越容易消失,难以优化模型)。
Inception结果的主要思路是用密集成分来近似最优的局部稀疏结构。如下图的a图所示,卷积核大小不同,感受野的大小也不同,最后的拼接意味着不同尺度性的融合。卷积核大小为1、3、5,是为了对齐方便,比如在卷积步长为1时,只要分别设定pad为0、1、2,则卷积后就可以得到相同维度的特征。
googlenet的主要思想就是围绕这两个思路去做的:
1.深度,层数更深,文章采用了22层,为了避免上述提到的梯度消失问题,googlenet巧妙的在不同深度处增加了两个loss来保证梯度回传消失的现象。
2.宽度,增加了多种核1x1,3x3,5x5,还有直接max pooling的,但是如果简单的将这些应用到feature map上的话,concat起来的feature map厚度将会很大,所以在googlenet中为了避免这一现象提出的inception具有如下结构,在3x3前,5x5前,max p