ICLR 最佳論文作者張馳原演講全文:理解深度學習,為何我們需要重新思考泛化問題?
雷鋒網 AI 科技評論按:ICLR 2017 上,爭議最大的 best paper 莫過於這篇名為《Understanding Deep Learning Requires Rethinking Generalization》(《理解深度學習,需要重新思考泛化問題》)的論文。作者名單可謂群星薈萃,分別為 MIT 博士生張馳原,穀歌大腦團隊、深度學習三巨頭 Yoshua Bengio 的親兄弟 Samy Bengio、穀歌大腦團隊 Modiz Hardt、加州伯克利大學的 Benjamin Racht,以及穀歌 DeepMind 的 Oriol Vinyals。
雖然關於這篇論文的討論很多,但張馳原在發給雷鋒網的郵件中表示,他沒有計劃對論文進行公開解讀或接受訪談。因此在 ICLR 的現場,張馳原的現場演講便成為了為數不多的瞭解論文思路的方式。雷鋒網對他的演講全文進行聽譯及整理,未經許可不得轉載。
謝謝。今天我想談談理解泛化在通用深度學習上的表現。和我一同合作的研究者包括 Samy Bengio、Modiz Hardt、Benjamin Racht 和 Oriol Vinyals。
接下來,我們將談談泛化。如果你想讓系統獲得一個好的訓練表現,那麼通常會根據你手頭所擁有的資料量選擇合適的模型複雜度。
因此,一般而言你不會選擇一個太簡單的模型,因為可能容易導致欠擬合的問題,無法涵蓋有趣的模式;當然,你也不願選擇一個太複雜的模型(雷鋒網按:或者說過參數化的模型),因為這樣一來,非常容易導致泛化誤差,即過擬合問題。
不過,過參數化的模型在一些領域的應用其實非常流行,也很成功。舉個例子,當我們看著這幅圖上的紫色小點時,包括我以及在座的各位來賓都很難猜出這是什麼。但如果我給出所需要的背景圖示,那麼你會很快知道這是「水蛇星座」(A Water Snake)。也就是說,當我們試圖理解星象結構和圖案時,我們會運用豐富的想像力和創造力腦補出星座的畫面。通過星星所形成的點的各種組合,我們能夠創造出一幅美麗的圖畫。
當然,過參數化在深度學習中運用得很多,大家也非常熟悉,比如在電腦視覺領域非常典型的 CNN、LeNet、Inception Network,還有 152 層的 Deep Residual Network 等網路。
我們接下來回到這張圖討論偏差-方差問題(bias-variance),你會看到,實際上深度學習在位於坐標軸的右邊很遠的地方。我認為非常奇怪的地方在於,我們在測試過程中有著非常高的方差,但在實踐中,深度學習的性能與泛化表現卻非常好。
更奇怪的地方是,如果你將參數數量(parameter count)與訓練樣本的數量(number of Training Samples)之比(p/n)進行比較,你會發現,當這個數位增加時,神經網路的錯誤實際上有時會下降。從圖表中我們看到,MLP 1*512 網路大概是綠毛蟲的級別,p/n 為 24,如果達到 50% 的錯誤率,可能效果並不理想。如果採用了像 Alexnet 這樣更大的模型(像比卡丘一樣),p/n 接近 30,錯誤率就相對下降了。如果用更大的 Inception 甚至是 Wide Resnet(達到卡比獸和大岩蛇的規模),就能獲得非常高的準確度。
這個結果仿佛告訴我們,測量參數數量並不能有效地測量模型的複雜度,當然,結構也是我們需要考慮的內容,但測量參數數量顯然並不明智。那麼,我們如何測量模型的有效複雜度?
為了實現這一點,我想介紹一下隨機化檢驗。首先我要說明的是,我們發現深度神經網路非常容易擬合隨機標籤。
那麼隨機化檢驗是什麼?即一系列設計用來測量擬合隨機雜訊情況的實驗,資料集並不總是涵蓋有意義的樣本,因此你可以用此來檢驗模型的能力。此處我們採用隨機標籤來考量,首先我們採用 CIFAR 10 及 ImageNet 上已經標注好的資料集,隨後,我們通過擲骰子的方式對資料集隨機排序,並給它賦予一個新的標籤名字。也就是說,每個圖像集都標記為不同的名字,比如同為「花」內容的資料集,可能會有不同的名字,如「鳥」和「狗」。
隨後,我們通過穀歌搜到一些成功的模型和開源應用,隨即我們將張量先後 flow 進原始的資料集和隨機標籤的資料集裡,隨後對資料進行比較。
從圖表中我們可以發現,橫坐標左邊是沒有標籤雜訊的 CIFAR 10 資料集,右邊為全是隨機標籤雜訊的資料集。我們可以發現,不論標籤是否加入了隨機雜訊,訓練資料的準確度都是 100%,但測試準確度就會逐漸下降到 10%,這就形成了一個泛化鴻溝(generalization gap)。在其它條件不變的情況下(同樣的結構、同樣的演算法、同樣的 p/n),泛化誤差依然會隨之變大。
那麼這又回到了我們一開始所說的結論:深度神經網路非常容易擬合隨機標籤。由此引申的一點是,不論你給出任意的訓練資料集,神經網路都會有效地記住整個資料集,不論我們需要它學些什麼,或是摻入了怎樣的雜訊。
我想提的另一點是,我們並不是想提出一個普適於任何情況的論點,我們並不是在說,任何神經網路都能夠完美擬合隨機雜訊。因為確實存在一些網路在面對隨機標籤時呈現無法擬合,或者說過擬合的情況。我們想說明的點是,確實有一些成功的模型,一方面能夠適應 CIFAR 或 ImageNet 等自然資料集,Inception 及 Alexnet 等網路在 ImageNet 等很多資料集同樣呈現相似的結果。但它們無法呈現不同的泛化誤差,而這也是引起泛化討論的一個原因。
我們接下來要說的是正則化(regularizers)問題。我們都知道,正則化是為了限制假設空間,這裡可以用一隻胖胖的貓來類比大的假設空間,而被塞進更小容器裡的小貓就是正則化的模型。當你向神經網路加入了正則化矩陣,實際上你也縮小了假設空間。因此,被縮小的假設空間也無法很好地擬合隨機標籤。
我們做出了一些嘗試,對神經網路採用了一些常用的正則化方法,包括以下三種:
資料增強:涉及特定域的轉化
權重衰減:非常流行的正則化方法
隨機遮擋:因 LeCun 而發揚光大
我們採用對比的方式,一組用正則化擬合,一組不採用。得到兩個結果:
一個是,訓練資料在準確度上並沒有變化;
第二個是沒有正則化與正則化的測試準確率並沒有太大差異。在 CIFAR-10 及 ImageNet 上的結果呈現相似的結果。
如果我們採用隨機化檢驗的方式,並予以正則化,在不同的網路下是否還能擬合隨機雜訊?答案是肯定的,在大部分的案例下,神經網路確實能夠擬合隨機雜訊。在這個實驗中,我們發現 Alexnet 不能 converge,但就像我們之前說的一樣,我們並不是為了提出通用的論斷。
而且不可否認的是,如果你持續增加泛化的權重,終究會無法擬合隨機標籤,就更不要說自然標籤了。這樣一來,我們又陷入了欠擬合的狀態。對吧?
很遺憾的是,正則化在我們的通常理解中,是一種能夠限制模型或增強資料的方法。而如今,在重新思考正則化之後,它可能更像是「任何會損害訓練過程的東西」。這可能會導致,比如,提前停止(early stopping)獲得所謂的全域最小值,或讓隨機梯度下降(SGD)產生不必要的梯度噪音(gradient noice)。
而在採用 SGD 擬合隨機標籤時,真實標籤與隨機標籤的平均 loss 一開始呈現非常大的差距,但到接近 1500 steps 時,兩者會趨向一致。而如果採用的是混合圖元、隨機圖元甚至是高斯圖元的圖片,它們最終都會趨於損失最小化(0),並獲得全域最小值。
因此,我們論文中提及的隱式泛化基本上並沒有改變圖像,實際上所用的模型也有著它強大的有效能力(effective capacity),而採用偏差-方差理解泛化能力看上去很難。
對於深度學習而言,優化問題並不難。優化的難點與泛化的難點並不相同,因此學習泛化很可能需要從另一個角度思考,且並不容易,它們兩者並不能混為一談。
據此,我們團隊的結論是:
提出了一個簡單的實驗框架,以理解深度學習模型的有效表達能力。
成功的深度網路能夠碾壓性地擬合訓練集。
要解釋過參數化深度模型的泛化問題,我們需要提出其他的方式,來衡量模型/演算法/資料集的複雜度。
以上便是張馳原團隊的演講全文,更多 ICLR 2017 的文章,
敬請前往專題頁面瞭解。