科普丨一文了解殘差網絡

2021-02-13 中原動力機器人

當深度學習這個詞是由Rina Dechter在1986年向全球觀眾介紹時,她已是深度學習社區眾多傑出的先驅之一,但這個概念可以追溯到1943年,當時Walter Pitts和Warren McCulloch構建了一個基於人腦神經網絡的計算機模型,這無疑成為許多理論研究的出發點。

不用說,深度學習社區從那時起已經走過了一段很長的路在此理論上學習和發展。它已經得到了顯著的發展和進化,現在被廣泛用於自動化過程、檢測模式、提高性能和解決人類世界的複雜問題。

深度學習的領域對挑戰並不陌生,不可預見的複雜情況和影響阻礙了增長並限制了它能夠實現的真正潛力。多年來致力於消除障礙的研究、研究和不懈努力使人們發現了新的概念、思想、體系結構和模型,這些概念、思想、體系結構和模型的表現都大大超過了前人。

深層神經網絡能夠從訓練數據中提取大量的解釋模式或特徵,並學習非常複雜但有意義的表達。

這些特徵或模式的提取和發現可以歸功於神經網絡的深度,因為它們更容易在網絡的後期發現。隨著輸入到神經網絡的問題的性質變得越來越困難,研究人員開始開發越來越深的模型來獲得更高的結果精度。據觀察,深層神經網絡比淺層次神經網絡表現更好。

如果沒有顯著的深度,模型將無法以複雜的方式整合不同層次的特徵以便從訓練數據中學習。這一結論導致的結果是,通過引入真正的深度學習模型(層數>50),可以解決複雜的問題。人們開始嘗試深度學習模型,深度達到100層,以在訓練數據上獲得更高的準確度分數。

然而,這一關於深度重要性的結論引發了一個有趣的問題:學習更好的網絡是否像堆疊更多層一樣容易?

理論上,隨著普通神經網絡中層數的增加,它在識別複雜函數和特徵方面的能力將逐步提高,從而提高準確性和學習能力。

然而,與人們普遍認為的相反,人們發現,這種模型在提供預期結果方面效率低下。此外,訓練精度在某一點後開始下降。

解決上述問題和理解理論與現實之間的差異的一個障礙是眾所周知的梯度消失和梯度爆炸問題。它們從一開始就阻礙了收斂,這使得模型在準確和高效的學習能力方面不穩定。然而,這個問題已經在很大程度上通過遞歸神經網絡(使用LSTM)、歸一初始化和中間歸一化來解決。這使得具有更高層數的模型能夠收斂於隨機梯度下降和反向傳播。

即使在解決了梯度消失和梯度爆炸的問題後,可以觀察到隨著層數的增加,訓練精度也在下降。這可以在下圖中看到。

人們會認為這可能是過擬合的結果。然而,在這裡情況不是這樣,因為更深的網絡顯示出更高的訓練錯誤而不是測試錯誤。當訓練誤差顯著低於測試誤差時,往往會出現過擬合。

這就是所謂的退化問題。隨著網絡深度的增加,精度會飽和(網絡在到達最後一層之前會學習所有內容),然後如果引入更多層,則會迅速降低。

為了更好地解釋為什麼這裡的結果看起來令人驚訝和意外,我們來看下面的例子。

假設我們有一個「n」層的神經網絡,它給你一個訓練誤差「x」。現在考慮一個具有「m」(m>n)層的更深層次的神經網絡。當我們訓練這個網絡時,我們希望它的性能至少和前一個模型(n層)一樣好,因為總「m」層中的第一個「n」層將產生相同的精度,如果模型需要更複雜的表達,則剩餘的「m-n」層將學習它,如果不需要更多的學習,則剩餘的「m-n」層將作為一個標識函數,負責將輸出傳輸到最終層。因此,我們可以得出這樣的結論:具有「m」層的神經網絡將給出訓練誤差「y」(y≤x)。

但這在實踐中不會發生,更深層次的神經網絡也不一定會產生較低的訓練誤差。

微軟研究團隊的Kaiming He, Xiangyu Zhang, Shaoqin Ren, Jian Sun提出了一個殘差學習框架(ResNets),通過消除退化問題,幫助簡化網絡的訓練。他們已經用證據證明,resnet更容易優化,並且在相當大的深度可以有很高的精度。

正如我們之前看到的,深層網絡中的後一層無法學習將結果傳輸到輸出所需的身份函數。在殘差網絡中,我們不希望層符合期望的映射,而是讓這些層適應殘差映射。

最初,所需的映射是H(x)。然而,我們讓網絡來擬合殘差映射F(x)=H(x)-x,因為網絡發現優化殘差映射比優化原始映射更容易

