0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ResNet本質(zhì)上就干了一件事:降低數(shù)據(jù)中信息的冗余度。

DPVg_AI_era ? 來源:lp ? 2019-04-19 11:48 ? 次閱讀

本文作者重新審視了ResNet之所以工作的原因,得出結(jié)論:ResNet本質(zhì)上就干了一件事:降低數(shù)據(jù)中信息的冗余度。

最近在總結(jié)完成語義分割任務(wù)的輕量級神經(jīng)網(wǎng)絡(luò)時,看到了MobileNetV2中對于ReLU層的思考,于是我也回過頭重新審視ResNet之所以work的本質(zhì)原因。以下是一些個人的見解,如有錯誤,還望及時指正。

在談及ResNet之前,我們先聊聊故事的背景。

我們知道,在神經(jīng)網(wǎng)絡(luò)中,非線性激活層可以為模型引入了非線性,讓模型具有更強(qiáng)的擬合能力。如果只是單純的線性操作層的疊加,則完全可以等價為一個線性層,這就浪費(fèi)了深度神經(jīng)網(wǎng)絡(luò)的一身好本領(lǐng)。

所謂針無兩頭尖,那么非線性激活層會帶來一些什么問題呢?我們以ReLU為例來進(jìn)行說明,其他非線性激活層亦同理。

首先,最直觀的,從實(shí)驗(yàn)中我們可以注意到一個事實(shí):ReLU 會造成的低維數(shù)據(jù)的坍塌(collapse)。顧名思義,即是說,低維度的feature在通過ReLU的時候,這個feature會像塌方了一樣,有一部分被毀掉了,或者說失去了。能恢復(fù)嗎?能,但是基本無法百分百還原了。

具體表現(xiàn)出來就是:若是我們對一個feature,先通過一個給定的變換規(guī)則T,將它映射到它的embeddingspace中,再在該embeddingspace中,利用一個ReLU去處理該feature,最后再把這個feature以同樣的變換規(guī)則(逆方向)給映射回原始空間,我們會發(fā)現(xiàn),這時,這個feature已經(jīng)變得連親媽都不認(rèn)得了。如圖↓

圖片來自《MobileNetV2:InvertedResidualsandLinearBottlenecks》

ReLU這個東西,其實(shí)就是一個濾波器,只不過這個濾波器的作用域不是信號處理中的頻域,而是特征域。那么濾波器又有什么作用呢?維度壓縮,俗話說就是降維啦:如果我們有m個feature被送入ReLU層,過濾剩下n個(n

那么,為什么低維數(shù)據(jù)流經(jīng)非線性激活層會發(fā)生坍塌(信息丟失),而高維數(shù)據(jù)就不會呢?

打個簡單但不嚴(yán)謹(jǐn)?shù)谋确剑捍蠹叶加羞^年搶高鐵票的經(jīng)驗(yàn)吧?幾個人(維度低)幫你搶一張票,肯定沒有一群人(維度高)幫你搶一張票,成功的概率高啊。幾個人里面,大概率全軍覆沒,沒一個能幫上你忙的。而一群人里面,大概率總有那么一個手速驚人的單身青年,幫你搶到你心心念念的回家票。

在數(shù)據(jù)上也是一個道理,維度低的feature,分布到ReLU的激活帶上的概率小,因此經(jīng)過后信息丟失嚴(yán)重,甚至可能完全丟失。而維度高的feature,分布到ReLU的激活帶上的概率大,雖然可能也會有信息的部分丟失,但是無傷大雅,大部分的信息仍然得以保留。所謂留得青山在,不愁沒柴燒嘛。更何況被ReLU截殺的信息,可能只是一些無用游民(冗余信息)。

那么數(shù)據(jù)的坍塌,是個很嚴(yán)重的事嗎?

那事兒可大了。如果把神經(jīng)網(wǎng)絡(luò)比作一個人的話,你這就是給它的某個部位的血管里,丟了個血栓。

