靈魂拷問:殘差網絡解決了什麼,為什麼有效?

2021-01-11 深度學習與圖網絡

作者:LinT

來源:https://zhuanlan.zhihu.com/p/80226180

整理:深度傳送門


引言


殘差網絡是深度學習中的一個重要概念。這篇文章將簡單介紹殘差網絡的思想,並結合文獻討論殘差網絡有效性的一些可能解釋。


動機: 深度神經網絡的「兩朵烏雲」


神經網絡具有非常強的表達能力,並且免去了繁重的特徵工程,在BP算法提出以及算力逐漸提升的背景下,逐漸受到了研究人員和開發者的青睞。


在展開文章前,首先以前饋神經網絡為例,定義一下神經網絡。一個前饋神經網絡,由若干層神經元組成,為了方便討論,我們以非線性單元(若干層神經元組成的函數單元)為單位討論神經網絡,即神經網絡由個非線性單元堆疊而成(後面將每個單元稱為一層),令,則神經網絡第層()的淨輸入與輸出的計算由下式給出:

其中,是該層的內部運算,依照網絡類型有所不同;是第  層的輸出激活函數。


一般認為,經過訓練的深度神經網絡能夠將數據特徵逐層抽象,最終提取出完成任務所需要的特徵/表示,最終使用一個簡單的分類器(或其他學習器),就可以完成最終任務——因此深度學習也被叫做表示/特徵學習


在「層層抽象」的直覺下,很自然的想法就是,訓練一個很深的前饋神經網路,來完成任務。直觀上看,更深的神經網絡,在非線性激活函數的加持下,擁有更大的假設空間,因此當然「更有可能」包含了一個最優解。但是在實際使用時,訓練又成了一個難題。除了過擬合問題以外,更深的神經網絡會遇到如下兩個難題,我姑且按照物理史的比喻將其稱為深度神經網絡的「兩朵烏雲」:


1.1 梯度彌散/爆炸


現代神經網絡一般是通過基於梯度的BP算法來優化,對前饋神經網絡而言,一般需要前向傳播輸入信號,然後反向傳播誤差並使用梯度方法更新參數。第層的某參數更新需要計算損失對其的梯度,該梯度依賴於該層的誤差項 ,根據鏈式法則,又依賴於後一層的誤差項

假設網絡單元輸入輸出維度一致,定義  ,則有


當  時,第  層的誤差項較後一層減小,如果很多層的情況都是如此,就會導致反向傳播中,梯度逐漸消失,底層的參數不能有效更新,這也就是梯度彌散(或梯度消失);當 時,則會使得梯度以指數級速度增大,造成系統不穩定,也就是梯度爆炸問題


在很深層的網絡中,由於不能保證  的大小,也很容易出現梯度彌散/爆炸。這是兩朵烏雲中的第一朵。


1.2 網絡退化問題


在前面的討論中,梯度彌散/爆炸問題導致模型訓練難以收斂,但是這個問題很大程度上已經被標準初始化和中間層正規化方法有效控制了,這些方法使得深度神經網絡可以收斂。深度神經網絡面臨的另一朵烏雲是網絡退化問題:


在神經網絡可以收斂的前提下,隨著網絡深度增加,網絡的表現先是逐漸增加至飽和,然後迅速下降[1]。


需要注意,網絡退化問題不是過擬合導致的,即便在模型訓練過程中,同樣的訓練輪次下,退化的網絡也比稍淺層的網絡的訓練錯誤更高,如下圖[1]所示。

模型退化:深層模型反而取得更低的訓練和測試誤差


這一點並不符合常理:如果存在某個層的網絡是當前最優的網絡,那麼可以構造一個更深的網絡,其最後幾層僅是該網絡 第層輸出的恆等映射(Identity Mapping),就可以取得與一致的結果;也許還不是所謂「最佳層數」,那麼更深的網絡就可以取得更好的結果。總而言之,與淺層網絡相比,更深的網絡的表現不應該更差。因此,一個合理的猜測就是,對神經網絡來說,恆等映射並不容易擬合


也許我們可以對網絡單元進行一定的改造,來改善退化問題?這也就引出了殘差網絡的基本思路...


殘差網絡的形式化定義與實現


