Deep Learning學(xué)習(xí)筆記(六) 對設(shè)計(jì)卷積神經(jīng)網(wǎng)絡(luò)的一點(diǎn)理解

最近用tensorflow復(fù)現(xiàn)了AlexNetVGGNet窥浪,GoogleIncptionNet(V3)物臂,ResNet等經(jīng)典的深度神經(jīng)網(wǎng)絡(luò)壮啊,整個(gè)過程下來還是很有收獲的嫉鲸,也算是對神經(jīng)網(wǎng)絡(luò)這部分有了更深刻的理解。其實(shí)這些網(wǎng)絡(luò)的整體流程和LeNet無外乎還是相似的歹啼,但是在復(fù)現(xiàn)這些經(jīng)典網(wǎng)絡(luò)的過程中玄渗,感受最明顯的還是網(wǎng)絡(luò)背后的設(shè)計(jì)精妙之處座菠。下面并不會對各網(wǎng)絡(luò)的細(xì)節(jié)及每層的參數(shù)設(shè)置來做具體描述,只講講自己對上述幾個(gè)經(jīng)典網(wǎng)絡(luò)設(shè)計(jì)的一點(diǎn)粗淺理解:

一藤树、AlexNet

2012年浴滴,Hinton(DL屆的爺爺輩人物)的學(xué)生Alex Krizhevsky提出了深度卷積神經(jīng)網(wǎng)絡(luò)AlexNet,并以顯著的優(yōu)勢贏得了競爭激烈的ILSVRC 2012比賽岁钓,top-5的錯(cuò)誤率降低至16.4%升略,相比第二名的成績26.2%錯(cuò)誤率有了巨大的提升。AlexNet可以說是神經(jīng)網(wǎng)絡(luò)在低谷期的第一次發(fā)聲屡限,確立了深度學(xué)習(xí)在計(jì)算機(jī)視覺的統(tǒng)治地位品嚣!

AlexNet將LeNet的思想發(fā)揚(yáng)光大,把CNN的基本原理應(yīng)用到了很深很寬的網(wǎng)絡(luò)中钧大。AlexNet主要用到的新技術(shù)有:

  • 成功使用了ReLU作為CNN的激活函數(shù)翰撑,并驗(yàn)證其效果在較深的網(wǎng)絡(luò)超過了Sigmoid,成功解決了Sigmoid在網(wǎng)絡(luò)較深時(shí)的梯度彌散問題啊央。

  • 訓(xùn)練時(shí)使用Dropout隨機(jī)忽略一部分神經(jīng)元眶诈,以避免模型過擬合。

  • AlexNet全部使用最大池化Maxpool瓜饥,避免平均池化Avgpool的模糊化效果逝撬。并且AlexNet中提出讓步長比池化核的尺寸小,這樣池化層的輸出之間會有重疊和覆蓋压固,提升了特征的豐富性球拦。

  • 提出了LRN層,對局部神經(jīng)元的活動創(chuàng)建競爭機(jī)制帐我,使得其中響應(yīng)比較大的值變得相對更大坎炼,并抑制其他反饋較小的神經(jīng)元,增強(qiáng)模型的泛化能力拦键。(后面VGGNet的作者提出LRN層的作用并不大谣光,所以現(xiàn)在的網(wǎng)絡(luò)一般都不用LRN層)

  • 使用CUDA加速深度卷積網(wǎng)絡(luò)的訓(xùn)練,利用GPU強(qiáng)大的并行計(jì)算能力芬为,處理神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)大量的矩陣運(yùn)算萄金。(看看NVIDIA的股票漲勢就知道GPU在深度學(xué)習(xí)屆有多火!C碾Q醺摇)

二、VGGNet

VGGNet是牛津大學(xué)和google一起研發(fā)的深度卷積神經(jīng)網(wǎng)絡(luò)询张。相比之前state-of-the-art的網(wǎng)絡(luò)結(jié)構(gòu)孙乖,錯(cuò)誤率大幅下降,取得了ILSVRC 2014比賽分類項(xiàng)目的第2名和定位項(xiàng)目的第1名。直到目前唯袄,VGGNet依然經(jīng)常被用來提取圖像特征弯屈。

VGGNet可以說是探索了卷積神經(jīng)網(wǎng)絡(luò)的深度與其性能之間的關(guān)系,將日后的這些網(wǎng)絡(luò)都推向了更深的層次恋拷。

VGGNet包括這幾個(gè)網(wǎng)絡(luò)都遵循著一個(gè)相同的設(shè)計(jì)思路:越靠后的卷積核數(shù)量越多资厉。