當(dāng)信息無法流過ReLU時,該神經(jīng)元的輸出就會變?yōu)?。而在反向傳播的過程中,ReLU對0值的梯度為0,即發(fā)生了梯度消失,這將導(dǎo)致神經(jīng)元的權(quán)重?zé)o法再通過梯度下降法進(jìn)行更新,這種現(xiàn)象被稱為特征退化。所以這個神經(jīng)元相當(dāng)于死掉了,喪失了學(xué)習(xí)能力。我們說,一旦神經(jīng)元的輸出陷入0值,就無法恢復(fù)了。

那么,我們應(yīng)該怎么去規(guī)避數(shù)據(jù)的坍塌呢?非線性激活層到底是個什么樣的東西?

其實(shí),對于一個數(shù)據(jù),利用非線性激活層對其進(jìn)行激活,其實(shí)是從該數(shù)據(jù)的信息中提取出其潛在的稀疏性,但是這種提取的結(jié)果是否正確,就要分情況討論了。

對于一個M維的數(shù)據(jù),我們可以將其看成是在M維空間中的一個M維流形(manifold)。而其中的有用信息,就是在該M維空間中的一個子空間(子空間的維度記為N維,N<=M)中的一個?N?維流形。非線性激活層相當(dāng)于壓縮了這個?M?維空間的維度(還記得前面提過的維度壓縮嗎?)。若是該?M?維空間中的?M?維流形本來就不含有冗余信息(M=N),那么再對其進(jìn)行維度壓縮,必然導(dǎo)致信息的丟失。

而維度低的數(shù)據(jù)其實(shí)就是這么一種情況:其信息的冗余度高的可能性本來就低,如果強(qiáng)行對其進(jìn)行非線性激活(維度壓縮),則很有可能丟失掉有用信息,甚至丟失掉全部信息(輸出為全0)。

與非線性激活層不同的是,線性激活層并不壓縮特征空間的維度。于是,我們得到了一條使用激活層的原則:

對含有冗余信息的數(shù)據(jù)使用非線性激活(如ReLU),對不含冗余信息的數(shù)據(jù)使用線性激活(如一些線性變換)。

兩種類型的激活交替靈活使用,以同時兼顧非線性和信息的完整性。

由于冗余信息和非冗余信息所攜帶的有用信息是一樣多的,因此在設(shè)計(jì)網(wǎng)絡(luò)時,對內(nèi)存消耗大的結(jié)構(gòu)最好是用在非冗余信息上。

根據(jù)以上的原則設(shè)計(jì)出來的結(jié)構(gòu),聰明的你想到了什么?ResNet。不得不贊嘆KaimingHe的天才,ResNet這東西,描述起來固然簡單,但是對它的理解每深一層,就會愈發(fā)發(fā)現(xiàn)它的精妙及優(yōu)雅,從數(shù)學(xué)上解釋起來非常簡潔,非常令人信服,而且直切傳統(tǒng)痛點(diǎn)。

ResNet本質(zhì)上就干了一件事:降低數(shù)據(jù)中信息的冗余度。

具體說來,就是對非冗余信息采用了線性激活(通過skipconnection獲得無冗余的identity部分),然后對冗余信息采用了非線性激活(通過ReLU對identity之外的其余部分進(jìn)行信息提取/過濾,提取出的有用信息即是殘差)。

其中,提取 identity 這一步,就是 ResNet 思想的核心。

從本文的觀點(diǎn)來看,因?yàn)閺臄?shù)據(jù)中拿掉了非冗余信息的identity部分,會導(dǎo)致余下部分的信息冗余度變高。這就像從接近飽和的溶液中移走了一部分溶質(zhì),會使得剩下的溶液的飽和度降低,一個道理。

在這里也引用一下其他的一些觀點(diǎn),方便大家可以從一個更全面的角度去看這個問題:

從特征復(fù)用的觀點(diǎn)來看,提取identity部分,可以讓網(wǎng)絡(luò)不用再去學(xué)習(xí)一個identitymapping(雖然是一樣的東西,但是畢竟又要從頭學(xué)起,講真,換你來試試,這其實(shí)真的不容易學(xué)到),而是直接學(xué)習(xí)residual。這就輕松愉快多了:站在巨人的肩膀上,做一點(diǎn)微小的工作什么的...

