VGG采用大量的簡(jiǎn)單卷積網(wǎng)絡(luò)堆疊,使得計(jì)算量巨大,嚴(yán)重消耗性能,后來(lái)逐漸出現(xiàn)了很多新架構(gòu)的神經(jīng)網(wǎng)絡(luò),能夠在大量減少計(jì)算量的情況下保證相同或者更優(yōu)秀的正確率,同時(shí)網(wǎng)絡(luò)存儲(chǔ)空間占用也將大大減少。比如MobileNet, 經(jīng)過(guò)測(cè)試表明,MobileNet能夠在獲得與VGG獲得相同準(zhǔn)確率的結(jié)果情況下,占用空間比VGG小倍,速度快倍以上,可以說(shuō)深度網(wǎng)絡(luò)發(fā)展的過(guò)程就是一個(gè)朝著模型正確率越高,同時(shí)網(wǎng)絡(luò)模型大小越小的一個(gè)過(guò)程。
最開始的AlexNet采用了一些如*,*等之類的很大的卷積核,當(dāng)時(shí)人們認(rèn)為卷積核越大,卷積的視野越大,獲取到的信息越多,得到的特征越好。然后大的卷積和會(huì)帶來(lái)大量的計(jì)算量,對(duì)性能要求比較高。隨著卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展,人們發(fā)現(xiàn),使用兩個(gè)*的卷積核的效果會(huì)比使用一個(gè)*的效果好,同時(shí)隨著網(wǎng)絡(luò)的加深,網(wǎng)絡(luò)的效果會(huì)越好,所以VGG就采用了大量的*的卷積和分組堆疊,在當(dāng)時(shí)獲得了世界領(lǐng)先的效果。
但是又過(guò)了段時(shí)間,人們發(fā)現(xiàn)在同一層中使用不同尺寸的卷積核帶來(lái)的效果比使用單一尺度的卷積核的效果好,于是人們使用在一個(gè)卷積層中,使用了一個(gè)*卷積,一個(gè)*卷積,一個(gè)*卷積結(jié)合,產(chǎn)生了GoogleNet,如圖所示,獲得了比VGG更高的準(zhǔn)確率。
但是同一層中的參數(shù)量比使用單一的尺度的卷積核時(shí)多了很多,使網(wǎng)絡(luò)效率很低下。于是Google團(tuán)隊(duì)又受*卷積核參數(shù)量較少的啟發(fā),在GoogleNet中引入了一些*的卷積核,單層網(wǎng)絡(luò)結(jié)構(gòu)如圖-所示。經(jīng)過(guò)這樣的變化后,使網(wǎng)絡(luò)的參數(shù)量降低到了原來(lái)的九分之一,大大加快了網(wǎng)絡(luò)的計(jì)算速度。
在標(biāo)準(zhǔn)的卷積過(guò)程中,一般同一區(qū)域所有通道是被同時(shí)計(jì)算的,而Xception網(wǎng)絡(luò)則考慮了先對(duì)每個(gè)通道單獨(dú)做卷積,卷積核數(shù)與輸入通道數(shù)相同,再對(duì)得到的結(jié)果做*的跨通道標(biāo)準(zhǔn)卷積。這種方式被稱為深度可分離卷積(DepthWise convolution),也被簡(jiǎn)寫為"DW"。
那么這種方式能為我們減少多少參數(shù)量呢,我們假設(shè)輸入通道為,輸出通道為,則標(biāo)準(zhǔn)*卷積的參數(shù)量為*** =,而使用DW卷積的參數(shù)量為**+***=,可見,使用DW操作將參數(shù)量又降為了原來(lái)的/,而且網(wǎng)絡(luò)準(zhǔn)確率幾乎沒(méi)有下降。
介紹到這里,我們將要介紹的MobileNet采用的優(yōu)化技術(shù)已經(jīng)與Xception非常接近了,不同之處在于這兩網(wǎng)絡(luò)深度不同,同時(shí)MobileNet為了在不重新設(shè)計(jì)模型的情況下,加入了兩個(gè)超參數(shù),寬度因子與分辨率因子,能夠在只改動(dòng)這兩個(gè)參數(shù)的情況下最快的獲得更快和占用內(nèi)存更小的神經(jīng)網(wǎng)絡(luò)。
寬度因子α的范圍為到,表示的是新構(gòu)建的網(wǎng)絡(luò)每一層卷積層中使用的卷積核數(shù)占標(biāo)準(zhǔn)MobileNet中的對(duì)應(yīng)卷積計(jì)算層中的卷積核數(shù)的比例,調(diào)整α的取值,可以將參數(shù)量與計(jì)算量減少到α的平方倍,不同α取值,獲得的在圖像識(shí)別任務(wù)上的取得的準(zhǔn)確率如下表所示。
分辨率因子β的范圍為到,表示的是每個(gè)卷積層輸入的尺寸是標(biāo)準(zhǔn)MobileNet的尺寸的比例,不同β取值,獲得的在圖像識(shí)別任務(wù)上的取得的準(zhǔn)確率如下表所示。
同時(shí)*卷積在計(jì)算時(shí)不需要使用imcol方式對(duì)數(shù)據(jù)進(jìn)行重新排列,加快了計(jì)算速度,MobileNet使用了將近四分之三的*卷積,大大提高了網(wǎng)絡(luò)計(jì)算速度。完整的MobileNet模型結(jié)構(gòu)如下表所示.