- 元學習:基礎與應用
- 彭慧民編著
- 1881字
- 2021-06-10 14:41:23
3.3 殘差網(wǎng)絡
前面提到的卷積神經(jīng)網(wǎng)絡在2012—2014年的圖片分類比賽ILSVRC中取得了最高的分類精度,加深神經(jīng)網(wǎng)絡模型的深度有利于精度的提高。然而,神經(jīng)網(wǎng)絡模型的深度越深,越容易出現(xiàn)誤差梯度反向傳播算法中梯度消失或者爆炸的情況,這就限制了神經(jīng)網(wǎng)絡模型的深度。在后來的研究中發(fā)展了一系列有利于提高網(wǎng)絡模型訓練穩(wěn)定性、加深神經(jīng)網(wǎng)絡模型深度的方法,取得了更好的精度,其中殘差網(wǎng)絡模型(ResNet)就是最具代表性和被廣泛應用的方法之一,ResNet在2015年的ILSVRC比賽中取得了精度上的飛躍。
3.3.1 殘差網(wǎng)絡模塊
圖3.10給出了殘差網(wǎng)絡基本結(jié)構(gòu)示意圖。通過添加捷徑,將前幾層的輸入和網(wǎng)絡模型處理得到的輸出加起來,然后輸入后面的模塊。在每一層中直接接觸前面很多層的信息,而不是只接觸前一層的信息。ResNet在神經(jīng)網(wǎng)絡模型的層之間添加了捷徑(Shortcut)來實現(xiàn)信息的跨層傳遞。捷徑中使用了恒等映射,確保不會在反向傳播中出現(xiàn)梯度消失或梯度爆炸,這樣神經(jīng)網(wǎng)絡模型可以突破深度限制達到新的數(shù)量級。之前介紹的卷積神經(jīng)網(wǎng)絡模型最多只有幾十層,而ResNet可以達到幾千層,深度的增加使得ResNet可以達到不錯的圖片分類精度。另一種說法認為,在神經(jīng)網(wǎng)絡模型中添加捷徑降低了模型的有效深度(Effective Depth),當神經(jīng)網(wǎng)絡模型的層數(shù)變多時,模型的有效深度并沒有顯著增加,模型的訓練仍然穩(wěn)定,但是精度卻由于層數(shù)變多而得到了提升。

圖3.10 殘差網(wǎng)絡ResNet基本結(jié)構(gòu)示意圖
3.3.2 高速路神經(jīng)網(wǎng)絡
圖3.11給出了高速路網(wǎng)絡模型(Highway Network)模塊的示意圖。現(xiàn)實生活中的高速公路可以快速從一個地點到達另一個地點,捷徑將神經(jīng)網(wǎng)絡不同層之間的信息直接連接起來,使得信息可以快速跨層傳遞。捷徑中使用了門函數(shù)進行控制,加法中考慮了對前幾層的輸入乘以權(quán)重系數(shù),這里的加法是加權(quán)平均,而不是簡單相加。殘差網(wǎng)絡模型與高速路網(wǎng)絡模型[27]有異曲同工之妙,都是在神經(jīng)網(wǎng)絡模型的層與層之間添加了捷徑來實現(xiàn)信息的跨層傳遞,但是高速路網(wǎng)絡模型沒有限制信息傳遞系數(shù)的取值為1,因此可能會帶來模型訓練的不穩(wěn)定,而殘差網(wǎng)絡模型的捷徑設計更為直接簡單,可以在網(wǎng)絡模型層數(shù)增多時,保持模型訓練的穩(wěn)定。

