找到神經網路的全域性最小值到底有多難?
數天前,機器之心釋出了 Simon S. Du 等人的論文 ofollow,noindex" target="_blank"> 《Gradient DescentFinds Global Minima of DeepNeural Networks》 引起了大家激烈的討論。對此論文,讀者們褒貶不一。此外,機器之心通過讀者留言瞭解到微軟研究院 Zeyuan Allen-Zhu、斯坦福 Yuanzhi Li、德州大學奧斯汀分校 Zhao Song(共同一作)稍微早些時候也釋出了一篇類似的論文,但有更好的結果。後經溝通聯絡,機器之心對微軟的這篇論文進行了跟進報道,希望能為讀者提供更全面的內容參考,更好的理解兩篇論文。
在細緻解讀微軟研究院的這篇論文之前,讀者們可以先了解下微軟這篇論文與 Simon S. Du 等人論文的對比(詳見微軟這篇論文的第二頁)。
最重要的區別是,Simon Du 等人證明了全連線深度網路(非 ResNet)的收斂時間關於層數 L 的依賴是不超過指數級別 2^O(L) 的,而殘差網路(ResNet)是多項式級別 poly(L) 的。Simon Du 等人因此給出理論依據,判斷 ResNet 的收斂性更好。本文作者指出,這樣的推斷是邏輯錯誤的,因為本文證明了全連線網路也同樣在多項式級別 poly(L) 時間內收斂(所以 Simon Du 等人文中的「不超過指數」,其實是和殘差網路一樣的多項式)。也就是說,ResNet 相對於非 ResNet 的優勢,實際上有更深層的原因,而不是像 Simons Du 文章裡聲稱的,是指數和多項式的區別。兩篇文章的其它的區別包括,Simon Du 等的人的結果,隱藏了其它的可能指數級別的引數,以及 Simon Du 的結果不能處理最常用的 ReLU啟用函式,等等。
微軟的這篇論文是基於 [Li-Liang 2018] 在今年 NIPS 2018 上發表的一個深度延伸。Li 和 Liang 證明了只有一個隱藏層的神經網路,在過引數化的情況下可以找到全域性最優。至於多層網路,需要開發更多的理論技術。一個具體的例子是這樣的。假設訓練資料不退化(相對距離為δ),那麼如何證明資料傳遞到了最後一層,也不會發生退化?這篇論文證明了,只要過引數化(引理 4.5),那麼樣本傳遞到最後一層,相對距離依然可以有δ\/2。
下面是對微軟研究院這篇論文的技術介紹:
論文:AConvergenceTheory for Deep Learning via Over-Parameterization
論文地址:https://arxiv.org/pdf/1811.03962.pdf
摘要:深層神經網路(DNN)已在許多領域表現出主導效能;自AlexNet以來,實踐中使用的神經網路越來越深,越來越寬。然而在理論方面,前人大部分的工作在關注為什麼我們可以訓練只有一個隱藏層的神經網路。多層網路的理論仍然不明確。
在這項工作中,我們證明了為什麼常用的演算法,比如隨機梯度下降(SGD),可以在多項式時間內找到 DNN 訓練的全域性最優解。我們只做兩個假設:輸入資料不退化,和網路過引數化。前者意味著輸入不存在兩個相同的資料點有矛盾的標籤;後者意味著隱藏神經元的數量足夠多,也就是關於層數 L,以及樣本數量 n 都是多項式級別。
作為一個具體示例,在訓練集上從隨機初始的權重開始,我們證明了在關於 n 和 L 的多項式時間內,SGD 就可以在分類任務中達到了 100%的準確率,也就是找到全域性最優解。我們的理論可適用於最常用的 ReLU啟用函式,適用於任何光滑甚至非凸的損失函式。在網路架構方面,我們的理論至少可以適用於全連線網路,卷積網路(CNN)和殘差網路(ResNet)。
神經網路在眾多機器學習任務中取得了巨大成功。其中一項實驗結果表明,通過隨機初始化的一階方法訓練的神經網路,具有非常強的擬合訓練資料的能力。從容量的角度來看,擬合訓練資料的能力可能並不令人驚訝:現代神經網路總是過引數化,它們具有遠多於訓練樣本總數的引數。因此,理論上,只要資料不退化,總會存在實現零訓練誤差的引數選擇。
然而,從優化的角度來看,一階方法可以在訓練資料上找到全域性最優解這事情「非常不簡單」。大家常用的神經網路通常配備 ReLU啟用函式,這使得神經網路不僅是非凸的,甚至非光滑。與之相對的是,優化理論中,如何找到非凸、非平滑函式的哪怕是一階、二階臨界點的收斂性也是不明確的 [Burke, 2005],更不用提全域性最優解。那麼,實際訓練中,隨機梯度下降法(SGD)是如何在含有 ReLU 的深度神經網路中,收斂到全域性最小值的呢?
這篇文章證明了,不管是全連線的深度前饋網路,是深度卷積網路 (CNN),還是深度殘差網路(ResNet),假設深度為 L,假設訓練樣本有 n 個,只要樣本不退化——也就是任意兩個樣本之間的相對距離超過δ——那麼只要神經元數量超過 ,隨機初始化後的 SGD 演算法就可以在多項式時間內找到全域性最優解。這裡「找到全域性最優解」的定義取決於具體任務,如果是分類問題,那麼就是在
多項式時間內得到 100% 正確率;如果是擬合問題,就是在
多項式時間內找到擬合殘差為ε的解。後者被稱為線性收斂速率。
細節
這篇文章的細節其實可以由如下兩個簡單的定理和圖片概括(文中 Sec 3.1)。假設損失函式是平方擬合(l_2 regression loss)
文中定理 3(沒有馬鞍點):在一定條件下(比如 SGD 的移動路徑上),神經網路目標函式的梯度模長的平方,大於目標函式值本身,除以一個多項式因子:
定理 3 說了一件很簡單的事情,就是隻要沒有達到全域性最優,那麼函式梯度就一定大於零,並且函式越大,梯度的模長就越大。換言之,在 SGD 的移動路徑上,只要訓練損失 (training loss) 不到 0,就不會出現馬鞍點,更不會出現區域性最小值。這個結果本身就很特殊,因為大部分的非凸問題不滿足這個性質,而過度引數化的神經網路,用 SGD 進行訓練,卻可以保證得到這個性質!
有了定理 3,就可以證明 SGD收斂了麼?並沒有,因為如果 SGD 向梯度的反方向移動,為什麼函式值會下降?「函式值會下降」在優化理論中對應了光滑性 (smoothness)。傳統的優化理論中有很多關於光滑性的定義,但都需要函式至少二階可導(可惜 ReLU啟用函式並不存在二階導數)。這篇文章的另一個精髓,在於證明了過度引數化的神經網路滿足以下的一個「半光滑性」。
文中定理 4(半光滑性):在一定條件下(比如 SGD 的移動路徑上),神經網路目標函式和其一階近似之間的距離「很小」:
與傳統光滑性不同的是,這裡不等式的右邊有一個關於‖ΔW‖的一階項,文中說明,這個一階項會隨著神經元數量越來越多,變得越來越小。也就是網路引數越多,會越「光滑」,也就越容易做訓練。
為了理解定理 3 和定理 4,我們可以參見文中的圖片。當目標函式值在 1.3(並沒有到全域性最優)的時候,函式的梯度很大(定理 3),並且向梯度方向走,的確可以有效地降低目標函式值(定理 4)。
延伸
本文中關於 SGD收斂性的證明,停留在了前饋網路(包括 CNN,ResNet 等),那麼是否可以擴充套件到其它的更復雜的深度學習網路呢?例如在自然語言處理應用中廣泛使用的遞迴神經網路(RNN)?作者強調了 RNN 其實是一個比 DNN 更難的問題(第三頁)。在兩週前,本文的作者將這個問題單獨成稿,發表在了 arXiv 上(連結:https://arxiv.org/abs/1810.12065)。
目前提到的多層網路收斂性都是針對訓練資料找全域性最優。那麼如何推廣到測試資料集呢?這篇文章並沒有涉及,但是在第三頁援引了一個同樣是這周傳到 arXiv 的重要工作 [Allen-Zhu, Li, Liang 2018]:證明了過度引數化的三層神經網路的訓練集最優解可以推廣到測試集!具體而言,如果資料是由一個未知的三層神經網路產生的,那麼使用過引數化的三層神經網路,和 SGD 進行訓練,只要多項式級別那麼多樣本,就可以學出能在測試集上完成比如分類、擬合問題的未知網路。這個結果是對本文的一個很好的補充(連結:https://arxiv.org/abs/1811.04918)。