這種將數據從一層繞過另一層的方法稱為快捷連接或跳躍連接。這種方法允許數據在各層之間輕鬆流動,而不會妨礙深度學習模型的學習能力。添加這種類型的跳躍連結的好處是,如果任何層損害了模型的性能,那麼它將被跳過。

跳躍連接背後的邏輯是,網絡更容易學會將f(x)的值轉換為零,從而使其行為類似於一個恆等函數,而不是完全靠自己學習像恆等函數一樣,找到一組正確的能夠給你答案的值。

ResNet使用兩個主要的構建塊來構建整個網絡。

1. 標識塊(同上)

2. 卷積塊

卷積塊有助於修改和重組傳入數據,以便第一層的輸出與第三層的尺寸相匹配,然後添加它們。

這些組件有助於實現深度學習模型的更高優化和精度。在下圖中,結果準確地顯示了平面層上使用ResNet的效果。

因此,我們可以很容易地得出結論,ResNet無疑是深度學習的一個裡程碑。通過它的快捷連結(跳躍連接),它允許深度學習社區冒險進入更深層次的神經網絡模型,而這反過來又給我們帶來了顯著更好的結果。

(源自:Medium.com 編譯:ODRobots)

相關焦點

  • 一文讀懂殘差網絡ResNet
    本文包括什麼:殘差網絡的由來,為什麼需要殘差網絡?殘差網絡是什麼,怎麼定義?殘差網絡為什麼好用?優越性在哪裡?有沒有一個簡單的例子來直觀看懂什麼是殘差網絡?殘差網絡的由來殘差操作這一思想起源於論文《Deep Residual Learning for Image Recognition》,目前的引用量已達3萬多。
  • 殘差網絡解決了什麼,為什麼有效?
    除此之外,去除個別神經網絡層,殘差網絡的表現不會受到顯著影響[2],這與傳統的前饋神經網絡大相逕庭。殘差網絡解決了什麼,為什麼有效?殘差網絡在圖像領域已然成為了一種主流模型,雖然這種網絡範式的提出是為了解決網絡退化問題,但是關於其作用的機制,還是多有爭議。
  • 深入探討:殘差網絡解決了什麼,為什麼有效?
    引言殘差網絡是深度學習中的一個重要概念。這篇文章將簡單介紹殘差網絡的思想,並結合文獻討論殘差網絡有效性的一些可能解釋。以下是本文的概覽:1.殘差網絡的展開形式這樣,殘差網絡就可以被看作是一系列路徑集合組裝而成的一個集成模型,其中不同的路徑包含了不同的網絡層子集
  • ResNet:用於圖像識別的深度殘差網絡
    摘要一般來說,更深的神經網絡更難訓練。因此本文提出了一種殘差學習框架,以簡化對更深網絡的訓練。該方法顯式地將層重新配置為參考輸入層的學習殘差函數,而不是學習非參考函數。本文提供了充分的經驗證據,這些證據表明,殘差網絡易於深度驗證,並且從大大增加的深度中可以獲得準確性。在ImageNet數據集上,評估深度最大為152層的殘差網絡-比VGG網絡[41]深8倍,但仍具有較低的複雜度。
  • 殘差密集網絡:利用所有分層特徵的圖像超解析度網絡
    圖像超解析度在安防等很多領域有這廣泛的應用,而美國東北大學最近提出了一種殘差密集網絡來從原圖生成高解析度圖像。該網絡結合殘差網絡與密集連接網絡的特性充分利用原始 LR 圖像的所有分層特徵,因而能重構出高質量的圖像。
  • 科普丨一文看懂數字孿生—相關概念及內涵
    科普丨一文看懂數字孿生—相關概念及內涵 2020-11-24 10:43 來源:澎湃新聞·澎湃號·政務
  • 十分鐘一起學會ResNet殘差網絡
    圖一圖二ResNet簡介ResNet是在2015年有何凱明,張翔宇,任少卿,孫劍共同提出的,ResNet使用了一個新的思想,ResNet的思想是假設我們涉及一個網絡層,存在最優化的網絡層次,那麼往往我們設計的深層次網絡是有很多網絡層為冗餘層的。
  • 科普丨一文看懂數字孿生—應用發展綜述(一)
    科普丨一文看懂數字孿生—應用發展綜述(一 ) 2020-11-25 10:12 來源:澎湃新聞·澎湃號·政務
  • 深度殘差收縮網絡:藉助注意力機制實現特徵的軟閾值化
    本文首先回顧了相關基礎知識,然後介紹了深度殘差收縮網絡的動機和具體實現,希望對大家有所幫助相關基礎深度殘差收縮網絡主要建立在三個部分的基礎之上:深度殘差網絡、軟閾值函數和注意力機制。1.1 深度殘差網絡深度殘差網絡無疑是近年來最成功的深度學習算法之一,在谷歌學術上的引用已經突破四萬次。相較於普通的卷積神經網絡,深度殘差網絡採用跨層恆等路徑的方式,緩解了深層網絡的訓練難度。
  • 如何使用Keras構建殘差神經網絡?
    什麼是殘差神經網絡?原則上,神經網絡的層數越多,應獲得越好的結果。一個更深層的網絡可以學到任何淺層的東西,甚至可能更多。如果對於給定的數據集,網絡無法通過添加更多的層來學習更多東西,那麼它就可以學習這些其他層的恆等映射(identity mappings)。這樣,它可以保留先前層中的信息,並且不會比較淺的層更糟糕。
  • 一文讓你了解卷積神經網絡
    卷積神經網絡(Convolutional Neural Network,CNN)是一種前饋神經網絡,它的人工神經元可以響應一部分覆蓋範圍內的周圍單元,對於大型圖像處理有出色表現。 它包括卷積層(convolutional layer)和池化層(pooling layer)。對比:卷積神經網絡、全連接神經網絡
  • 何凱明的深度殘差網絡PPT是這樣的|ICML2016 tutorial
    所有的3x3卷積層(幾乎所有)空間規模/2=>#過濾器x2 (~每一層的複雜度相同)簡約的設計風格;保持設計風格的簡約性無隱層fc無信息流失殘差網絡在模型表徵方面不存在直接的優勢(只是實現重複參數化)但是,殘差網絡允許逐層深入地表徵所有的模型殘差網絡使得前饋式/反向傳播算法非常順利進行在極大程度上,殘差網絡使得優化較深層模型更為簡單
  • 深度學習入門講解:什麼是殘差網絡Resnet(上)
    微信公眾號:follow_bobo更多精彩內容,在知乎:蔣竺波加公眾號,回復『』殘差網絡『』,可以得得到視頻所有高清
  • 深度 | 從AlexNet到殘差網絡,理解卷積神經網絡的不同架構
    為了理解 ConvNet 的設計哲學,我們需要先了解:ConvNet 的目標是什麼?該網絡的寬度開始的值很小,只有 64,每經過一次子採樣/池化層就增加 1 倍。VGG 在 ImageNet 上達到了 92.3 % 的 top-5 準確率。
  • 關於深度殘差收縮網絡,你需要知道這幾點
    深度殘差收縮網絡是什麼?為什麼提出這個概念?它的核心步驟是什麼?文章圍繞深度殘差收縮網絡的相關研究,對這個問題進行了回答,與大家分享。深度殘差網絡ResNet獲得了2016年CVPR會議的最佳論文獎,截至目前,在谷歌學術上的引用量已經達到了38295次。
  • 深度學習第19講:CNN經典論文研讀之殘差網絡ResNet及其keras實現
    >深度學習筆記6:神經網絡優化算法之從SGD到Adam深度學習筆記7:Tensorflow入門深度學習筆記8:利用Tensorflow搭建神經網絡深度學習筆記9:卷積神經網絡(CNN)入門深度學習筆記10:三維卷積、池化與全連接深度學習筆記11:利用numpy搭建一個卷積神經網絡
  • Google最新開源Inception-ResNet-v2,藉助殘差網絡進一步提升圖像...
    為了進一步推進這個領域的進步,今天Google團隊宣布發布Inception-ResNet-v2(一種卷積神經網絡——CNN),它在ILSVRC圖像分類基準測試中實現了當下最好的成績。Inception-ResNet-v2是早期Inception V3模型變化而來,從微軟的殘差網絡(ResNet)論文中得到了一些靈感。
  • 科普小常識丨25個你應了解的科普知識(1—5)
    科普小常識丨25個你應了解的科普知識(1—5) 2020-07-23 15:59 來源:澎湃新聞·澎湃號·政務
  • 殘差分析思想淺談
    如果你學過線性回歸,那麼你應該知道殘差分析。因為殘差分析本質上就是從殘差出發分析關於誤差項假定的合理性以及線性回歸關係假定的可行性。              那麼我們先要了解一下,關於「誤差項」做了哪些假定?
  • 「模型解讀」resnet中的殘差連接,你確定真的看懂了?
    它解決了深層網絡的訓練問題,作者的原論文中達到了上千層。殘差連接是何的首創嗎?當然不是,傳統的神經網絡中早就有這個概念,文【2】中則明確提出了殘差的結構,這是來自於LSTM的控制門的思想。>殘差網絡H(1)=1.1, H(1)=F(1)+1, F(1)=0.1在t+1時刻:非殘差網絡G』(1)=1.2, 殘差網絡H』(1)=1.2, H』(1)=F』(1)+1, F』(1)=0.2這時候我們看看: