- 多模態大模型:算法、應用與微調
- 劉兆峰
- 1285字
- 2024-09-11 17:37:27
1.3.3 大數據預訓練
隨著模型的擴大和數據集的增長,我們還沒有看到Transformer模型有任何性能飽和的跡象,這就比較有意思了。因為我們知道,很多時候并不是一味擴大模型或者數據集就能取得很好的效果,尤其是當擴大模型的時候,很容易出現過擬合的問題,但是對于Transformer模型來說,目前還沒有觀測到這個瓶頸出現。
ViT的訓練數據集主要是ImageNet-1k(1000個類別,1.3M大小的圖像)和ImageNet-21k(21000個類別,14M大小的圖像),還有谷歌自己收集的JFT數據集(18000個類別,303M大小的圖像)。那么訓練ViT到底需要多大的數據集呢?研究者做了一個相關實驗,結果如圖1-34所示,橫軸表示不同大小的數據集,縱軸表示模型在ImageNet測試集上的準確率,圖中BiT表示不同大小的ResNet,而其他顏色和大小不一的圓圈表示的就是不同規模的ViT模型??梢园l現,在最小的ImageNet-1k上做預訓練時,ViT的效果基本都不如BiT,這是因為訓練Transformer模型時沒有卷積神經網絡的先驗知識。當在ImageNet-21k上做預訓練時,可以發現ViT的效果就和BiT的效果差不多了。最后當采用JFT-300M數據集進行預訓練時,可以發現ViT的效果已經全面超過BiT的效果了。
總的來說,當在中型數據集(ImageNet)上訓練ViT時,如果不加入一些強約束,那么ViT相比于同等大小的殘差神經網絡效果要弱一些,而在大型數據集(JFT-300M)上訓練時,即使沒有強約束,ViT也能夠取得與最好的卷積神經網絡相近甚至比之更好的結果。這是因為Transformer模型相比于卷積神經網絡來說缺少了一些先驗知識。在卷積神經網絡中實際上有兩個先驗知識:第一個是局部特征性,因為卷積神經網絡是以滑動窗口的形式提取特征的,其前提是我們認為圖像上相鄰的區域具有相似的特征;第二個是平移不變性,即,也就是說,不論先做卷積再做平移,還是先做平移再做卷積,最終的結果是一樣的。卷積神經網絡基于這兩個先驗知識進行訓練時,相當于已經有了一定的基礎,就不需要大量的數據進行訓練了,因此在小數據集上進行訓練也能取得比較好的結果。對于Transformer模型來說,沒有這些先驗信息,所以說它所具有的對視覺世界的感知能力,全都需要從數據中自己學習,因此訓練Transformer模型需要相對較大的數據集。
圖1-34還給我們提供了兩個信息:第一個信息是,如果我們想用ViT模型,那么至少應該準備ImageNet-21k那么大的數據集,如果只有很小的數據集,那還是用卷積神經網絡比較好;第二個信息是,如果我們有比ImageNet-21k更大的數據集,那還是用ViT比較好,它的可擴展性和訓練效率比卷積神經網絡更好。ViT證明了在大規模數據集上預訓練一個Transformer模型,是能夠取得比卷積神經網絡更好或者與它差不多的結果的。

圖1-34 ViT與卷積神經網絡在不同預訓練數據集上的ImageNet Top1準確率對比
既然卷積神經網絡和Transformer模型各有優缺點,那么自然可以想到將二者組合起來使用,即混合架構。卷積神經網絡可以很好地獲取圖像中的局部特征和平移不變性特征,但是全局特征的處理效果并不好。而Transformer模型可以很好地處理序列數據,如文本數據中的長依賴關系,更擅長捕獲全局相關特征。因此,將卷積神經網絡和Transformer模型結合起來可以取長補短,克服各自的局限性。混合架構的模型往往會使用一個小的卷積神經網絡作為特征提取器,從原始圖像中提取特征圖,通常是一些局部特征,如邊緣、紋理等,然后將這些特征圖輸入Transformer模型中進行處理,提取全局依賴關系,如物體的位置、大小等。