這篇延續上一篇『Generalization in Deep learning (1)』的內容。在『Understanding deep learning requires rethinking generalization』發表之後,引發了許許多多的後續研究,試圖提出新的解釋方法、或是用其他實驗說明原本的解釋已經不夠了,最明顯的一個例子是,人們相信『可調參數總量』(number of parameters)已經不是決定 capacity 的因素了,又或者是上一篇討論的一些 data-independent 的解釋也同樣不再行得通。
2017 年,Neyshabur 等人發表另一篇論文『Exploring Generalization in Deep Learning』,在這篇文章中,他們把關注的焦點放在幾個在 2015 年後被廣泛討論、提出的解釋,想看看這些是否可行。要注意的是,一個「合格」的方法,必須可以解釋目前實驗上的許多大哉問,像是
- 如『Generalization in Deep learning (1)』中的實驗,同一個模型有可能可以讓真正的資料以及完全隨機的資料都有 0 training error,但是前者可以 generalize 、後者則不行。也就是說,之後新定義的方法,他的複雜度(complexity)應該會是跟資料有關的(data-dependent),在真正的資料上測起來比較小,而隨機資料上測起來比較大。
- 增加 neural network 的 hidden units(或是說增加參數量)會讓 generalization gap 變小。這件事用以前的測量方法肯定是無法解釋的,因為以前我們都認為參數量越多,函數的『可變化量』就越高,因此 capacity 就越高,不管用 VC-dimension 還是 number of parameters 等等都是相同的結果。因此新的方法大概不能再用同樣的思維,而是要好好分析到底是 network 的深度呢?還是其他什麼因素決定了 complexity。
- 用不同的演算法,儘管都可能可以得到 0 training error,但是卻可能有不同 generalization gap,也就是說有些方法似乎可以避開不好的極值,而有些不行,這個問題也是需要被認真探討。
本篇主要為三大類:「norms and margin-based」、「sharpness」、「PAC-Bayes」,接下來我們逐一看看這些分別有什麼好處以及問題。
繼續閱讀 “Generalization in deep learning (2)"