既然說了ResNet解決的痛點(diǎn),也順便多說幾句它帶來的好處:

由于identity之外的其余部分的信息冗余度較高,因此在對其使用ReLU進(jìn)行非線性激活時,丟失的有用信息也會較少,ReLU層輸出為0的可能性也會較低。這就降低了在反向傳播時ReLU的梯度消失的概率,從而便于網(wǎng)絡(luò)的加深,以大大地發(fā)揮深度網(wǎng)絡(luò)的潛能。

特征復(fù)用能加快模型的學(xué)習(xí)速度,因?yàn)?a target="_blank">參數(shù)的優(yōu)化收斂得快(從identity的基礎(chǔ)上直接學(xué)習(xí)殘差,總比從頭學(xué)習(xí)全部來得快)。

最后是兩個小tips:

如果一個信息可以完整地流過一個非線性激活層,則這個非線性激活層對于這個信息而言,相當(dāng)于僅僅作了一個線性激活。

解決由非線性激活導(dǎo)致的反向傳播梯度消失的竅門,就是要提高進(jìn)行非線性激活的信息的冗余度。

如果您覺得本文對您有所幫助,請高抬貴手點(diǎn)個贊~

接下來會填之前語義軟分割的坑和圖神經(jīng)網(wǎng)絡(luò)的坑,還有一些雜七雜八的:如姿態(tài)估計(jì)網(wǎng)絡(luò)啦、deepSLAM啦、視覺跟蹤網(wǎng)絡(luò)啦、VQA啦...最近光忙著看paper和寫筆記了,有空再整理后發(fā)上來。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    42

    文章

    4726

    瀏覽量

    100321
  • 冗余
    +關(guān)注

    關(guān)注

    1

    文章

    109

    瀏覽量

    20148
  • resnet
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    3152

原文標(biāo)題:對 ResNet 本質(zhì)的一些思考

