一、ResNet
Ⅰ.視頻學(xué)習(xí)
ResNet在2015年由微軟實(shí)驗(yàn)室提出,該網(wǎng)絡(luò)的亮點(diǎn):
1.超深的網(wǎng)絡(luò)結(jié)構(gòu)(突破1000層)
簡(jiǎn)單堆疊卷積層和池化層,會(huì)導(dǎo)致梯度消失或梯度爆炸和退化問題;
ResNet使用深度殘差學(xué)習(xí)框架來解決退化問題。
2.提出residual模塊
3.使用Batch Normalization加速訓(xùn)練(丟棄dropout)
Ⅱ.論文閱讀
Deep Residual Learning for Image Recognition,CVPR2016
深度學(xué)習(xí)論文:Deep Residual Learning for Image Recognition
深度學(xué)習(xí)經(jīng)典論文分析(六)
網(wǎng)絡(luò)不是越深越好,隨著網(wǎng)絡(luò)深度的增加,精度會(huì)飽和,然后迅速退化,且這并不是由過擬合引起的。文中通過引入一個(gè)深度殘差學(xué)習(xí)框架來解決退化問題。不是讓網(wǎng)絡(luò)直接擬合原先的映射,而是擬合殘差映射。實(shí)際上,把殘差推至0和把此映射逼近另一個(gè)非線性層相比要容易的多。
二、ResNeXt
Ⅰ.視頻學(xué)習(xí)
1.更新block
2.組卷積
Ⅱ.論文閱讀
Aggregated Residual Transformations for Deep Neural Networks, CVPR 2017
Aggregated Residual Transformations for Deep Neural Networks(論文翻譯)
【論文閱讀】Aggregated Residual Transformations for Deep Neural Networks Saining(ResNext)
現(xiàn)代的網(wǎng)絡(luò)設(shè)計(jì)中通常會(huì)次堆疊類似結(jié)構(gòu),從而減少網(wǎng)絡(luò)中超參數(shù)的數(shù)量,簡(jiǎn)化網(wǎng)絡(luò)設(shè)計(jì)。
Inception使用了split-transform-merge策略,即先將輸入分成幾部分,然后分別做不同的運(yùn)算,最后再合并到一起。這樣可以在保持模型表達(dá)能力的情況下降低運(yùn)算代價(jià)。但是Inception的結(jié)構(gòu)還是過于復(fù)雜了。
本文中提出了一個(gè)簡(jiǎn)單的架構(gòu),它采用了 VGG/ResNets 的重復(fù)層策略,同時(shí)以一種簡(jiǎn)單、可擴(kuò)展的方式利用了 split-transform-merge 策略。網(wǎng)絡(luò)中的一個(gè)模塊執(zhí)行一組轉(zhuǎn)換,每個(gè)轉(zhuǎn)換都在一個(gè)低維嵌入上,其輸出通過求和聚合現(xiàn)——要聚合的變換都是相同的拓?fù)浣Y(jié)構(gòu)(例如,圖 1(右))。這種設(shè)計(jì)允許我們?cè)跊]有專門設(shè)計(jì)的情況下擴(kuò)展到任何大量的轉(zhuǎn)換。這種結(jié)構(gòu)可以在保持網(wǎng)絡(luò)的計(jì)算量和參數(shù)尺寸的情況下,提高分類精度。
三、貓狗大戰(zhàn)
貓狗大戰(zhàn)–經(jīng)典圖像分類題 - AI算法競(jìng)賽-AI研習(xí)社
使用ResNet進(jìn)行貓狗大戰(zhàn)
使用Google的Colab+pytorch
Google Colab 中運(yùn)行自己的py文件
Lenet網(wǎng)絡(luò)
Resnet網(wǎng)絡(luò)
四、思考題
1、Residual learning 的基本原理?
Residual learning的基本原理是通過引入殘差連接,讓神經(jīng)網(wǎng)絡(luò)可以學(xué)習(xí)殘差,而不是直接學(xué)習(xí)映射函數(shù)。這樣可以解決深層網(wǎng)絡(luò)訓(xùn)練中的退化問題。
2、Batch Normailization 的原理,思考 BN、LN、IN 的主要區(qū)別。
Batch Normalization(批歸一化)的原理是通過在網(wǎng)絡(luò)的每個(gè)層輸入前對(duì)其進(jìn)行歸一化,使得輸入的均值接近于0,標(biāo)準(zhǔn)差接近于1。這有助于緩解梯度消失問題,加速訓(xùn)練過程,并且可以允許使用更高的學(xué)習(xí)率。
主要區(qū)別如下:
BN(Batch Normalization):對(duì)每個(gè)Batch的數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化,使其均值為0,方差為1。該方法在網(wǎng)絡(luò)訓(xùn)練時(shí)對(duì)每個(gè)batch的數(shù)據(jù)都進(jìn)行標(biāo)準(zhǔn)化,且歸一化的均值和方差不固定,是最常用的一種批標(biāo)準(zhǔn)化方法。
LN(Layer Normalization):對(duì)每一層的數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化,使其均值為0,方差為1。LN不采用批次維度計(jì)算均值和方差,而是將整個(gè)層的數(shù)據(jù)作為一個(gè)標(biāo)準(zhǔn)化的對(duì)象。
IN(Instance Normalization):對(duì)每個(gè)樣本的每個(gè)通道的數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化,使其均值為0,方差為1。IN是針對(duì)圖像生成任務(wù)提出的一種標(biāo)準(zhǔn)化方法,將每個(gè)樣本的所有像素點(diǎn)作為標(biāo)準(zhǔn)化的對(duì)象,對(duì)每個(gè)通道的數(shù)據(jù)進(jìn)行歸一化。
3、為什么分組卷積可以提升準(zhǔn)確率?即然分組卷積可以提升準(zhǔn)確率,同時(shí)還能降低計(jì)算量,分?jǐn)?shù)數(shù)量盡量多不行嗎?
分組卷積將輸入分成多個(gè)組,每組內(nèi)部進(jìn)行卷積運(yùn)算,可以減少卷積層參數(shù)數(shù)量。 此外,將卷積層的輸入分成多個(gè)組,可以讓不同組之間學(xué)習(xí)不同的特征表示,提取更多的信息。文章來源:http://www.zghlxwxcb.cn/news/detail-614068.html
過多的分組會(huì)導(dǎo)致每個(gè)子組的特征表達(dá)能力不足,不利于關(guān)鍵特征的提取,從而降低準(zhǔn)確率。文章來源地址http://www.zghlxwxcb.cn/news/detail-614068.html
到了這里,關(guān)于【深度學(xué)習(xí)Week3】ResNet+ResNeXt的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!