版權聲明:本文為博主原創文章,轉載請注明出處 http://blog.csdn.net/shuzfan/article/details/56016180
深度神經網絡往往帶有大量的參數,但依然表現出很強的泛化能力(指訓練好的模型在未見過的數據上的表現)。
深度神經網絡為何會擁有如此強的泛化能力?最近,兩篇論文引起了廣泛思考。
神經網絡通過記憶學習
《Understanding deep learning requires rethinking generalization》一文通過實驗得出初步結論:
神經網絡極易記憶訓練數據,其良好的泛化能力很可能與此記憶有關。
傳統觀點
傳統方法認為模型對訓練數據的記憶是導致泛化能力差的重要原因,因此往往通過各種各樣的正則化手段使得模型“簡約”,從而打破這種記憶。
論文觀點
深度神經網絡極易記憶數據,常用的正則化手段對於模型泛化能力的提高不是必要的而且也不足以控制泛化誤差。深度神經網絡發揮作用時可能很好的利用了其記憶能力。
論文實驗
論文通過大量試驗挑戰了傳統機器學習的觀點。
實驗一:如下圖
上圖的實驗結果是:哪怕是隨機的label、隨機的噪聲,神經網絡也能獲得零訓練誤差。雖然訓練時間變長,測試誤差也變高。因此,作者得出了結論:神經網絡極易記憶數據,其泛化能力很可能與記憶有關。
我的看法: 作者試驗中保證網絡參數量大於數據量的2倍,如此巨大的網絡能夠記憶訓練數據似乎一點也不讓人驚奇。作者用零訓練誤差來表示網絡記憶了數據,但對於正確label和隨機label而言,同樣的零訓練誤差可能代表完全不同形式的“記憶”,因此不能簡單就說明神經網絡的能力和記憶有關。
實驗二:如下表
上表試圖比較說明三種類型的顯式正則化:data augmentation, weight decay and dropout的效果。 結論是:這些正則化手段雖然有助於減小泛化誤差,但即使沒用這些手段,模型依然可以比較好的泛華。即正則化不是模型泛化的根本原因。
神經網絡 不 通過記憶學習
《DEEP NETS DON’T LEARN VIA MEMORIZATION》
文章結論:深度神經網絡的性能並非來自“記憶”, 而是源於在有限數據上學習簡單的、切合的可用假設。
實驗一:如下圖
實驗現象:對於真實數據,網絡可以用較少的參數獲得較好的性能;對於噪聲,則需要增加網絡容量。
結論: 這暗示網絡是在學習某種“模式”,而不是簡單的暴力記憶。
實驗二:如下圖
實驗現象:減小網絡容量或者增加數據集的大小會使網絡收斂速度變慢,但這一現象對真實數據並不明顯。
結論: 這暗示網絡是在學習某種“模式”,而不是簡單的暴力記憶。(否則的話,樣本增多,訓練速度應該變慢很多。)
未完待續:
參考資料
[1] 新智元文章:【Bengio vs 谷歌】深度學習兄弟對決,神經網絡泛化本質之爭:http://it.sohu.com/20170219/n481116059.shtml
[2] Reddit評論: https://www.reddit.com/r/MachineLearning/comments/5cw3lr/r_161103530_understanding_deep_learning_requires/
[3] ICLR 論文公開評審:https://openreview.net/pdf?id=rJv6ZgHYg