Generalization 專題 — Stronger generalization bounds for deep nets via a compression approach

這是一篇 2018 年初由 Neyshabur、Arora 等人發表的文章。初看覺得是一篇很突然就冒出的作品,但其實累積了前面許多文章的點子,不過他們非常巧妙的運用,而使得這篇文章無論結果、還是給予的理論上的觀點都十分令人驚喜。論文本文有十分多數學上的定義、推導等等,這篇文章希望給予一些高觀點的理解,幫助體會這個作品神奇的地方。

繼續閱讀 “Generalization 專題 — Stronger generalization bounds for deep nets via a compression approach"

Generalization in deep learning (2)

這篇延續上一篇『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)"

Generalization 專題 — PAC-Bayes bound

『機器學習可行嗎』的一些文章有提到,我們可以透過對 hypothesis class \mathcal{H} 的一些合理的測量(例如 union bound、VC-dimension),來對我們學到的 hypothesis h_S 的 generalization gap 有一些估計。但是如果現在我們面對的是非常複雜的 hypothesis class,像是整個 neural network 可能產生的參數的所有不同組合,很有可能有許多組參數都對同一組訓練資料有很好的表現,那麼可能會希望對這些不同的參數都納入評估,而不是只挑選其中一個去衡量。

做綜合性的評估一個很直接的方法就是計算期望值,也就是如果整個 \mathcal{H} 中有 10 組不同的參數,演算法在看了訓練資料後,分別給這 10 組參數不同的機率 \mathcal{Q} over \mathcal{H},這時可以定義訓練錯誤率其實是這 10 組的訓練錯誤率的期望值,\mathbb{E}_{w\sim Q}[L_S(w)],而真實錯誤率則是 \mathbb{E}_{w\sim Q}[L_D(w)]

繼續閱讀 “Generalization 專題 — PAC-Bayes bound"

IIS 一年

來到老大的實驗室快一年了,跌跌撞撞卻還算是有些成長。已經養成從論文學東西的習慣,卻也開始變得沒有耐心扎扎實實念一本書。

最近想要趁著研究的淡季﹝?﹞、以及似乎慢慢抓到研究進度的感覺,來重新補一些很基本的東西,找了MIT的開放式課程讓自己至少跟著一個不會太慢的進度進行。

目前打算跟著兩門 13 周的課程,先從自己可能比較可以掌握的開始,所以挑的不是完全不認識的東西。

  • Probability and Random Variables:應該是 MIT 的機率導論,總之也是跟著 Ross 那本教科書進行,共有 10 份作業,應該算是最容易完成的一門課,希望至少這個要順利。
  • Mathematical Statistics:是一門研究所的課,看了課程內容發現許多概念是對機器學習的理論研究蠻有幫助的,就算要做實作可能也少不了這些知識,同樣有 10 份作業,這個應該稍微有難度一點。

等這兩門結束後,如果還順利的話,或許會繼續進行另一門課:High-Dimensional Statistics,算是結合了線性代數、和上面那門統計的東西,還有一些 Minimax lower bound 的概念,希望會對另一個卡了大半年的問題有一點幫助。

總的來說,做研究﹝機器學習理論研究﹞依然是我目前最有興趣的事情,也蠻樂意作為我未來幾年努力的方向﹝如果有人願意收我的話﹞。

持續努力,希望接下來的這一年,可以平衡好自主學習和研究進度。