既然神經網絡不容易擬合一個恆等映射,那麼一種思路就是構造天然的恆等映射。假設神經網絡非線性單元的輸入和輸出維度一致,可以將神經網絡單元內要擬合的函數  拆分成兩個部分,即:

其中  是殘差函數。在網絡高層,學習一個恆等映射

即等價於令殘差部分趨近於0,即 


殘差單元可以以跳層連接的形式實現,即將單元的輸入直接與單元輸出加在一起,然後再激活。因此殘差網絡可以輕鬆地用主流的自動微分深度學習框架實現,直接使用BP算法更新參數[1]。

殘差單元:以跳層連接的形式實現。


實驗表明,殘差網絡很好地解決了深度神經網絡的退化問題,並在ImageNet和CIFAR-10等圖像任務上取得了非常好的結果,同等層數的前提下殘差網絡也收斂得更快[1]。這使得前饋神經網絡可以採用更深的設計。除此之外,去除個別神經網絡層,殘差網絡的表現不會受到顯著影響[2],這與傳統的前饋神經網絡大相逕庭。


殘差網絡解決了什麼,為什麼有效?


殘差網絡在圖像領域已然成為了一種主流模型,雖然這種網絡範式的提出是為了解決網絡退化問題,但是關於其作用的機制,還是多有爭議。目前存在幾種可能的解釋,下面分別列舉2016年的兩篇文獻和2018年的一篇文獻中的內容。


3.1 從前後向信息傳播的角度來看


何愷明等人從前後向信息傳播的角度給出了殘差網路的一種解釋[3]。考慮式(5) 這樣的殘差塊組成的前饋神經網絡,為了討論簡便,暫且假設殘差塊不使用任何激活函數,即

考慮任意兩個層數  ,遞歸地展開(5) (6),

可以得到:


根據式  ,在前向傳播時,輸入信號可以從任意低層直接傳播到高層。由於包含了一個天然的恆等映射,一定程度上可以解決網絡退化問題。這樣,最終的損失  對某低層輸出的梯度可以展開為:


或展開寫為


根據式  ,損失對某低層輸出的梯度,被分解為了兩項,前一項 表明,反向傳播時,錯誤信號可以不經過任何中間權重矩陣變換直接傳播到低層,一定程度上可以緩解梯度彌散問題(即便中間層矩陣權重很小,梯度也基本不會消失)。


綜上,可以認為殘差連接使得信息前後向傳播更加順暢

* 加入了激活函數的情況的討論(實驗論證)請參見[3]。


3.2 集成學習的角度


Andreas Veit等人提出了一種不同的視角[2]。他們將殘差網絡展開,以一個三層的ResNet為例,將得到下面的樹形結構:

殘差網絡的展開形式

使用圖來表示就是:

殘差網絡的展開形式


這樣,殘差網絡就可以被看作是一系列路徑集合組裝而成的一個集成模型,其中不同的路徑包含了不同的網絡層子集。Andreas Veit等人展開了幾組實驗(Lesion study),在測試時,刪去殘差網絡的部分網絡層(即丟棄一部分路徑)、或交換某些網絡模塊的順序(改變網絡的結構,丟棄一部分路徑的同時引入新路徑)。實驗結果表明,網絡的表現與正確網絡路徑數平滑相關(在路徑變化時,網絡表現沒有劇烈變化),這表明殘差網絡展開後的路徑具有一定的獨立性和冗餘性,使得殘差網絡表現得像一個集成模型(ensemble)


作者還通過實驗表明,殘差網絡中主要在訓練中貢獻了梯度的是那些相對較短的路徑,從這個意味上來說,殘差網絡並不是通過保留整個網絡深度上的梯度流動來抑制梯度彌散問題,一定程度上反駁了何愷明等[3]中的觀點。但是,我覺得這個實驗結果與何凱明等的結論並不矛盾,因為這些較短的梯度路徑正是由殘差結構引入的

* 可以類比集成學習的網絡架構方法不僅有殘差網絡,Dropout機制也可以被認為是隱式地訓練了一個組合的模型。


3.3 梯度破碎問題


2018年的一篇論文,The Shattered Gradients Problem: If resnets are the answer, then what is the question?[4],指出了一個新的觀點,儘管殘差網絡提出是為了解決梯度彌散和網絡退化的問題,它解決的實際上是梯度破碎問題(the shattering gradient problem):