VGGNet的卷積層設(shè)計(jì)中一個(gè)特別好的trick:與其構(gòu)建大的卷積核,不如換成幾個(gè)很小的卷積核逐層提取蔬顾,不僅參數(shù)可以減小宴偿,減輕過擬合,還增加了多層的非線性擴(kuò)展能力诀豁。如3個(gè)3x3的卷積層串聯(lián)的效果相當(dāng)于1個(gè)7x7的卷積層酪我,除此之外,3個(gè)串聯(lián)的3x3卷積層且叁,擁有比1個(gè)7x7的卷積層更少的參數(shù)量都哭,只有后者的3x3x3/7x7=55%(蛋疼的簡書不支持?jǐn)?shù)學(xué)公式,湊合著看吧......)逞带。最重要的是欺矫,3個(gè)3x3的卷積層擁有比一個(gè)7x7卷積層更多的非線性變換,使得CNN對特征的學(xué)習(xí)能力更強(qiáng)展氓!

兩個(gè)串聯(lián)3x3的卷積層功能類似于一個(gè)5x5的卷積層.png

VGGNet的模型參數(shù)雖然比AlexNet多穆趴,但是反而需要較少的迭代次數(shù)就可以收斂,主要原因是更深的網(wǎng)絡(luò)更小的卷積核帶來的隱式的正則化效果遇汞。

三未妹、GoogleInceptionNet

GoogleInceptionNet首次出現(xiàn)在ILSVRC 2014的比賽中(和VGGNet同年),就以較大的優(yōu)勢取得了第一名空入。

InceptionNet一個(gè)極深的卷積神經(jīng)網(wǎng)絡(luò)络它,擁有非常精妙的設(shè)計(jì)和構(gòu)造,整個(gè)網(wǎng)絡(luò)的結(jié)構(gòu)和分支非常復(fù)雜歪赢,其中有許多設(shè)計(jì)CNN的思想和trick值得借鑒:

論文中提到了其網(wǎng)絡(luò)模型的稀疏結(jié)構(gòu)主要基于Hebbian原理:“神經(jīng)反射活動的持續(xù)與反復(fù)會導(dǎo)致神經(jīng)元連接穩(wěn)定性的持久提升化戳,當(dāng)兩個(gè)神經(jīng)元細(xì)胞A和B距離很近時(shí),并且A參與了對B重復(fù)/持續(xù)的興奮埋凯,那么某些代謝變化會導(dǎo)致A將作為能使B興奮的細(xì)胞点楼。”

  • 受Hebbian原理啟發(fā)白对,如果數(shù)據(jù)集的概率分布可以被一個(gè)很大很稀疏的神經(jīng)網(wǎng)絡(luò)所表達(dá)盼忌,那么構(gòu)筑這個(gè)網(wǎng)絡(luò)的最佳方法是逐層構(gòu)筑網(wǎng)絡(luò):將上一層高度相關(guān)的節(jié)點(diǎn)聚類捌浩,并將聚類出來的每一小簇連接到一起役纹。在普通的數(shù)據(jù)集中孤澎,這可能需要對神經(jīng)元節(jié)點(diǎn)進(jìn)行聚類狰域,但是在圖片數(shù)據(jù)中,天然的就是臨近區(qū)域的數(shù)據(jù)相關(guān)性高黄橘,因此相鄰的像素點(diǎn)被卷積操作連接在一起。而我們可能有多個(gè)卷積核屈溉,在同一個(gè)空間位置但是在不同通道的卷積核的輸出結(jié)果相關(guān)性極高塞关。因此,一個(gè)1x1的卷積就可以很自然的把這些相關(guān)性很高的在同一個(gè)空間位置但是不同通道的特征連接在一起子巾!稍微大一點(diǎn)的卷積核所連接的節(jié)點(diǎn)相關(guān)性也很高帆赢,因此可以適當(dāng)?shù)氖褂迷黾犹卣鞯亩鄻有裕?/p>

  • InceptionNet還提出了另一方面的改造:引入了Factorization into small convolutions的思想,將一個(gè)較大的二維卷積核拆成兩個(gè)較小的一維卷積线梗,一方面節(jié)約了參數(shù)椰于,加速運(yùn)算并減輕過擬合,同時(shí)增加了一層非線性擴(kuò)展模型表達(dá)能力仪搔。論文額中之處瘾婿,這種非對稱的卷積結(jié)構(gòu)拆分,其結(jié)果比對稱的拆為幾個(gè)相同的小卷積核效果更明顯烤咧!比如可以將5x5的卷積核設(shè)計(jì)為兩層1x55x1的卷積核偏陪,提取特征的效果好于兩個(gè)3x3的卷積核;

  • 可以通過設(shè)計(jì)Inception Module用多個(gè)分支提取不同抽象程度的高階特征來豐富網(wǎng)絡(luò)的表達(dá)能力煮嫌。如Inception v3的Inception Module中分支1一般是1x1卷積(組合簡單的特征抽象)笛谦,分支2和3一般都是1x1卷積再接分解后的1xnnx1卷積(組合比較復(fù)雜的特征),分支4一般是具有最大池化或平均池化昌阿,一共四種不同程度的特征抽象和變換來有選擇的保留不同層次的高階特征饥脑;

  • 從卷積網(wǎng)絡(luò)的輸入到輸出,應(yīng)該讓圖片尺寸逐漸減小懦冰,輸出通道數(shù)逐漸增加灶轰,即讓空間結(jié)構(gòu)簡化,將空間信息轉(zhuǎn)化為高階抽象的特征信息刷钢。每一個(gè)通道對應(yīng)一個(gè)濾波器框往,同一個(gè)濾波器共享參數(shù),只能提取一類特征闯捎,因此一個(gè)輸出通道只能做一種特征處理椰弊。但是要注意增加輸出通道數(shù)帶來的副作用就是計(jì)算量增大和過擬合!

