摘要:最近在總結(jié)完成語義分割任務(wù)的輕量級神經(jīng)網(wǎng)絡(luò)時(shí),看到了中對于層的思考,于是我也回過頭重新審視之所以的本質(zhì)原因。本質(zhì)上就干了一件事降低數(shù)據(jù)中信息的冗余度。從本文的觀點(diǎn)來看,因?yàn)閺臄?shù)據(jù)中拿掉了非冗余信息的部分,會導(dǎo)致余下部分的信息冗余度變高。
最近在總結(jié)完成語義分割任務(wù)的輕量級神經(jīng)網(wǎng)絡(luò)時(shí),看到了 MobileNet V2 中對于 ReLU 層的思考,于是我也回過頭重新審視 ResNet 之所以 work 的本質(zhì)原因。以下是一些個(gè)人的見解,如有錯(cuò)誤,還望及時(shí)指正。
在談及 ResNet 之前,我們先聊聊故事的背景。
我們知道,在神經(jīng)網(wǎng)絡(luò)中,非線性激活層可以為模型引入了非線性,讓模型具有更強(qiáng)的擬合能力。如果只是單純的線性操作層的疊加,則完全可以等價(jià)為一個(gè)線性層,這就浪費(fèi)了深度神經(jīng)網(wǎng)絡(luò)的一身好本領(lǐng)。
所謂針無兩頭尖,那么非線性激活層會帶來一些什么問題呢?我們以 ReLU 為例來進(jìn)行說明,其他非線性激活層亦同理。
首先,最直觀的,從實(shí)驗(yàn)中我們可以注意到一個(gè)事實(shí):ReLU 會造成的低維數(shù)據(jù)的坍塌(collapse)。顧名思義,即是說,低維度的 feature 在通過 ReLU 的時(shí)候,這個(gè) feature 會像塌方了一樣,有一部分被毀掉了,或者說失去了。能恢復(fù)嗎?能,但是基本無法百分百還原了。
具體表現(xiàn)出來就是:若是我們對一個(gè) feature,先通過一個(gè)給定的變換規(guī)則 T,將它映射到它的 embedding space 中,再在該 embedding space 中,利用一個(gè) ReLU 去處理該 feature,最后再把這個(gè) feature 以同樣的變換規(guī)則(逆方向)給映射回原始空間,我們會發(fā)現(xiàn),這時(shí),這個(gè) feature 已經(jīng)變得連親媽都不認(rèn)得了。如圖↓
圖片來自《MobileNetV2: Inverted Residuals and Linear Bottlenecks》
ReLU 這個(gè)東西,其實(shí)就是一個(gè)濾波器,只不過這個(gè)濾波器的作用域不是信號處理中的頻域,而是特征域。那么濾波器又有什么作用呢?維度壓縮,俗話說就是降維啦:如果我們有 m 個(gè) feature 被送入 ReLU 層,過濾剩下 n 個(gè)(n 那么,為什么低維數(shù)據(jù)流經(jīng)非線性激活層會發(fā)生坍塌(信息丟失),而高維數(shù)據(jù)就不會呢? 打個(gè)簡單但不嚴(yán)謹(jǐn)?shù)谋确剑捍蠹叶加羞^年搶高鐵票的經(jīng)驗(yàn)吧?幾個(gè)人(維度低)幫你搶一張票,肯定沒有一群人(維度高)幫你搶一張票,成功的概率高啊。幾個(gè)人里面,大概率全軍覆沒,沒一個(gè)能幫上你忙的。而一群人里面,大概率總有那么一個(gè)手速驚人的單身青年,幫你搶到你心心念念的回家票。 在數(shù)據(jù)上也是一個(gè)道理,維度低的 feature,分布到 ReLU 的激活帶上的概率小,因此經(jīng)過后信息丟失嚴(yán)重,甚至可能完全丟失。而維度高的 feature,分布到 ReLU 的激活帶上的概率大,雖然可能也會有信息的部分丟失,但是無傷大雅,大部分的信息仍然得以保留。所謂留得青山在,不愁沒柴燒嘛。更何況被 ReLU 截殺的信息,可能只是一些無用游民(冗余信息)。 那么數(shù)據(jù)的坍塌,是個(gè)很嚴(yán)重的事嗎? 那事兒可大了。如果把神經(jīng)網(wǎng)絡(luò)比作一個(gè)人的話,你這就是給它的某個(gè)部位的血管里,丟了個(gè)血栓。 當(dāng)信息無法流過 ReLU 時(shí),該神經(jīng)元的輸出就會變?yōu)?0。而在反向傳播的過程中,ReLU 對 0 值的梯度為 0,即發(fā)生了梯度消失,這將導(dǎo)致神經(jīng)元的權(quán)重?zé)o法再通過梯度下降法進(jìn)行更新,這種現(xiàn)象被稱為特征退化。所以這個(gè)神經(jīng)元相當(dāng)于死掉了,喪失了學(xué)習(xí)能力。我們說,一旦神經(jīng)元的輸出陷入 0 值,就無法恢復(fù)了。 ? 那么,我們應(yīng)該怎么去規(guī)避數(shù)據(jù)的坍塌呢?非線性激活層到底是個(gè)什么樣的東西? 其實(shí),對于一個(gè)數(shù)據(jù),利用非線性激活層對其進(jìn)行激活,其實(shí)是從該數(shù)據(jù)的信息中提取出其潛在的稀疏性,但是這種提取的結(jié)果是否正確,就要分情況討論了。 對于一個(gè) M 維的數(shù)據(jù),我們可以將其看成是在 M 維空間中的一個(gè) M 維流形(manifold)。而其中的有用信息,就是在該 M 維空間中的一個(gè)子空間(子空間的維度記為 N 維,N<=M)中的一個(gè) N 維流形。非線性激活層相當(dāng)于壓縮了這個(gè) M 維空間的維度(還記得前面提過的維度壓縮嗎?)。若是該 M 維空間中的 M 維流形本來就不含有冗余信息(M=N),那么再對其進(jìn)行維度壓縮,必然導(dǎo)致信息的丟失。 而維度低的數(shù)據(jù)其實(shí)就是這么一種情況:其信息的冗余度高的可能性本來就低,如果強(qiáng)行對其進(jìn)行非線性激活(維度壓縮),則很有可能丟失掉有用信息,甚至丟失掉全部信息(輸出為全 0)。 與非線性激活層不同的是,線性激活層并不壓縮特征空間的維度。于是,我們得到了一條使用激活層的原則: 對含有冗余信息的數(shù)據(jù)使用非線性激活(如 ReLU),對不含冗余信息的數(shù)據(jù)使用線性激活(如一些線性變換)。 兩種類型的激活交替靈活使用,以同時(shí)兼顧非線性和信息的完整性。 由于冗余信息和非冗余信息所攜帶的有用信息是一樣多的,因此在設(shè)計(jì)網(wǎng)絡(luò)時(shí),對內(nèi)存消耗大的結(jié)構(gòu)較好是用在非冗余信息上。 根據(jù)以上的原則設(shè)計(jì)出來的結(jié)構(gòu),聰明的你想到了什么?ResNet。不得不贊嘆 Kaiming He 的天才,ResNet 這東西,描述起來固然簡單,但是對它的理解每深一層,就會愈發(fā)發(fā)現(xiàn)它的精妙及優(yōu)雅,從數(shù)學(xué)上解釋起來非常簡潔,非常令人信服,而且直切傳統(tǒng)痛點(diǎn)。 ResNet 本質(zhì)上就干了一件事:降低數(shù)據(jù)中信息的冗余度。 具體說來,就是對非冗余信息采用了線性激活(通過 skip connection 獲得無冗余的 identity 部分),然后對冗余信息采用了非線性激活(通過 ReLU 對 identity 之外的其余部分進(jìn)行信息提取 / 過濾,提取出的有用信息即是殘差)。 其中,提取 identity 這一步,就是 ResNet 思想的核心。 從本文的觀點(diǎn)來看,因?yàn)閺臄?shù)據(jù)中拿掉了非冗余信息的 identity 部分,會導(dǎo)致余下部分的信息冗余度變高。這就像從接近飽和的溶液中移走了一部分溶質(zhì),會使得剩下的溶液的飽和度降低,一個(gè)道理。 在這里也引用一下其他的一些觀點(diǎn),方便大家可以從一個(gè)更全面的角度去看這個(gè)問題: 從特征復(fù)用的觀點(diǎn)來看,提取 identity 部分,可以讓網(wǎng)絡(luò)不用再去學(xué)習(xí)一個(gè) identity mapping(雖然是一樣的東西,但是畢竟又要從頭學(xué)起,講真,換你來試試,這其實(shí)真的不容易學(xué)到),而是直接學(xué)習(xí) residual。這就輕松愉快多了:站在巨人的肩膀上,做一點(diǎn)微小的工作什么的... 既然說了 ResNet 解決的痛點(diǎn),也順便多說幾句它帶來的好處: 由于 identity 之外的其余部分的信息冗余度較高,因此在對其使用 ReLU 進(jìn)行非線性激活時(shí),丟失的有用信息也會較少,ReLU 層輸出為 0 的可能性也會較低。這就降低了在反向傳播時(shí) ReLU 的梯度消失的概率,從而便于網(wǎng)絡(luò)的加深,以大大地發(fā)揮深度網(wǎng)絡(luò)的潛能。 特征復(fù)用能加快模型的學(xué)習(xí)速度,因?yàn)閰?shù)的優(yōu)化收斂得快(從 identity 的基礎(chǔ)上直接學(xué)習(xí)殘差,總比從頭學(xué)習(xí)全部來得快)。 最后是兩個(gè)小 tips: 如果一個(gè)信息可以完整地流過一個(gè)非線性激活層,則這個(gè)非線性激活層對于這個(gè)信息而言,相當(dāng)于僅僅作了一個(gè)線性激活。 解決由非線性激活導(dǎo)致的反向傳播梯度消失的竅門,就是要提高進(jìn)行非線性激活的信息的冗余度。 如果您覺得本文對您有所幫助,請高抬貴手點(diǎn)個(gè)贊~ 接下來會填之前語義軟分割的坑和圖神經(jīng)網(wǎng)絡(luò)的坑,還有一些雜七雜八的:如姿態(tài)估計(jì)網(wǎng)絡(luò)啦、deepSLAM 啦、視覺跟蹤網(wǎng)絡(luò)啦、VQA 啦... 最近光忙著看 paper 和寫筆記了,有空再整理后發(fā)上來。 以上。
商業(yè)智能與數(shù)據(jù)分析群
興趣范圍包括各種讓數(shù)據(jù)產(chǎn)生價(jià)值的辦法,實(shí)際應(yīng)用案例分享與討論,分析工具,ETL工具,數(shù)據(jù)倉庫,數(shù)據(jù)挖掘工具,報(bào)表系統(tǒng)等全方位知識
QQ群:81035754
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/4865.html
摘要:大神何愷明受到了質(zhì)疑。今天,上一位用戶對何愷明的提出質(zhì)疑,他認(rèn)為何愷明年的原始?xì)埐罹W(wǎng)絡(luò)的結(jié)果沒有被復(fù)現(xiàn),甚至何愷明本人也沒有。我認(rèn)為,的可復(fù)現(xiàn)性經(jīng)受住了時(shí)間的考驗(yàn)。 大神何愷明受到了質(zhì)疑。今天,Reddit 上一位用戶對何愷明的ResNet提出質(zhì)疑,他認(rèn)為:何愷明 2015 年的原始?xì)埐罹W(wǎng)絡(luò)的結(jié)果沒有被復(fù)現(xiàn),甚至何愷明本人也沒有。網(wǎng)友稱,他沒有發(fā)現(xiàn)任何一篇論文復(fù)現(xiàn)了原始 ResNet 網(wǎng)絡(luò)的...
摘要:前面我們通過幾個(gè)數(shù)值展示了幾個(gè)比較經(jīng)典的網(wǎng)絡(luò)的一些特性,下面我們就花一點(diǎn)時(shí)間來仔細(xì)觀察網(wǎng)絡(luò)的變化,首先是在網(wǎng)絡(luò)結(jié)構(gòu)上的一些思考,其次是對于單層網(wǎng)絡(luò)內(nèi)部的擴(kuò)展,最后我們再來看看對于網(wǎng)絡(luò)計(jì)算的改變。和這類結(jié)構(gòu)主要看中的是模型在局部的擬合能力。 前面我們通過幾個(gè)數(shù)值展示了幾個(gè)比較經(jīng)典的網(wǎng)絡(luò)的一些特性,下面我們就花一點(diǎn)時(shí)間來仔細(xì)觀察CNN網(wǎng)絡(luò)的變化,首先是VGG在網(wǎng)絡(luò)結(jié)構(gòu)上的一些思考,其次是Ince...
摘要:在當(dāng)前的背景下,卷積神經(jīng)網(wǎng)絡(luò)提出之后,深度成為人們要追求的目標(biāo)。同時(shí),殘差網(wǎng)絡(luò)也很好的解決了梯度下降中的梯度彌散的問題。經(jīng)典網(wǎng)絡(luò)目前最主經(jīng)典的殘差網(wǎng)絡(luò)莫過于。 注:整理自各個(gè)博客,并且添加個(gè)人理解 隨著卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展和普及,網(wǎng)絡(luò)深度和架構(gòu)研究早已經(jīng)成為人們常見的問題,所以,現(xiàn)在卷積神經(jīng)網(wǎng)絡(luò)的趨勢發(fā)展趨勢就是:足夠深、足夠廣。足夠深就是網(wǎng)絡(luò)層數(shù)足夠深,足夠廣就意味著不能從傳統(tǒng)尺度...
摘要:然而,幸運(yùn)的是,目前更為成功的目標(biāo)檢測方法是圖像分類模型的擴(kuò)展。幾個(gè)月前,發(fā)布了一個(gè)用于的新的目標(biāo)檢測。 隨著自動駕駛汽車、智能視頻監(jiān)控、人臉檢測和各種人員計(jì)數(shù)應(yīng)用的興起,快速和準(zhǔn)確的目標(biāo)檢測系統(tǒng)也應(yīng)運(yùn)而生。這些系統(tǒng)不僅能夠?qū)D像中的每個(gè)目標(biāo)進(jìn)行識別和分類,而且通過在其周圍畫出適當(dāng)?shù)倪吔鐏韺ζ溥M(jìn)行局部化(localizing)。這使得目標(biāo)檢測相較于傳統(tǒng)的計(jì)算機(jī)視覺前身——圖像分類來說更加困難...
摘要:分組卷積的思想影響比較深遠(yuǎn),當(dāng)前一些輕量級的網(wǎng)絡(luò),都用到了分組卷積的操作,以節(jié)省計(jì)算量。得到新的通道之后,這時(shí)再對這批新的通道進(jìn)行標(biāo)準(zhǔn)的跨通道卷積操作。 CNN從2012年的AlexNet發(fā)展至今,科學(xué)家們發(fā)明出各種各樣的CNN模型,一個(gè)比一個(gè)深,一個(gè)比一個(gè)準(zhǔn)確,一個(gè)比一個(gè)輕量。作者對近幾年一些具有變革性的工作進(jìn)行簡單盤點(diǎn),從這些充滿革新性的工作中探討日后的CNN變革方向。本文只介紹其中具有...
閱讀 3219·2021-11-12 10:36
閱讀 1288·2019-08-30 15:56
閱讀 2449·2019-08-30 11:26
閱讀 559·2019-08-29 13:00
閱讀 3616·2019-08-28 18:08
閱讀 2755·2019-08-26 17:18
閱讀 1907·2019-08-26 13:26
閱讀 2438·2019-08-26 11:39