歡迎光臨
每天分享高質量文章

漫談深度網路的泛化,從Loss Surface到Deep Image Prior

關於作者:彭博,人工智慧、量化交易、區塊鏈領域的資深技術專家,有 20 年以上的研發經驗。在人工智慧與資訊科技方面,對深度學習、機器學習、計算機圖形學、智慧硬體等有較為深入的研究;在量化交易方面,曾在全球最大的外匯對沖基金負責程式化交易,對市場的微觀和宏觀行為有較為深入的理解;在區塊鏈方面,對智慧合約、DApp 開發和自動交易有較為深入的實踐。知乎上科技領域的大 V,在專欄撰有大量技術文章。


本文內容節選自《深度摺積網路:原理與實踐》第 9.4.3 節。

深度網路 DNN 的效能為何如此之強,是深度學習理論中的一大難題。對於此的研究有 2 個層次: 


  • 第 1 層次,研究為何 DNN 能擬合複雜的訓練資料,而不會陷入區域性極小值點(local minimum)。這屬於數學問題,相對簡單。

  • 第 2 層次,研究為何 DNN 能在實際測試資料中實現良好的泛化效能。這與實際測試資料背後的規律有關,難度更大。


這裡的第1層次,涉及的概念是損失平面(loss surface),即損失函式(loss function)隨引數的變化情況。 


訓練網路的標的是最小化損失函式。從前的看法是,透過梯度下降方法在大多數情況下只能到達區域性極小值點(local minimum)。如果希望到達全域性極小值點(global minimum),往往會是個NP-hard問題,即,很難保證實現這一標的。 


