Overparameterization這個字的意思就是模型會用非常多的參數來製作。在早期很多人認為模型產生overfitting是因為參數過多,讓整個模型的自由度太大。那些參數讓decision boudary非常凌亂,因此讓訓練時期的模型表現很好,但測試的時候就會非常糟糕。但是近期的理論告訴大家如果參數超過一個量級,整個模型會有截然不同的表現。這奇怪的現象李宏毅教授有在上課錄影中demo過,現在無法demo的狀況下,只能用一張圖來稍微說明:
https://i.redd.it/g4q983jk7lq21.png
(來源: https://arxiv.org/pdf/1812.11118.pdf)
這張圖的a其實就是大家常看到的基礎機器學習課程中看到很典型的圖。他說明模型的參數量(H其實應該是複雜度,不過如果單純簡化來說,越複雜的模型大概會有越多的參數,那目前就簡單當成模型參數的多寡來看)如果越少的時候會有一個underfitting的region,但參數過多則是會overfitting;也就是說train accuracy數值很漂亮,但是test的時候慘不忍睹,因此模型參數不能太多不能太少要剛剛好,然後得到一個看似道路邊招牌掉下來砸到的人都可以回答出這樣的現象。但是這幾年許多人在算力足夠的狀態下開始測試如果把參數反其道而行的往上增加會發生甚麼事情。結果當然是出人意料的,模型竟然也開始反其道而行(https://www.groundai.com/media/arxiv_projects/325467/x9.png.750x0_q75_crop.png)。這件事情大家反覆確認了很久,又在經過幾年的努力,儘管我們並不知道發生了甚麼事情,但整個機器學習的模型的狀況應該要稍微修正可以用b來看。也就是說,當模型到達一個複雜度的時候,即使你看到模型在訓練時產生了overfitting,你可能還不太需要太害怕。你就用力把參數給他催下去進入到零的領域後,今天你的模型可能就沒有極限了。
Benign Overfitting in Linear Regression
參考
https://arxiv.org/pdf/1906.11300.pdf
沒有留言:
張貼留言