天天看點

從模型容量的視角看監督學習

  • 這幾天看離線強化學習瞎想的,不一定正确,僅記錄個人想法

文章目錄

  • ​​1. 監督學習的本質​​
  • ​​2. 容量視角下的模型選擇、正則化和歸納偏置​​
  • ​​3. 幾點啟發​​

1. 監督學習的本質

  • 我認為監督學習的本質在于在過拟合和欠拟合之間取得平衡,捋一下邏輯
  1. 我們知道,如果模型複雜度相對資料複雜度過高,就會過拟合;反之模型複雜度相對資料複雜度過低,則會欠拟合
如果不知道,可以參考:​​李宏毅老師的課程​​
  1. 模型複雜度”、“模型容量”、“模型能表示映射關系的複雜程度”、“模型的假設空間大小” 這幾個概念都是正相關的,下面讨論時會不嚴格地混用這些詞
  2. 做好監督學習 = 最大限度地從資料中提取資訊 = 在過拟合和欠拟合之間取得平衡 = 選擇複雜度和資料複雜度差不多的模型 = 選擇容量合适的模型

2. 容量視角下的模型選擇、正則化和歸納偏置

  • 記住我們的重點是控制模型容量,使之複雜度和給定的樣本複雜度相比對
  • 在參數數量一緻的情況下,全連接配接網絡(或者說多層感覺機)的容量是最大的
  • 從模型容量的視角看監督學習
  • 全連接配接網絡不受任何限制,它能表示的映射關系是最多的,假設空間是最大的,這也導緻其很容易過拟合,極大的假設空間大機率能涵蓋一個完美拟合給定資料自身特征的模型,如果樣本量不夠大,資料自身特征的普遍性和代表性差,習得模型的泛化性會很差
  • 從這個角度考慮,常見的正則化方法都是在隐式地限制模型容量,例如
  1. ​L2正則化​

    ​,通過調整損失函數控制優化方向,間接地限制最後學到模型的參數範圍
  2. ​dropout正則化​

    ​,通過随機失活神經元,防止模型輸出被某些神經元主導,間接地限制最後學到模型的參數範圍

上面這兩種常見的正則化都是限制參數中出現極端值,也就是隐式地從假設空間中挖掉了被極端值主導的部分,一般而言無論什麼問題我們都不想要這種極端的模型,是以這些正則化方法幾乎哪裡都能見到

  • 在各種論文中我們常常見到作者修改損失函數,往裡加一些正則化項之類的,如果從容量角度考慮,就是作者注意到了問題或者資料的某些潛在關系,然後增加正則化項控制優化方向,隐式地調節模型容量,使模型複雜度和樣本複雜度更加比對,進而能在使用相同樣本的情況下得到更好的效果
  • 進一步地,控制模型容量更直接的方法就是直接修改模型結構,進而硬性地,顯式地限制模型假設空間的大小。當然,這個限制是有方向的,我們想要針對性地保留假設空間中能更好地表示給定資料特征的部分,這就需要針對問題去設計模型了結構了,例如
  1. 針對圖像的平移不變性,在 CV 領域出現了 CNN,将全連接配接層替換為卷積層,通過固定的卷積核掃過圖像來提取特征
  2. 針對序列資料的長距離相關性,在 NLP 領域出現了 Transformer,将全連接配接層替換為 self-attention 層,通過 QKV 矩陣直接長跨度梯度提取特征
  3. 進一步的還出現了神經網絡結構搜尋(NAS)領域,專門緻力于尋找最好的網絡結構,這也能從容量的角度進行解釋。極端情況下,我們甚至可以使模型的容量足夠小(假設空間足夠小,歸納偏置足夠強),以緻于可以直接使用随機參數執行任務而無需任何訓練,這可以參考 ​​論文翻譯 —— Weight Agnostic Neural Networks 權重無關神經網絡​

總之,不同的網絡結構,都可以了解為将全連接配接網絡中的一些層替換為特殊設計的層,也就是從全連接配接網絡對應的最大的假設空間中根據資料特性保留一部分,保留的不同部分,決定了模型不同的​

​歸納偏置​

3. 幾點啟發

  1. 針對同一個任務,歸納偏置更強的模型複雜度更低,相同樣本複雜度(可簡單了解為相同樣本數量)下更不容易過拟合;歸納偏置更弱的模型能表示的假設空間更大,能刻畫的映射關系更複雜,如果有足夠樣本的話其性能上限更高。這可以解釋為何 transformer 在各個領域亂殺,一方面因為各種監督學習問題大都能轉換為序列預測問題,另一方面 transformer 中的 self-attention 的限制足夠弱,其表示能力足夠強,如下所示,純 self-attention 層和全連接配接層組成的 BERT 結構幾乎和全連接配接的 MLP 差不多了
  2. 這一點已經在 CV 領域得到驗證,直接用 BERT 模型做圖像分類的 VIT 方法,和使用 CNN resnet 結構做圖像分類的 BIT 方法相比,預訓練+微調後的性能如下
  3. 可見随着預訓練資料集的增大,VIT 從不及 BIT 不斷提升到超過 BIT
  4. 如果兩個任務 A B 足夠相似,那麼它們所需模型的歸納偏置應當也很相似,A 任務中表現良好的模型,很可能隻要進行正則化等簡單的修改就能直接在 B 任務表現良好。在 Offline RL 領域,就有直接把 Online RL 方法 TD3 的 actor 加上簡單 BC 正則項而得到的 TD3 + BC 方法,表現很不錯
  5. 如果仔細設計網絡寬度和深度,使模型複雜度合适,那麼簡單的 MLP 也能在各種問題中到達和複雜網絡結構一樣的效果。這個結論應該在多個領域中被驗證過,Offline RL 領域的例子可以舉最近的 RvS 論文

繼續閱讀