【深度学习】总有些哪些大胆又新奇的卷积网络结构设计
作者&編輯 | 言有三
你大概已經(jīng)見(jiàn)慣了基本的卷積結(jié)構(gòu),對(duì)殘差網(wǎng)絡(luò)也了如指掌,對(duì)分組卷積也爛熟于心,也知道模型壓縮的一些技巧,不過(guò)今天這里要說(shuō)的,大部分同學(xué)可未必知道噢。
大眾的模型結(jié)構(gòu)咱們不講,今天從卷積方式,通道變化,拓?fù)浣Y(jié)構(gòu)等各方面給大家介紹幾個(gè)模型,立志于在這個(gè)方向發(fā)文章的同學(xué),可要看仔細(xì)了。
1 漸變的寬度-金字塔結(jié)構(gòu)
這是一個(gè)通道數(shù)的變化方式相關(guān)的網(wǎng)絡(luò)結(jié)構(gòu)。
有三AI知識(shí)星球-網(wǎng)絡(luò)結(jié)構(gòu)1000變
Pyramidal Residual Networks
通常來(lái)說(shuō),網(wǎng)絡(luò)結(jié)構(gòu)的通道數(shù)量變化是突變的,那有沒(méi)有網(wǎng)絡(luò)的增加是緩慢變化的呢?這就是金字塔結(jié)構(gòu)了,名為Pyramidal Residual Networks。
作者/編輯 言有三
大家都知道,CNN等結(jié)構(gòu)在特征圖尺度減小的時(shí)候,通常會(huì)隨之增加特征圖的通道數(shù)目來(lái)增加高層的表達(dá)能力,這是模型性能的保證,大部分的模型其特征圖通道數(shù)的增加是跳變的,比如從128增加到256。
之前我們講述過(guò)隨機(jī)刪減深度的殘差網(wǎng)絡(luò)證明了深度殘差網(wǎng)絡(luò)的深度其實(shí)沒(méi)有想象中那么深,在文章“Residual networks behave like ensembles of relatively shallow networks[C]”中的研究也表明刪除掉一些block并不會(huì)顯著降低性能,但是降采樣的網(wǎng)絡(luò)層除外。
本篇文章基于這個(gè)現(xiàn)象,認(rèn)為要降低降采樣的敏感性,必須要讓通道的變化是緩慢的,即隨著層數(shù)增加,每一層都慢慢增加寬度,命名為金字塔結(jié)構(gòu),如下。
這里a圖是線性增加,b圖是指數(shù)級(jí)增加。
那么到底性能如何呢?首先看下訓(xùn)練曲線對(duì)比:
這里兩個(gè)網(wǎng)絡(luò)的參數(shù)差不多,都是1.7M左右,從曲線上看,性能也相當(dāng)。
另一個(gè)要關(guān)注的問(wèn)題是,金字塔ResNet有沒(méi)有實(shí)現(xiàn)它的初衷,即改善降低分辨率的網(wǎng)絡(luò)層被刪除時(shí)帶來(lái)的性能下降,結(jié)果如下:
從結(jié)果看來(lái),錯(cuò)誤率確實(shí)降低了。更加具體的實(shí)驗(yàn)結(jié)果,大家自己去看論文吧。
[1] Han D, Kim J, Kim J. Deep pyramidal residual networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017: 5927-5935.
2 分支眾多-分形結(jié)構(gòu)
這是一個(gè)多分支結(jié)構(gòu)相關(guān)的網(wǎng)絡(luò)結(jié)構(gòu)。
有三AI知識(shí)星球-網(wǎng)絡(luò)結(jié)構(gòu)1000變
FractalNet
殘差網(wǎng)絡(luò)可以使得上千層的網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)成為可能,但并不是只有殘差網(wǎng)絡(luò)可以做到,FractalNet(分形網(wǎng)絡(luò))便是如此。
作者/編輯 言有三
分形是一個(gè)數(shù)學(xué)概念,指的是具有以非整數(shù)維形式填充空間的形態(tài)特征,也就是說(shuō)它的有效維度不是整數(shù)。不過(guò)我們這里可以不用關(guān)注它的數(shù)學(xué)定義,而是關(guān)注它的,分形幾何結(jié)構(gòu)的一部分具有和整體相似的結(jié)構(gòu),即自相似,如下圖形:
分形網(wǎng)絡(luò),顧名思義也是這樣的特點(diǎn)了,局部的結(jié)構(gòu)和全局相似,如下圖:
可以看到包含了各種長(zhǎng)度不同的子路徑,從左到右:
第一列路徑只有一條,長(zhǎng)度l。
第二列路徑兩條,長(zhǎng)度l/2。
第三列路徑四條,長(zhǎng)度l/4。
第二列路徑八條,長(zhǎng)度l/8。
它與殘差網(wǎng)絡(luò)的不同之處在于,綠色模塊表示的非線性變換,即下一層不可能直接得到上一層的信號(hào),而是經(jīng)過(guò)了變換。
這樣的一種包含了不同深度的子網(wǎng)絡(luò),與之前提過(guò)的stochastic depth有異曲同工之妙,它也可以被看作是不同深度的網(wǎng)絡(luò)的ensemble。
作者們通過(guò)隨機(jī)丟棄某些深度的方法也做了實(shí)驗(yàn),丟棄的樣例如下:
上面展示了兩種路徑,訓(xùn)練時(shí)混合使用。
Global: 只選擇一條路徑,且是同一列,這條路徑就是獨(dú)立的強(qiáng)預(yù)測(cè)路徑。
Local:包含多個(gè)路徑,但是保證每一層至少要有一個(gè)輸入。
那么結(jié)果如何呢?
如上,與各種網(wǎng)絡(luò)進(jìn)行了對(duì)比,性能很好。在添加了drop-path技術(shù)后,還有極大提升,并且單獨(dú)只拿出其中最深的一條路徑所得的網(wǎng)絡(luò),都有接近最好的模型的性能。
與殘差網(wǎng)絡(luò)的相關(guān)研究一樣,分形網(wǎng)絡(luò)的研究也表明路徑的有效長(zhǎng)度才是訓(xùn)練深度網(wǎng)絡(luò)的真正影響因素,不論是分形網(wǎng)絡(luò),還是殘差網(wǎng)絡(luò),都擁有更短的有效的梯度傳播路徑,從而使得深層網(wǎng)絡(luò)訓(xùn)練更不容易過(guò)擬合。
[1]?Larsson G, Maire M, Shakhnarovich G. Fractalnet: Ultra-deep neural networks without residuals[J]. arXiv preprint arXiv:1605.07648, 2016.
3 一切可連-環(huán)形網(wǎng)絡(luò)
這是一個(gè)基于跳層的復(fù)雜拓?fù)渚W(wǎng)絡(luò)結(jié)構(gòu)。
有三AI知識(shí)星球-網(wǎng)絡(luò)結(jié)構(gòu)1000變
CliqueNet
DenseNet通過(guò)復(fù)用不同層級(jí)的特征圖,提高了通道的利用率,不過(guò)它的連接是前向的,即信息只能從淺層向深層傳遞,而CliqueNet則更進(jìn)一步,信息的傳遞是雙向的。
作者/編輯 言有三
結(jié)構(gòu)如上圖所示,CliqueNet不僅有前傳的部分,還有后傳,這種網(wǎng)絡(luò)架構(gòu)同時(shí)受到了RNN等循環(huán)網(wǎng)絡(luò)和注意力機(jī)制的啟發(fā),使得特征圖重復(fù)使用而且更加精煉。
CliqueNet的訓(xùn)練包含兩個(gè)階段。第一個(gè)階段與 DenseNet 相同,即圖中的Stage-1,此時(shí)淺層特征向深層進(jìn)行傳遞,這可以視為初始化過(guò)程。
第二個(gè)階段中每一層不僅接受前面所有層的特征圖,也接受后面層級(jí)的特征圖反饋。可以看出這是一種循環(huán)的反饋結(jié)構(gòu),可以利用更高級(jí)視覺(jué)信息來(lái)精煉前面層級(jí)的特征,實(shí)現(xiàn)空間注意力的效果。實(shí)驗(yàn)結(jié)果表明,它有效地抑制了背景和噪聲的激活。
整體的網(wǎng)絡(luò)架構(gòu)如上:網(wǎng)絡(luò)由很多的block組成,每一個(gè)block的stage II的特征通過(guò)global pool串接生成最終的特征。與DenseNet的不同之處在于,隨著網(wǎng)絡(luò)架構(gòu),每一個(gè)block的輸入輸出特征圖不需要增加,從而更加高效,結(jié)果如下:
從上表可以看出,參數(shù)量和精度是非常具有優(yōu)勢(shì)的。
[1]?Yang Y, Zhong Z, Shen T, et al. Convolutional neural networks with alternately updated clique[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 2413-2422.
4 不規(guī)則的卷積核-可變形網(wǎng)絡(luò)
這是一個(gè)卷積核的形狀相關(guān)的網(wǎng)絡(luò)結(jié)構(gòu)。
有三AI知識(shí)星球-網(wǎng)絡(luò)結(jié)構(gòu)1000變
Deformable Convolution
卷積操作本身具有非常固定的幾何結(jié)構(gòu),標(biāo)準(zhǔn)的卷積操作是一個(gè)非常規(guī)矩的采樣,通常是正方形,如果卷積核采用非規(guī)矩的采樣,即它的形狀不再是標(biāo)準(zhǔn)的方形,而是任意形狀,則稱(chēng)之為可形變卷積(Deformable Convolution)。
作者/編輯 言有三
要描述上面的卷積核,不僅僅需要權(quán)重系數(shù),還需要每一個(gè)點(diǎn)的偏移量,可變形卷積的思想最早以Active Convolution的形式被提出。
在Active Convolution中,卷積核的各個(gè)分量都有自己的偏移量,對(duì)于一個(gè)3*3的卷積,就包含了18個(gè)系數(shù),其中X方向和Y方向的偏移量各9個(gè)。不過(guò)各個(gè)通道共享該系數(shù),所以與輸入輸出通道數(shù)無(wú)關(guān)。
對(duì)于輸入通道為M,輸出通道為N,使用3*3的卷積的Active Convolution,權(quán)重參數(shù)量為M*N*3*3,偏移參數(shù)量為2*3*3,遠(yuǎn)遠(yuǎn)小于權(quán)重參數(shù)量,所以增加的參數(shù)量幾乎可以忽略不計(jì)。
在Deformable convolutional networks,每一個(gè)通道不共享偏移量,偏移參數(shù)量為2*M*3*3,增加的參數(shù)量比Active Convolution更多,但是相比卷積核權(quán)重參數(shù)量M*N*3*3,仍然小很多,所以不會(huì)大幅度增加模型的大小,而且實(shí)際實(shí)現(xiàn)時(shí)可以對(duì)輸出通道進(jìn)行分組。
從上圖就可以看出可變形卷積有更靈活的感受野。
可變形卷積的實(shí)現(xiàn)只需要增加偏移量的學(xué)習(xí),實(shí)際就是多了一個(gè)offset層,給offset輸出通道數(shù)變量,我們還可以對(duì)輸出進(jìn)行分組,控制要學(xué)習(xí)的變形的種類(lèi)。
最后看一下參數(shù)對(duì)比和性能。
實(shí)驗(yàn)了各個(gè)網(wǎng)絡(luò)層的結(jié)果,參數(shù)量的增加很小,性能也是提升的。具體的效果如何,大家不妨用自己的實(shí)驗(yàn)結(jié)果來(lái)驗(yàn)證。
[1] Jeon Y , Kim J . Active Convolution: Learning the Shape of Convolution for Image Classification[J]. 2017.
[2] Dai J, Qi H, Xiong Y, et al. Deformable Convolutional Networks[J]. 2017.
5 測(cè)試可變的網(wǎng)絡(luò)-可分叉網(wǎng)絡(luò)
這是一個(gè)推理時(shí)動(dòng)態(tài)變化的網(wǎng)絡(luò)結(jié)構(gòu)。
有三AI知識(shí)星球-網(wǎng)絡(luò)結(jié)構(gòu)1000變
BranchyNet
通常來(lái)說(shuō)模型訓(xùn)練完之后結(jié)構(gòu)就是固定的,測(cè)試時(shí)圖片沿著固定的通路進(jìn)行計(jì)算。然而測(cè)試樣本本身有不同的難度,簡(jiǎn)單的樣本只需要少量的計(jì)算量就可以完成任務(wù),困難的樣本則需要更多的計(jì)算量。
作者/編輯 言有三
如上圖所示,它在正常網(wǎng)絡(luò)通道上包含了多個(gè)旁路分支,這樣的思想是基于觀察到隨著網(wǎng)絡(luò)的加深,表征能力越來(lái)越強(qiáng),大部分簡(jiǎn)單的圖片可以在較淺層時(shí)學(xué)習(xí)到足以識(shí)別的特征,如上圖中的Exit 1通道。一些更難的樣本需要進(jìn)一步的學(xué)習(xí),如上圖中的Exit 2通道,而只有極少數(shù)樣本需要整個(gè)網(wǎng)絡(luò),如Exit3通道。這樣的思想可以實(shí)現(xiàn)精度和計(jì)算量的平衡,對(duì)于大部分樣本,可以用更小的計(jì)算量完成任務(wù)。
那么如何判斷是否可以提前結(jié)束呢?在提出該網(wǎng)絡(luò)的論文中,作者采用分類(lèi)信息熵,一旦該通道的分類(lèi)信息熵低于某一個(gè)閾值,說(shuō)明已經(jīng)以很高的置信度獲得了分類(lèi)的結(jié)果,直到最終的通道。
在訓(xùn)練的時(shí)候,每一個(gè)通道都會(huì)對(duì)損失有貢獻(xiàn),越靠近淺層的網(wǎng)絡(luò)權(quán)重越大。多通道的損失不僅增強(qiáng)了梯度信息,也在一定程度上實(shí)現(xiàn)了正則化。
將BranchyNet的設(shè)計(jì)思想用于LeNet,AlexNet,ResNet結(jié)構(gòu)后,在維持性能的前提下,加速效果明顯。
對(duì)于擁有N個(gè)分支的網(wǎng)絡(luò),需要的就是N-1個(gè)閾值,因?yàn)樽詈笠粋€(gè)分支不需要閾值。
LeNet系列網(wǎng)絡(luò)可以讓超過(guò)90%的樣本在第一個(gè)分支提前終止,AlexNet提前終止樣本比例也超過(guò)一半,ResNet提前終止樣本比例超過(guò)了40%。
[1] Teerapittayanon S, McDanel B, Kung H T. Branchynet: Fast inference via early exiting from deep neural networks[C]//2016 23rd International Conference on Pattern Recognition (ICPR). IEEE, 2016: 2464-2469.
往期精彩回顧適合初學(xué)者入門(mén)人工智能的路線及資料下載機(jī)器學(xué)習(xí)及深度學(xué)習(xí)筆記等資料打印機(jī)器學(xué)習(xí)在線手冊(cè)深度學(xué)習(xí)筆記專(zhuān)輯《統(tǒng)計(jì)學(xué)習(xí)方法》的代碼復(fù)現(xiàn)專(zhuān)輯 AI基礎(chǔ)下載黃海廣老師《機(jī)器學(xué)習(xí)課程》視頻課黃海廣老師《機(jī)器學(xué)習(xí)課程》711頁(yè)完整版課件本站qq群554839127,加入微信群請(qǐng)掃碼:
總結(jié)
以上是生活随笔為你收集整理的【深度学习】总有些哪些大胆又新奇的卷积网络结构设计的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 利用火狐浏览器Firebug查看网页相关
- 下一篇: 优酷视频如何在手机进行安全设置?