在標準前饋神經網絡中,隨著深度增加,梯度逐漸呈現為白噪聲(white noise)。

作者通過可視化的小型實驗(構建和訓練一個神經網絡  )發現,在淺層神經網絡中,梯度呈現為棕色噪聲(brown noise),深層神經網絡的梯度呈現為白噪聲。在標準前饋神經網絡中,隨著深度增加,神經元梯度的相關性(corelation)按指數級減少 ();同時,梯度的空間結構也隨著深度增加被逐漸消除。這也就是梯度破碎現象。

神經網絡梯度及其協方差矩陣的可視化,可以看到標準的前饋網絡的梯度在較深時(b)與白噪聲(e)類似。


梯度破碎為什麼是一個問題呢?這是因為許多優化方法假設梯度在相鄰點上是相似的,破碎的梯度會大大減小這類優化方法的有效性。另外,如果梯度表現得像白噪聲,那麼某個神經元對網絡輸出的影響將會很不穩定。


相較標準前饋網絡,殘差網絡中梯度相關性減少的速度從指數級下降到亞線性級(sublinearly,  ),深度殘差網絡中,神經元梯度介於棕色噪聲與白噪聲之間(參見上圖中的c,d,e);殘差連接可以極大地保留梯度的空間結構。殘差結構緩解了梯度破碎問題。

* 更細緻的實驗與討論請參見[4]。


自然語言處理中的殘差結構


與圖像領域不同的是,自然語言處理中的網絡往往「寬而淺」,在這些網絡中殘差結構很難有用武之地。但是在谷歌提出了基於自注意力的Transformer架構[5],特別是BERT[6]出現以後,自然語言處理也擁有了「窄而深」的網絡結構,因此當然也可以充分利用殘差連接,來達到優化網絡的目的。事實上,Transformer本身就包含了殘差連接,其中編碼器和解碼器中的每一個子模塊都包含了殘差連接,並使用了Layer Normalization。

Transformer架構

可以預見的是,基於深度學習的自然語言處理的網絡結構很可能朝著更「深」的方向發展,那麼殘差結構就是一個幾乎不可缺少的選項了。


總結與擴展


殘差網絡真可謂是深度學習的一把利器,它的出現使得更深的網絡訓練成為可能。類似殘差網絡的結構還有Highway Network[7],與殘差網絡的差別在於加入了門控機制(注意它和ResNet是同時期的工作),文獻[4]中也對Highway Network進行了討論,值得一讀;現在廣泛使用的門控RNN,我認為與Highway Network有異曲同工之妙,可以認為是在時間維上引入了門控的殘差連接;在殘差網絡中使用的跳層連接,在自然語言處理中也有相當多的應用,比如Bengio的神經語言模型[8]、文本匹配模型ESIM[9]等,區別在於這些工作中跳層連接僅僅將不同層次的特徵拼接在一起(而不是相加),達到增加特徵多樣性、加快訓練的目的。


P.S. 原本希望在這篇文章裡面展開講講更多的細節,但是個人水平有限,加上知乎的文章篇幅限制,只能大概展開到這種程度。本文是筆者根據論文梳理的自己的理解,如果有謬誤請指出。


如果有耐心讀到這裡的話,就關注一下公眾號吧:)

參考


1. Deep Residual Learning for Image Recognition

2. Residual Networks Behave Like Ensembles of Relatively Shallow Networks

3. Identity Mappings in Deep Residual Networks

4. The Shattered Gradients Problem: If resnets are the answer, then what is the question?

5. Attention Is All You Need

6. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

7. Highway Networks

8. A Neural Probabilistic Language Model

9. Enhanced LSTM for Natural Language Inference

