當前位置: 華文星空 > 體育

如何理解Inductive bias?

2017-12-18體育

Inductive 是歸納,bias是偏,就是指在建模/訓練時從數據中所歸納的assumption/假設有偏(也很難避免,你總得信一個),在泛化/測試時,由於測試數據與建模/訓練時預設的assumption不一致,導致出現的問題,比如:CNN的平移不變性和局部性就是Inductive bias,它們是影像處理的特點嗎,太是了!正因為這個原因,CNN在處理全域特征不夠完美(不討論CNN透過多層摺積或者空洞摺積也能提取全域特征),於是Vision Transformer的self attention才能大行其道,可見,Assumption是雙刃劍,最擅長的優點,可能也是揮之不去的弱點;ViT的Inductive Bias就比較少,沒有locality,效果也非常好,就是算力消耗多;Swin Transformer說你ViT的確牛,但是CNN裏還有些好東西的,也沒必要都扔掉,又撿了點回來,滑動視窗就是locality的體現,一些合適的Inductive Bias能減少很多計算量,還是有價值的,可見,分寸很重要。不過在算力即正義的年代,大廠是有實力少一點Inductive Bias的,用算力彌補了,富則炮火覆蓋。

以前NLP裏常見的樸素貝葉斯,假設每個詞之間都是獨立的,這也是一種可能導致bias的先驗認知/assumption,而且還是比較強的assumption;強化學習裏的馬可夫決策MDP等等都是inductive bias,總之:inductive bias是測試時新的數據與訓練時的assumption/先驗不一致,是難以完全避免的模型「缺陷」(除非所有測試數據百分百和訓練資料來源於同一分布),不管如何提升訓練技巧都改變不了的。RNN假設當前的輸入和之前的輸入有關系,那麽和之後的有關系嗎?於是後來有了雙向LSTM和BERT。

所以inductive bias是我們選擇一種assumption,而放棄其他assumption的代價,甘蔗沒有兩頭甜 於是我們傾向於選擇表達能力強的模型,比如神經網絡,universal approximation定理說明,哪怕最簡單的只有一個隱藏層的多層感知機MLP,也能逼近任何分布,但這並不意味著inductive bias就減小了,這裏還要考慮模型復雜度的成本,奧卡姆剃刀告訴我們:要選擇所有能解釋現在現有數據的模型中,復雜度最低的模型,不然容易過擬合,不過這是另一個話題了。

另外圍棋的核心不是CNN,而是RL,CNN只是感知棋盤,不是決策。