《The Loss Surfaces of Multilayer Networks》(https://arxiv.org/abs/1412.0233)證實了這一點。透過與理論物理中的自旋玻璃(spin glass)模型類比,研究人員發現,網路越大,越難透過訓練到達全域性極小值點。 


但是,這裡的關鍵是,研究人員同時發現,網路越大,區域性極小值點和全域性極小值點的差距會越小。換而言之,此時到達區域性極小值點已足夠好。 


因此,網路越大,訓練的過程會越簡單,越穩定,因為到達任意一個區域性極小值點就足夠好了。我們在本書第 2 章結尾的例子中也看到了這一現象。如果計算資源充分,應使用盡可能大的網路。 


根據《Identifying and attacking the saddle point problem in high-dimensional non-convex optimization》(https://arxiv.org/abs/1406.2572),真正阻礙收斂的往往是鞍點(saddle point),而不是區域性極小值點。本書第 3 章也曾對此介紹。


對於第 2 層次,在 2016 年底的著名論文是《Understanding deep learning requires rethinking generalization》(https://arxiv.org/abs/1611.03530)。研究人員在實驗中發現,即使將訓練資料的標簽和影象設定為噪音,深度網路也會若無其事地完全學會所有訓練資料(此時就相當於完全死記硬背,因為標簽和影象是隨機設定的沒有意義的數字),如下圖所示。

如圖 (a) 所示,使用隨機標簽(紅色),將影象畫素按某固定的亂序打亂(綠色),隨機打亂(粉紅色),使用完全隨機的影象(黑色),最終的訓練誤差都可降到 0。


如圖 (b) 所示,隨著標簽的隨機程度增加,訓練速度會越來越慢,但不同架構的變慢程度與架構的效能並沒有關聯性。 


如圖 (c) 所示,隨著標簽的隨機程度增加,網路的預測錯誤率也會隨之增加,但不同架構的錯誤增長情況同樣是相近的。 


此外,研究人員還實驗了使用核方法(kernel trick)的線性模型(相當於淺層神經網路),它可直接透過計算實現 0 訓練誤差,我們希望瞭解它的泛化效能如何。研究人員發現,它在 MNIST 的測試錯誤率只有 1.2%(這證明 MNIST 確實太簡單)。而對於 CIFAR-10 問題,如果預先做高斯模糊處理,可實現 46% 的錯誤率;如果預先用 32000 個隨機摺積核處理,錯誤率就會降到 15% (註意這還沒有使用資料增強,因為否則訓練時的計算量太大),已經接近早期深度神經網路的效能。 


這說明,如果使用合理的訓練方法,並加入影象預處理,淺層神經網路的泛化能力實際也不錯。或許,這也說明,影象分類其實本來就並非那麼難。 


在 2017 年的另一篇熱議論文是《Opening the Black Box of Deep Neural Networks via Information》(https://arxiv.org/abs/1703.00810)。它發現,網路的訓練可分為兩個階段:


  • 第 1 階段是“擬合”。在其中網路逐漸學會輸入資料。這個過程的學名,是“經驗風險最小化”(Empirical Risk Minimization,ERM)。

  • 第 2 階段是“壓縮”。在其中網路逐漸脫離輸入資料,找到更核心的規律,實現泛化。


如下圖所示,網路的高層(層 5)在一開始與資料和標簽的資訊相關度都很低。隨著訓練的進行,它與標簽的資訊相關度不斷提高(因為最終需要給出標簽),而與資料的資訊相關度先提高(從A到C)後降低(從C到E),說明它一開始是著眼於輸入資料,後來就逐漸脫離了輸入資料,轉為關註更高層次的規律。


這聽上去很有趣,就像我們平時說的“先把書讀厚,再把書讀薄”,引來了許多科技媒體爭相報道。Hinton 也表示,這是近年來少有的突破,是真正原創的想法。


不過,在本書寫作的時候,也有研究人員認為這篇文章有問題,因為其中的網路架構令人生疑地原始,是全連線網路,而且使用 tanh 和 sigmoid 啟用,而非 ReLU 啟用。經過實驗,使用 ReLU 啟用後,這些有趣的現象似乎就消失了(https://openreview.net/forum?id=ry_WPG-A-¬eId;=ry_WPG-A-)。這不代表這個研究沒有價值,不過說明事情可能沒這麼簡單,需要用更多的模型檢驗。 


說起這個問題,目前部分AI論文的作者會迴避對於自己不利的實驗結果,值得讀者註意。例如,如果某個模型只釋出了在簡單資料集上的效能(如 MNIST),那可能是因為這個模型在更複雜資料集(如 CIFAR-10)的效能不佳,論文的作者不好意思說出來。 


此外,目前也有研究人員試圖從物理的角度解釋深度學習的有效性,有能力的讀者可參閱《Why does deep and cheap learning work so well?》(https://arxiv.org/pdf/1608.08225)。 


簡單地說,機器學習希望學會統計分佈,統計分佈在物理上來自哈密頓量(Hamiltonian)。如果哈密頓量具有簡單的形式(例如,是階數低的多項式),或明確的對稱性,或存在簡單的有效理論(effective theory),就會適合於神經網路的學習。此外,我們宇宙存在明顯的層次結構(hierarchical structure),這也很適合於深度網路的訓練和運作。不過,這仍然是停留在想法層面,研究人員仍未找到嚴格的理論模型。


最後,在 2017 年 12 月的一篇有趣的文章是《Deep Image Prior》(https://dmitryulyanov.github.io/deep_image_prior)。它讓一個深度摺積網路去學習複製被破壞的影象(如,加入噪點的影象),發現這個網路會自動先學會重建影象。 


例如,給定一幅被破壞的影象 x,具體過程如下: 


  • 用隨機引數初始化深度摺積網路 f;

  • 令 f 的輸入為固定的隨機編碼 z;

  • 令 f 的標的為:輸入 z,輸出 x。以此訓練f的引數;

  • 註意選擇合適的損失函式。例如對於降噪問題可關註整體的 MSE,對於填充問題就應只關註不需要填充的位置的 MSE;

  • 當訓練很久之後,f 可實現輸出一模一樣的 x;

  • 但如果在訓練到一半時打斷 f,會發現它會輸出一幅“修複過的 x”。


這意味著,深度摺積網路先天就擁有一種能力:它會先學會x中“未被破壞的,符合自然規律的部分”,然後才會學會 x 中“被破壞的部分”。例如,它會先學會複製出一張沒有噪點的 x,然後才會學會複製出一張有噪點的 x。 


換而言之,深度摺積網路,先天就瞭解自然的影象應該是怎樣的。這無疑來自於摺積的不變性,和逐層抽象的結構。 


Deep Image Prior 的重要特點是,網路由始至終,僅使用了被破壞過的影象x作為訓練。網路沒有看過任何其它影象,也沒有看過正常的影象,但最終效果依然頗為不錯。這說明自然影象的區域性規律和自相似性確實很強。 


請看下圖,最左邊是帶瑕疵的影象 x,它經過 JPEG 壓縮,有很多壓縮瑕疵。網路的標的是學會輸出它。在 100 次迭代後,網路學會了輸出模糊的形體。在 2400 次迭代後,網路學會了輸出清晰光滑的高質量影象。在 50000 次迭代後,網路才學會了輸出帶瑕疵的影象 x。


而下圖是將影象由部分畫素重建。可見,深度摺積網路很擅長處理不斷重覆的紋理,效果比傳統方法更佳。

#福 利 時 間#

以下是簡單粗暴送書環節

PaperWeekly × 機械工業出版社 

深度摺積網路

原理與實踐

<3本>

技術理論√工作原理√實踐方法

作者:彭博


20 年開發經驗資深專家/知乎大 V,從技術理論、工作原理、實踐方法、架構技巧、訓練策略和技術前瞻 6 個維度系統、深入講解 DCNN 和 GAN。


深度摺積網路(DCNN)是目前十分流行的深度神經網路架構,它的構造清晰直觀,效果引人入勝,在影象、影片、語音、語言領域都有廣泛應用。


本書以 AI 領域最新的技術研究和和實踐為基礎,從技術理論、工作原理、實踐方法、架構技巧、訓練方法、技術前瞻等 6 個維度對深度摺積網路進行了系統、深入、詳細地講解。


以實戰為導向,深入分析 AlphaGo 和 GAN 的實現過程、技術原理、訓練方法和應用細節,為讀者依次揭開神經網路、摺積網路和深度摺積網路的神秘面紗,讓讀者瞭解 AI 的“思考過程”,以及與人類思維的相同和不同之處。

 

 參與方式 


請在文末留言分享

如何在CNN和RNN之間進行取捨?


小編將隨機抽取3位同學

送出機械工業出版社新書


截止時間:6月6日(週三)20:00


關於PaperWeekly


PaperWeekly 是一個推薦、解讀、討論、報道人工智慧前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號後臺點選「交流群」,小助手將把你帶入 PaperWeekly 的交流群裡。

▽ 點選 | 閱讀原文 | 訂購《深度摺積網路》

贊(1)

分享創造快樂