視覺 Transformer

內建偏好(inductive bias)

內建偏好是一個模型在看到任何資料之前就抱持的一組假設——它的架構裡烘焙進去、關於「哪類解才合理」的先驗信念。每個學習器都需要一些:光有資料永遠無法唯一決定一個函數,所以架構必須傾向某些答案、而非另一些。對的偏好讓模型能從少數範例快速學習;錯的偏好則封死了它所能表達的上限。對視覺而言,核心問題是要內建多少空間先驗,而卷積網路與 Transformer 正坐在兩個極端。

卷積網路帶著強烈、視覺專屬的偏好。局部性假設鄰近的像素最要緊,所以 CNN 透過小窗去看。平移等變性假設一個特徵不論出現在哪裡都相同,這是靠把同一個共享濾波器滑遍整張影像來落實的(權重共享)。由粗到細的階層假設物體是由「部件的部件」組成,這是靠堆疊與池化來落實的。這些先驗對自然影像通常為真,所以 CNN 即使從不大的資料集也能高效學習——架構已經把問題的大半預先解掉了。

純視覺 Transformer 刻意拋棄了幾乎這一切。在圖塊嵌入之後,它看到的是一組沒有順序的詞元;自注意力是全域且置換等變的,對遠處圖塊與近處圖塊一視同仁,唯一微弱的空間先驗是「同一個圖塊內的像素被一起處理」,外加位置嵌入學到的那些。內建這麼少,ViT 就必須從資料本身學會局部性、平移行為與階層——這正是為什麼它需要大規模預訓練才能追平 CNN,以及為什麼在小資料上它會過擬合或表現不佳。

這把整個領域的設計空間框定為一個「偏好 vs 資料」的取捨(也與偏差-變異的概念相連)。你可以用好幾種方式供給缺失的結構:更多資料與增強(DeiT)、卷積莖或交織的卷積(混合模型)、相對或局部視窗注意力加上詞元階層(Swin),或從 CNN 教師做蒸餾。現代視覺 Transformer 設計的藝術,就在於選擇要重新引入多少內建偏好,好讓容量與資料預算取得平衡——偏好太多,浪費了 Transformer 的彈性;偏好太少,浪費了資料。

內建偏好在抽象上無所謂「好」或「壞」——它是一個對你的資料下的賭注。在自然照片上有幫助的偏好,在違反它的資料上可能有害(例如絕對位置具有意義的醫學影像,會打破平移不變性的假設)。讓偏好去匹配領域,而不是去追流行。

又称
inductive priorarchitectural prior內建偏好歸納偏置