1、InceptionNet 出現(xiàn)解決的問(wèn)題
既然網(wǎng)絡(luò)中的結(jié)構(gòu)可以千變?nèi)f化启具,那能不在參數(shù)量一樣的前提下本讥,讓網(wǎng)絡(luò)更加有效,這就是InceptionNet 的主要思想鲁冯。
2拷沸、InceptionNet 介紹
2-1、InceptionNet V1
InceptionNet V1網(wǎng)絡(luò)的參數(shù)量只有6.9兆薯演,模型大小大約50M撞芍。
為什么InceptionNet V1t網(wǎng)絡(luò)的參數(shù)這么少呢?我們先來(lái)看一下它的基本單元的結(jié)構(gòu):
主要原因就是它有效的利用了1* 1 的卷積核跨扮。不同于VGGNet從上到下的類似于一個(gè)串聯(lián)的結(jié)構(gòu)序无,Inception的結(jié)構(gòu)表現(xiàn)為一個(gè)網(wǎng)中網(wǎng)的結(jié)構(gòu)。也就是說(shuō)衡创,對(duì)于我們中間的一個(gè)隱藏層層帝嗡,它的每個(gè)節(jié)點(diǎn)也都是一個(gè)卷積網(wǎng)絡(luò)。對(duì)于前一層傳入進(jìn)來(lái)的特征圖璃氢,這層的每一個(gè)節(jié)點(diǎn)對(duì)它進(jìn)行了1* 1 哟玷、3* 3、5* 5的卷積和3* 3的max pooling操作一也。
其中值得一提的是巢寡,在3* 3和5* 5 的卷積操作之前,該網(wǎng)絡(luò)用1* 1 的卷積核降低了輸入層的通道的數(shù)目椰苟,1* 1 的卷積核通常理解在通道上的一種非線性變換抑月。例如:我們的輸入是一個(gè)56* 56 * 128維的這么一個(gè)特征(這時(shí)候128就是我們通道的數(shù)量)。我們通過(guò)一個(gè)1* 1 的卷積核舆蝴,可以將通道數(shù)降為32爪幻,然后我們將它再輸入到3* 3的卷積核中菱皆。從上圖可知,對(duì)于前一層的輸入挨稿,會(huì)進(jìn)行四組操作,那么輸出通道的數(shù)目也可以均分給每一組京痢。這樣奶甘,大大減少了計(jì)算量。
2-2祭椰、InceptionNet V2/V3
在v2/v3中臭家,他們有效的利用了這個(gè)知識(shí)。在VggNet中方淤,提到了通過(guò)連續(xù)的兩層3* 3的卷積核代替掉了5* 5的卷積核钉赁。而在Inception v3中,工程師們將進(jìn)行進(jìn)一步優(yōu)化携茂,用n* 1 和 1* n的卷積核代替了n* n的卷積核你踩。這樣既保證了視野域,也將參數(shù)減少很多讳苦。比如:原來(lái)的視野域?yàn)?7 * 7 带膜,換做 7 * 1 和 1 * 7 后,參數(shù)減少了 (49-14) / 49 = 5/7鸳谜。
通過(guò)這樣的操作膝藕,我們能夠?qū)崿F(xiàn)什么樣的效果呢?
首先咐扭,參數(shù)量降低芭挽,計(jì)算量減少。拆分大的卷積核后蝗肪,網(wǎng)絡(luò)變深袜爪,網(wǎng)絡(luò)非線性表達(dá)能力更強(qiáng)(因?yàn)樵诿恳粋€(gè)卷積層后面都可以增加一個(gè)激活層)。要注意的是穗慕,在實(shí)驗(yàn)中偉大的先行者們發(fā)現(xiàn)饿敲,并不是拆分都能達(dá)到很好的效果。卷積的拆分最好是用在中間的部分逛绵,不要在圖像的開(kāi)始就進(jìn)行這樣的拆分怀各。
2-3、InceptionNet V4
InceptionNet V4 的思想中术浪,集成了殘差網(wǎng)絡(luò)的跳連瓢对。