在Inception V2的論文中提出了著名的Batch Normalization方法瓤鼻。BN是一個(gè)非常有效的正則化方法秉版,可以讓大型卷積網(wǎng)絡(luò)的訓(xùn)練速度加快很多倍,同時(shí)收斂后的分類準(zhǔn)確率也可以得到大幅提升茬祷。(具體關(guān)于Batch Normaliation的詳細(xì)知識在這篇文章里)

四清焕、ResNet

ResNet由微軟研究院的何凱明(清華學(xué)霸,兩次CVPR最佳論文)提出,通過使用Residual Unit成功訓(xùn)練152層深的神經(jīng)網(wǎng)絡(luò)秸妥,在ILSVRC 2015比賽中獲得了冠軍滚停,取得3.57%的top-5錯(cuò)誤率。

ResNet靈感解決了不斷增加神經(jīng)網(wǎng)絡(luò)的深度時(shí)粥惧,會出現(xiàn)Degradation的問題键畴,即準(zhǔn)確率會先上升然后達(dá)到飽和,再持續(xù)增加深度則會導(dǎo)致準(zhǔn)確率下降突雪。這并不是過擬合的問題起惕,因?yàn)椴还馐窃跍y試集上誤差增大,訓(xùn)練集本身誤差也會增大咏删!假設(shè)有一個(gè)比較淺的網(wǎng)絡(luò)達(dá)到了飽和的準(zhǔn)確率惹想,那么在后面再加上幾個(gè)y=x的全等映射層,起碼誤差不會增加督函。使用全等映射直接經(jīng)前一層輸出傳到后面的思想嘀粱,就是ResNet的核心意義

假設(shè)某段神經(jīng)網(wǎng)絡(luò)的輸入為x辰狡,期望輸出為H(x)草穆,如果我們只屆把輸入x傳到輸出作為初始結(jié)果,那么此時(shí)我們需要學(xué)習(xí)的目標(biāo)就是F(x)=H(x)-x搓译。ResNet相當(dāng)于將學(xué)習(xí)目標(biāo)改變了悲柱,不再是學(xué)習(xí)一個(gè)完整的輸出H(x),指示輸出和輸入的差別H(x)-x些己,即殘差豌鸡。

Residual Unit.png

傳統(tǒng)的卷積層或全連接層在傳遞信息時(shí),或多或少會存在信息丟失/損耗等問題段标。ResNet在某種程度上解決了這個(gè)問題涯冠,通過直接將輸入繞道傳到輸出,保護(hù)信息的完整性逼庞,整個(gè)網(wǎng)絡(luò)則只需要學(xué)習(xí)輸入蛇更、輸出差別的那一部分,簡化學(xué)習(xí)目標(biāo)和難度赛糟。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末派任,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子璧南,更是在濱河造成了極大的恐慌掌逛,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件司倚,死亡現(xiàn)場離奇詭異豆混,居然都是意外死亡篓像,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進(jìn)店門皿伺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來员辩,“玉大人,你說我怎么就攤上這事鸵鸥〉旎” “怎么了?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵脂男,是天一觀的道長。 經(jīng)常有香客問我种呐,道長宰翅,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任爽室,我火速辦了婚禮汁讼,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘阔墩。我一直安慰自己嘿架,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布啸箫。 她就那樣靜靜地躺著耸彪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪忘苛。 梳的紋絲不亂的頭發(fā)上蝉娜,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天,我揣著相機(jī)與錄音扎唾,去河邊找鬼召川。 笑死,一個(gè)胖子當(dāng)著我的面吹牛胸遇,可吹牛的內(nèi)容都是我干的荧呐。 我是一名探鬼主播,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼纸镊,長吁一口氣:“原來是場噩夢啊……” “哼倍阐!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起逗威,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤收捣,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后庵楷,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體罢艾,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡楣颠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了咐蚯。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片童漩。...
    茶點(diǎn)故事閱讀 40,675評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖春锋,靈堂內(nèi)的尸體忽然破棺而出矫膨,到底是詐尸還是另有隱情,我是刑警寧澤期奔,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布侧馅,位于F島的核電站,受9級特大地震影響呐萌,放射性物質(zhì)發(fā)生泄漏馁痴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一肺孤、第九天 我趴在偏房一處隱蔽的房頂上張望罗晕。 院中可真熱鬧,春花似錦赠堵、人聲如沸小渊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽酬屉。三九已至,卻和暖如春揍愁,著一層夾襖步出監(jiān)牢的瞬間梆惯,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工吗垮, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留垛吗,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓烁登,卻偏偏與公主長得像怯屉,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子饵沧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評論 2 360

推薦閱讀更多精彩內(nèi)容