文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    為什么做一件事或者學(xué)習(xí)FPGA每隔段時間就會感覺遇到瓶頸呢?

    一件事或者學(xué)習(xí)每隔段時間就會感覺遇到瓶頸
    發(fā)表于 07-30 08:59

    [原創(chuàng)]每天做好一件事

    每天做好一件事位畫家,舉辦過十幾次個人畫展。開始無論參觀者多少,臉上總是掛著微笑。有次,我問他:"你為什么每天都這么開心呢?"他給我講一件事情:小時后,我興趣非常廣泛,也很
    發(fā)表于 05-31 11:55

    什么叫做“每天6件事”,如何落實(shí)“每天6件事

    如何有效率地一一完成工作,而不是面對六難事。現(xiàn)在把這六件事照順序解決。從第項(xiàng)開始。盡量避免干擾,若無法避免,要趕快解決,然后回到第一件事,迅速完成,做完以后就從表上劃掉,繼續(xù)做第二
    發(fā)表于 04-21 13:40

    學(xué)習(xí)C2000,大學(xué)里最值得干的一件事

    經(jīng)常看到有網(wǎng)友發(fā)帖問相關(guān)DSP入門的問題,這里針對C2000入門來總結(jié)下: 從個人經(jīng)驗(yàn)來看,在大學(xué)選擇學(xué)習(xí)C2000是最值得干的一件事。 總體來說C2000的門檻比較高,只要你入門并深入學(xué)習(xí)了
    發(fā)表于 09-25 14:09

    干貨-背鉆工藝,超高速信號電路板必須要做的一件事!

    干貨-背鉆工藝,超高速信號電路板必須要做的一件事!https://bbs.elecfans.com/forum.php?mod=viewthread&tid=1417189&extra=更多知識,專注電子技術(shù),請關(guān)注電子發(fā)燒友小組:臥龍會IT技術(shù)。打開文章點(diǎn)擊右上角加入小組。
    發(fā)表于 01-12 17:02

    提高電源冗余度的結(jié)構(gòu)分析

    為了提高冗余度,不少使用"或"運(yùn)算二極管的電源都可接入同個負(fù)載。在維護(hù)期間,當(dāng)你拆去任何個電源時,希望負(fù)載的電源騷動盡可能最小。為了補(bǔ)償"或"運(yùn)算二極管兩端的電
    發(fā)表于 07-14 10:34 ?843次閱讀
    提高電源<b class='flag-5'>冗余度</b>的結(jié)構(gòu)分析

    小米神話被華為OV聯(lián)手打敗,只因?yàn)槔总姵W鲞@三件事

    曾經(jīng)的小米,多么傳奇的神話?結(jié)果卻被華為OV聯(lián)手打敗。越來越多的米粉轉(zhuǎn)成了米黑,只因?yàn)槔总娮隽巳?b class='flag-5'>件事。第一件事是饑餓營銷,第二件事是售后不給力,第三件事是經(jīng)常吹牛。
    發(fā)表于 02-06 08:46 ?1557次閱讀

    冗余度桁架機(jī)械臂的容錯逆運(yùn)動學(xué)仿真_趙普

    冗余度桁架機(jī)械臂的容錯逆運(yùn)動學(xué)仿真_趙普
    發(fā)表于 03-19 11:41 ?0次下載

    10年專注一件事,OPPO品牌獲年輕用戶認(rèn)可

    適應(yīng)新的消費(fèi)特點(diǎn),滿足用戶需求,能堅(jiān)持創(chuàng)新的品牌。其中,手機(jī)行業(yè)里的OPPO在品牌表現(xiàn)就尤為出色,從2008年開始OPPO就正式進(jìn)軍手機(jī)領(lǐng)域,此后10年,OPPO專注于做好手機(jī)這一件事,不斷創(chuàng)造爆款
    發(fā)表于 05-11 09:46 ?793次閱讀

    什么叫冗余度

    冗余度,就是從安全角度考慮多余的個量,這個量就是為了保障儀器、設(shè)備或某項(xiàng)工作在非正常情況下也能正常運(yùn)轉(zhuǎn)。網(wǎng)絡(luò)傳輸?shù)?b class='flag-5'>冗余在數(shù)據(jù)傳輸中,由于衰減或干擾會使
    發(fā)表于 11-21 10:21 ?4.8w次閱讀

    馬云從企業(yè)家到師者的決然轉(zhuǎn)身,教會給了人們的第一件事

    敢于直面改變,馬云從企業(yè)家到師者的決然轉(zhuǎn)身,教會給了人們的第一件事。馬云在采訪中拿比爾·蓋茨舉例子時說:“我永遠(yuǎn)都無法和他樣富有,但是我能比他更早地退休。”54歲,對個企業(yè)家來是風(fēng)華正茂的年紀(jì),掌控
    的頭像 發(fā)表于 09-13 11:59 ?2486次閱讀

    希捷就只做了一件事兒,對此,你怎么看?

    希捷就只做了一件事兒,對此,你怎么看? 都是做事情,想法不樣,或者說態(tài)度不樣,結(jié)果不樣,對嗎? 把事情當(dāng)事兒做,想的是盡快把事兒做完,交代就可以了; 把事情 當(dāng)事業(yè)做 ,并視為人
    發(fā)表于 10-21 00:01 ?250次閱讀

    如何正確看待人工智能時代的發(fā)展

     對AI抱有期待和對AI恐懼的兩類人,可能都沒有意識到,他們的期待和害怕本質(zhì)上都是同一件事:AI太智能了。
    發(fā)表于 09-29 14:29 ?6672次閱讀

    為ADAS構(gòu)建時需要考慮的6件事說明

    為ADAS構(gòu)建時需要考慮的6件事說明。
    發(fā)表于 09-22 17:06 ?1次下載

    江波龍電子丨商業(yè)往事第69話:每一件事都可以有策略

    商業(yè)往事每月分享幾則有趣的商業(yè)小故事(中英雙語),邀請大家和我們起透過歷史故事,看存儲商業(yè)。每一件事都可以有策略本文總計(jì)2696字預(yù)計(jì)閱讀9分鐘(英文文章在中文文章之后)你渴望的任何東西,你幾乎
    的頭像 發(fā)表于 06-13 10:08 ?567次閱讀
    江波龍電子丨商業(yè)往事第69話:每<b class='flag-5'>一件事</b>都可以有策略