Inception-v2/v3结构解析(原创)

https://arxiv.org/pdf/1512.00567.pdf

Szegedy在2015年发表了论文Rethinking the Inception Architecture for Computer Vision,该论文对之前的Inception结构提出了多种优化方法,来达到尽可能高效的利用计算资源的目的。作者认为随意增大Inception的复杂度,后果就是Inception的错误率很容易飙升,还会成倍的增加计算量,所以必须按照一套合理的规则来优化Inception结构,具体如下:

一、基本规则

规则1:要防止出现特征描述的瓶颈(representational bottleneck)。所谓特征描述的瓶颈就是中间某层对特征在空间维度进行较大比例的压缩(比如使用pooling时),导致很多特征丢失。虽然Pooling是CNN结构中必须的功能,但我们可以通过一些优化方法来减少Pooling造成的损失。

规则2:特征的数目越多收敛的越快。相互独立的特征越多,输入的信息就被分解的越彻底,分解的子特征间相关性低,子特征内部相关性高,把相关性强的聚集在了一起会更容易收敛。这点就是Hebbin原理:fire together, wire together。规则2和规则1可以组合在一起理解,特征越多能加快收敛速度,但是无法弥补Pooling造成的特征损失,Pooling造成的representational bottleneck要靠其他方法来解决。

规则3:可以压缩特征维度数,来减少计算量。inception-v1中提出的用1x1卷积先降维再作特征提取就是利用这点。不同维度的信息有相关性,降维可以理解成一种无损或低损压缩,即使维度降低了,仍然可以利用相关性恢复出原有的信息。

规则4:整个网络结构的深度和宽度(特征维度数)要做到平衡。只有等比例的增大深度和维度才能最大限度的提升网络的性能。

二、优化方法

以下优化方法就是根据前面的规则总结出的:

方法1:可以将大尺度的卷积分解成多个小尺度的卷积来减少计算量。比如将1个5x5的卷积分解成两个3x3的卷积串联,从图1左侧可以看出两级3x3的卷积的覆盖范围就是5x5,两者的覆盖范围没有区别。假设5x5和两级3x3卷积输出的特征数相同,那两级3x3卷积的计算量就是前者的(3x3+3x3)/5x5=18/25。

                                    图1:5x5卷积等效于2级3x3卷积串联 (左)             3x3卷积可以分解为3x1和1x3卷积 (右)

方法2:可以使用非对称卷积。将nxn的卷积分解成1xn和nx1卷积的串联,例如n=3,分解后就能节省33%的计算量(图1右侧)。作者通过测试发现非对称卷积用在网络中靠中间的层级才有较好的效果(特别是feature map的大小在12x12~20x20之间时)。

方法3:可以使用并行结构来优化Pooling。前面的规则1提到Pooling会造成represtation bottleneck,一种解决办法就是在Pooling前用1x1卷积把特征数加倍(见图2右侧),这种加倍可以理解加入了冗余的特征,然后再作Pooling就只是把冗余的信息重新去掉,没有减少信息量。这种方法有很好的效果但因为加入了1x1卷积会极大的增大 计算量。替代的方法是使用两个并行的支路,一路1x1卷积,由于特征维度没有加倍计算量相比之前减少了一倍,一路是Pooling,最后再在特征维度拼合到一起(见图3)。这种方法即有很好的效果,又没有增大计算量。

图2


图3

方法4:使用Label Smoothing来对网络输出进行正则化。

Softmax层的输出可以用下面图4公式表示,损失loss可以用图5表示。假设分类的标签是独热码表示(正确分类是1,其他类别是0),从公式4可以反推出整个训练过程收敛时Softmax的正确分类的输入Zk是无穷大,这是一种极其理想的情况,如果让所有的输入都产生这种极其理想的输出,就会造成overfit(回想一下overfit的概念:能对所有的输入进行最理想的分类,鲁棒性差)。所以为了克服overfit,防止最终出来的正确分类p(k)=1,在输出p(k)时加了个参数delta(图6),生成新的q'(k),再用它替换公式5中的q(k)来计算loss。

图4:Softmax层的输出
图5:loss
图6:使用了label smoothing方法

作者还对自己在GoogLeNet论文中提出的 分支分类器(Auxiliary Classifiers)效果进行了纠正。Szegedy认为自己当时的结论就是错误的,特别是靠近输入侧的那个Auxiliary Classifier,加不加完全没区别,但如果在靠近输出的那个Auxiliary Classifier的全连接层后加个BN,会起到正则化的作用,所有 第二个Auxiliary Classifier还是可以保留。起正则化作用的原因Szegedy完全没解释。。。

把上述的方法1~方法4组合到一起,就有了inceptio-v2结构(图7),图7中的三种inception模块的具体构造见图8。inception-v2的结构中如果Auxiliary Classifier上加上BN,就成了inception-v3。

图7:inception-v2
图8: (左)第一级inception结构  (中)第二级inception结构  (右)第三级inception结构    

总结:个人觉得Rethinking the Inception Architecture for Computer Vision这篇论文没有什么特别突破性的成果,只是对之前的GoogLeNet作些小修小补,近年来真正有突破性的还是BN、ResNet这样的成果。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342