圖3.11 高速路網(wǎng)絡模型示意圖
在AutoML中,考慮所有的超參數(shù)的組合,在每個超參數(shù)組合下訓練神經(jīng)網(wǎng)絡模型,計算模型的表現(xiàn)。通過遍歷所有超參數(shù)的組合,找到全局最優(yōu)的網(wǎng)絡模型,實現(xiàn)自動化機器學習,并且打敗人類調(diào)試出的網(wǎng)絡模型。神經(jīng)網(wǎng)絡模型很靈活,能調(diào)整的超參數(shù)很多,可變超參數(shù)越多,越有利于找到更好的最優(yōu)網(wǎng)絡模型。這里可將捷徑的設計作為神經(jīng)網(wǎng)絡模型的超參數(shù),在不同層之間都有設置捷徑的可能,這樣做極大地提高了神經(jīng)網(wǎng)絡模型的靈活性,實現(xiàn)了信息在不同層之間的靈活傳遞,有利于達成對不同任務具有更好適應性的神經(jīng)網(wǎng)絡模型。在神經(jīng)網(wǎng)絡模型層數(shù)不多的情況下,在捷徑中傳遞信息可以考慮使用門函數(shù);在神經(jīng)網(wǎng)絡模型層數(shù)較多的情況下,在捷徑中使用恒等映射傳遞信息,以此確保模型訓練的穩(wěn)定性。
3.3.3 寬殘差網(wǎng)絡
神經(jīng)網(wǎng)絡模型的寬度(Width)指每層神經(jīng)網(wǎng)絡中神經(jīng)元的個數(shù),神經(jīng)網(wǎng)絡模型的深度(Depth)指神經(jīng)網(wǎng)絡的層數(shù)。一般認為,增加神經(jīng)網(wǎng)絡模型的深度有利于提高模型的表現(xiàn),本節(jié)將介紹寬殘差神經(jīng)網(wǎng)絡模型(Wide ResNet Network,WRN)[28]。寬殘差神經(jīng)網(wǎng)絡具有殘差神經(jīng)網(wǎng)絡模型的結(jié)構(gòu),通過增加殘差網(wǎng)絡模型的寬度來提高分類精度。
在論文“Wide Residual Networks”[28]中,作者對WRN進行了詳細的討論,指出相較于增加殘差網(wǎng)絡模型的深度,增加殘差網(wǎng)絡模型的寬度可以更有效地提高圖片分類精度。WRN的訓練速度很快,而且一個簡單的16層WRN在CIFAR圖片分類任務的準確率和效率上甚至超過了1000層的深度殘差網(wǎng)絡模型,50層的WRN在ImageNet圖片分類任務的表現(xiàn)上比152層的深度殘差網(wǎng)絡更好。在圖像處理任務上,使用WRN進行圖像特征的提取具有明顯優(yōu)勢。
增加神經(jīng)網(wǎng)絡模型的寬度不會增加訓練難度。雖然WRN增加殘差網(wǎng)絡寬度時增加了參數(shù)數(shù)量,但是WRN沒有增加網(wǎng)絡模型的深度,所以并不會導致網(wǎng)絡模型更難訓練。模型變得更加復雜之后,需要考慮模型過擬合的問題,深度殘差網(wǎng)絡常使用批歸一化法對模型進行正則化,而WRN在卷積層之間使用隨機失活來避免模型過擬合。在論文[28]中,有以下結(jié)論:
(1)對于不同深度的殘差網(wǎng)絡模型而言,增加網(wǎng)絡模型的寬度有利于提高模型預測精度。
(2)對于已經(jīng)有太多參數(shù)并且出現(xiàn)了過擬合的殘差網(wǎng)絡而言,增加模型的寬度或者深度都沒有幫助。
(3)在有同樣多參數(shù)的情況下,WRN和具有同樣多參數(shù)的深度殘差網(wǎng)絡表現(xiàn)相近或者更好。
在元學習模型中,經(jīng)常需要從輸入任務數(shù)據(jù)集中提取有效特征,CNN、ResNet、WRN等都是不錯的選擇。好的特征提取器有利于模型的訓練,有利于構(gòu)建更好的注意力機制來發(fā)現(xiàn)新任務和訓練過任務之間的相似性,好的特征提取器有利于提高元學習模型的精度。
- 深度學習計算機視覺實戰(zhàn)
- 21世紀機器人
- 2019年華北五省(市、自治區(qū))大學生機器人大賽:人工智能與機器人創(chuàng)意設計賽論文集
- 硅基物語·AI寫作高手:從零開始用ChatGPT學會寫作
- Mahout算法解析與案例實戰(zhàn)
- PyTorch神經(jīng)網(wǎng)絡實戰(zhàn):移動端圖像處理
- 智能汽車軟件功能安全
- Python3智能數(shù)據(jù)分析快速入門
- AI大模型助你輕松搞定數(shù)據(jù)分析
- AI幫你贏:人人都能用的AI方法論
- MLOps工程實踐:工具、技術(shù)與企業(yè)級應用
- AI源碼解讀:卷積神經(jīng)網(wǎng)絡(CNN)深度學習案例:Python版
- 人工智能:理論基礎+商業(yè)落地+實戰(zhàn)場景+案例分析
- 洞察AIGC:智能創(chuàng)作的應用、機遇與挑戰(zhàn)
- 當計算機變成人:人工智能未來導引