在閱讀《強化式學習:打造最強 AlphaZero 通用演算法》時,書中介紹了殘差網路,並推薦了兩篇論文;因為在看了書後,對殘差網路的概念還是不很清楚,於是決定用ChatGPT翻譯這兩篇論文來增強理解,以下正文是第一篇論文:Deep Residual Learning for Image Recognition—Kaiming He、Xiangyu Zhang、Shaoqing Ren、Jian Sun,的翻譯及概要整理。
深度卷積神經網路為圖像分類帶來了一系列突破,特徵的"層次"可以通過堆疊層數(深度)來豐富。但出現一個退化問題:隨著網路深度增加,準確率飽和後迅速下降,增加更多層到適當深度的模型反而導致更高的訓練錯誤。這表明並非所有系統都同樣容易優化。
考慮對一個較淺模型系統多增加一些層,新增層是恒等映射,其餘層從已學習的較淺模型複製。照理說深層模型不應產生比其淺層對應模型更高的訓練誤差,但實驗表明,目前的解算器無法找到與構建出很好或更好的解(或無法在可行時間內做到)。後來微軟研究院的Kaiming He等四位華人提出殘差網路模型—ResNet(Residual Nerual Network),以解決退化問題。
如下圖,將最後底層的映射結果表示為H(x),讓堆疊的非線性層擬合另一個映射F(x) := H(x)−x,原始映射則為F(x)+x,也就是H(x),假設優化殘差映射F(x)比優化原始的、無參考的映射更容易。如下圖,F(x)+x的公式可以通過帶有"捷徑連接"的前饋神經網路實現,捷徑連接僅執行恒等映射,並將其輸出加到堆疊層的輸出上,恒等捷徑連接不會增加額外的參數或計算複雜度,整個網路仍然可以通過SGD和反向傳播端到端訓練。
如上一段所述,假設多個非線性層可以漸近地逼近複雜函數,那麼等價於假設它們可以漸近地逼近殘差函數,即H(x)-x。所以,與其期望堆疊層逼近H(x),Kaiming He等人明確讓這些層逼近殘差函數F(x) := H(x)-x,原始函數因此變成F(x)+x。雖然兩種形式都應該能夠漸近地逼近所需的函數,但學習的難易程度可能不同。
同時間,"高速公路網路"提出具有門控功能的捷徑連接。這些門是數據依賴的且具有參數,而Kaiming He等人的恒等捷徑是無參數的。當門控捷徑"關閉"(接近零)時,高速公路網路中的層表示非殘差函數。相反,Kaiming He等人的公式始終學習殘差函數,恒等捷徑從不關閉,所有信息總是傳遞通過,並學習額外的殘差函數。結果,高速公路網路未能展示出極深度(例如,超過100層)帶來的準確性提升。
接下來Kaiming He等人研究投影捷徑。比較了三種選項:(A)使用零填充捷徑來增加維度,所有捷徑都是無參數的;(B)使用投影捷徑來增加維度,其他捷徑是恒等捷徑;(C)所有捷徑都是投影捷徑。結果顯示,這三種選項都明顯優於普通網路。選項B略優於選項A,因為選項A中的零填充維度確實沒有殘差學習。選項C比選項B略好,Kaiming He等人認為這是由於引入了許多投影捷徑帶來的額外參數。但選項A/B/C之間的差異很小,表明投影捷徑對解決退化問題並非必需。因此,為了減少記憶體/時間複雜度和模型大小,在實驗的剩餘部分不使用選項C。
Kaiming He等人的實現做法如下:圖像的較短邊隨機取樣在[256, 480]範圍內進行縮放增強,從圖像或其水平翻轉中隨機取樣224×224的裁剪,並減去每像素的均值。在每個卷積後和激活前採用批量歸一化(BN),並初始化權重,從頭開始訓練所有普通/殘差網路。使用迷你批量為256的SGD。學習率從0.1開始,當錯誤趨於平穩時減少10倍,模型訓練到60×104次迭代。使用0.0001的權重衰減和0.9的動量,不使用dropout。
實驗後,顯示極深殘差網路易於優化,但對應的"普通"網路(僅簡單堆疊層)在深度增加時表現出較高的訓練誤差;深度殘差網路可以輕鬆從大幅增加的深度中獲得準確性提升,產生比以前的網路更好的結果。
基於深度殘差網路,Kaiming He等人在ILSVRC & COCO 2015競賽的多個項目中獲得了第一名:ImageNet檢測、ImageNet定位、COCO檢測和COCO分割。
ChatGPT真的很好用,不管是翻譯還是查找資料,讓沒有讀過論文的我,在這第一次的經驗裡就能理解。繼續趕路,繼續留腳印(XD),週末快樂!