相關焦點

  • 深入探討:殘差網絡解決了什麼,為什麼有效?
    >這個問題很大程度上已經被標準初始化和中間層正規化方法有效控制了,這些方法使得深度神經網絡可以收斂。實驗表明,殘差網絡很好地解決了深度神經網絡的退化問題,並在ImageNet和CIFAR-10等圖像任務上取得了非常好的結果,同等層數的前提下殘差網絡也收斂得更快[1]。這使得前饋神經網絡可以採用更深的設計。
  • 殘差到底是什麼鬼,為什麼黑帶們都在...?
    Merry Christmas · Merry Christmas · Merry Christmas · Merry今日學習:殘差到底是個什麼鬼?我們為什麼要做殘差分析?大家好,我想大家在回歸分析中,方差分析中,DOE分析中都會碰到殘差分析,那麼什麼是殘差?什麼是殘差分析?什麼又是標準化殘差?分析的意義在哪裡?回歸模型是怎麼出來的呢?本期主要說明一個知識點:殘差和標準化殘差一、殘差的定義(殘差到底是什麼鬼?)
  • 澳前外交官"靈魂拷問":為什麼針對中國?
    澳前外交官"靈魂拷問":為什麼針對中國?澳大利亞需要思考的是,為什麼會與中國產生摩擦?澳大利亞現在應該怎麼辦?「為什麼針對中國?」作者問。美國只會在口頭上支持澳大利亞,繼續鼓吹澳大利亞支持美國幹涉中國事務,僅此而已。值得補充的是,美國方面目前確如作者所說,對澳大利亞發出聲援,並無實際行動。作者說,如果他是中國人,他不會認真對待(澳大利亞的)那些批判,而中國確實不在意。
  • 自由的科學定義是什麼?自由的靈魂是什麼?自由的靈魂拷問是什麼
    資本主義追求自由的利益是什麼,就是「資本」利益最大化,甚至不惜掏空當下整個國家的財富,甚至不惜掏空未來國家和人民的財富,比如讓資本主義國家的政府和人民背上沉重的「資本」債務。現在的美國等資本主義國家就是如此。
  • 如何使用Keras構建殘差神經網絡?
    什麼是殘差神經網絡?原則上,神經網絡的層數越多,應獲得越好的結果。一個更深層的網絡可以學到任何淺層的東西,甚至可能更多。如果對於給定的數據集,網絡無法通過添加更多的層來學習更多東西,那麼它就可以學習這些其他層的恆等映射(identity mappings)。這樣,它可以保留先前層中的信息,並且不會比較淺的層更糟糕。
  • 源自馬化騰的靈魂拷問 未來十年幹啥最有前途
    01被網友玩壞的「靈魂拷問」未來十年哪些基礎科學突破會影響網際網路科技產業?產業網際網路和消費網際網路融合創新,會帶來哪些改變?馬化騰在知乎深夜提問的行為,在騰訊股價出現大幅波動的背景下,被很多媒體渲染成了「靈魂拷問」。
  • 所以愛會消失對不對什麼意思什麼梗?2020年度十大靈魂拷問之一了解下
    所以愛會消失對不對什麼意思什麼梗?2020年度十大靈魂拷問之一了解下時間:2020-08-25 14:32   來源:經驗網   責任編輯:沫朵 川北在線核心提示:原標題:所以愛會消失對不對什麼意思什麼梗?
  • 何凱明的深度殘差網絡PPT是這樣的|ICML2016 tutorial
    相關研究——殘差表示法編碼殘差向量;強大的較淺表示法。量化殘差向量;高效最近鄰搜索。解決殘差次要問題;高效PDE求解器。殘差網絡(ResNets)將如何解決這些問題?殘差網絡在模型表徵方面不存在直接的優勢(只是實現重複參數化)但是,殘差網絡允許逐層深入地表徵所有的模型殘差網絡使得前饋式/反向傳播算法非常順利進行在極大程度上,殘差網絡使得優化較深層模型更為簡單殘差網絡未直接處理學習深度模型過程中存在的歸納問題但是,更深+更薄是一種好的歸納手段另外,對於殘差網絡的詳細介紹可見何凱明博士在
  • 臺灣大學黃意堯:深度殘差網絡下的弱監督關係抽取 | EMNLP 2017
    這個資料庫有足夠大的數量來進行大型神經網絡的實驗。出於這個動機,本文進行大型神經網絡在 NYT dataset 資料庫的實驗,並提出深度殘差網絡來解決 distant supervision 帶來的噪聲幹擾。
  • 垃圾分類靈魂拷問又來了:老鼠粘屬於什麼垃圾
    部分家庭可能會購買蟑螂、蒼蠅,甚至老鼠強力粘,那麼,垃圾分類靈魂拷問又來了:這些使用過的蟑螂粘、蒼蠅粘、老鼠粘是什麼垃圾?垃圾分類查詢平臺似乎搜索不到結果。周到君諮詢了一下官方,回答說是:可以投入幹垃圾桶內。▼蟑螂粘不是有害垃圾?
  • 深度學習故障診斷方法:殘差收縮網絡
    殘差收縮網絡是應用在機械故障診斷領域的一種深度學習方法,其實是殘差網絡、注意力機制和軟閾值化的結合。
  • 靈魂拷問!憲法成長史你了解多少?
    靈魂拷問!憲法成長史你了解多少?你知道憲法是一部什麼法嗎?你知道憲法的成長曆程嗎?來自憲法日的靈魂三問!今天我們帶您一起走近憲法!原標題:《靈魂拷問!憲法成長史你了解多少?》
  • 圖神經網絡越深,表現就一定越好嗎?
    然而,日前帝國理工學院教授Michael Bronstein 發出了靈魂拷問:圖神經網絡的深度,真的會帶來優勢嗎?「深度圖神經網絡」是否被誤用了?或者說,我們是否應該重新審視以前認為「圖神經網絡越深,效果就會越好」的思路,說不定「深度」反而對基於圖的深度學習不利呢?眾所周知,深度圖神經網絡的訓練過程非常艱難。
  • 殘差分析思想淺談
    如果你學過線性回歸,那麼你應該知道殘差分析。因為殘差分析本質上就是從殘差出發分析關於誤差項假定的合理性以及線性回歸關係假定的可行性。              那麼我們先要了解一下,關於「誤差項」做了哪些假定?
  • 東北萌娃吵架,姐姐靈魂拷問弟弟,令人捧腹!
    >東北萌娃吵架,姐姐靈魂拷問弟弟,令人捧腹!:17出處:PCbaby作者:佚名  近日,一個短視頻萌翻了眾多網友:一對東北姐弟進行了可愛的童言對話,弟弟曰:「我跟你相同」,還沒完全展開,姐姐來了「靈魂拷問
  • 微軟鄭宇再談「上海踩踏事件」,用時空殘差網絡解決公共安全問題
    本文結合鄭宇演講和論文,介紹該項目訓練數據獲取及整合、如何融合外部因素和時間空間相關性、為什麼選擇深度殘差網絡等方面,並且討論該技術在實際應用中的成本,以及深度學習對其它社會公共問題的解決方案。本文將結合鄭宇演講和論文,從訓練數據獲取及整合、如何融合外部因素和時間空間相關性、為什麼選擇深度殘差網絡等方面進行講解,並且討論該技術在實際應用中的問題,以及深度學習對其它社會公共問題的解決方案。
  • 「媽媽,你到底什麼時候回來?」這是兒子對她的靈魂拷問
    「媽媽,你到底什麼時候回來?」是兒子每天對徐卉的靈魂拷問,而徐卉只能含糊地說,「快了,快了」。
  • Nature關注:關於新冠病毒的五大「靈魂拷問」
    近日,《Nature》雜誌回顧過去六個月關於COVID-19的研究,並提出五個關鍵的「靈魂拷問」,包括感染病毒後的症狀差異、如何產生免疫、病毒新突變以及病毒來源等等。 感染病毒後,為什麼不同的人有不同的表現?
  • 你是什麼垃圾?五大機器人回答終極靈魂拷問,準確率95%
    「你是什麼垃圾?」垃圾分揀機器人回答終極靈魂拷問。智東西8月2日消息,垃圾分類已經成為了社會熱點話題,在近日舉行的2019世界機器人大賽上,有不少參賽隊伍展示了垃圾分揀機器人。這些機器人的共同特點就是通過視覺技術對傳送帶上的垃圾進行分類,再通過機械臂抓取物體扔進正確的垃圾桶內。
  • 想買電動新能源,先試試能否抗住這波靈魂拷問!
    剔除那些限行、限購的城市,如果大家想要購買新能源汽車,先試試能否抗住這波靈魂拷問! 一級拷問:能否承受更換電池的價格?考慮到很多廠家針對電池衰減有質保,所以才把更換電池的問題算作是一級拷問。