天天看點

Transformer是如何超越ResNet的?

作者丨ChaucerG來源丨集智書童

導讀

本文證明了在沒有大規模預訓練或強資料增廣的情況下,在ImageNet上從頭開始訓練時,所得ViT的性能優于類似大小和吞吐量的ResNet!而且還擁有更敏銳的注意力圖。 

Transformer是如何超越ResNet的?

1 簡介

Vision Transformers(ViTs)和MLPs标志着在用通用神經架構替換手動特征或歸納偏置方面的進一步努力。現有工作通過大量資料為模型賦能,例如大規模預訓練和/或重複的強資料增廣,并且還報告了與優化相關的問題(例如,對初始化和學習率的敏感性)。是以,本文從損失幾何的角度研究了ViTs和MLP-Mixer,旨在提高模型在訓練和推理時的泛化效率。可視化和Hessian揭示了收斂模型極其敏感的局部最小值。同時通過使用最近提出的銳度感覺優化器提高平滑度,進而大大提高了ViT和MLP-Mixer在跨越監督、對抗、對比和遷移學習(例如,+5.3% 和 +11.0%)的各種任務上的準确性和魯棒性使用簡單的Inception進行預處理,ViT-B/16和Mixer-B/16在ImageNet上的準确率分别為Top-1)。作者研究表明,改進的平滑度歸因于前幾層中較稀疏的活動神經元。在沒有大規模預訓練或強資料增強的情況下,在ImageNet上從頭開始訓練時,所得 ViT的性能優于類似大小和吞吐量的ResNet。同時還擁有更敏銳的注意力圖。

2 背景和相關工作

最近的研究發現,ViT中的self-attention對性能并不是至關重要的,是以出現了一些專門基于mlp的架構。這裡作者以MLP-Mixer為例。MLP-Mixer與ViT共享相同的輸入層;也就是說,它将一個圖像分割成一系列不重疊的Patches/Toekns。然後,它在torkn mlp和channel mlp之間交替使用,其中前者允許來自不同空間位置的特征融合。

3 ViTs和MLP-Mixers收斂到銳局部極小值

目前的ViTs、mlp-mixer和相關的無卷積架構的訓練方法很大程度上依賴于大量的預訓練或強資料增強。它對資料和計算有很高的要求,并導緻許多超參數需要調整。現有的研究表明,當在ImageNet上從頭開始訓練時,如果不結合那些先進的資料增強,盡管使用了各種正則化技術(例如,權重衰減,Dropout等)ViTs的精度依然低于類似大小和吞吐量的卷積網絡。同時在魯棒性測試方面,vit和resnet之間也存在較大的差距。此外,Chen等人發現,在訓練vit時,梯度會出現峰值,導緻精确度突然下降,Touvron等人也發現初始化和超參數對訓練很敏感。這些問題其實都可以歸咎于優化問題。在本文中,作者研究了ViTs和mlp-mixer的損失情況,從優化的角度了解它們,旨在減少它們對大規模預訓練或強資料增強的依賴。

3.1 ViTs和MLP-Mixers收斂到極sharp局部極小值

衆所周知,當模型收斂到曲率小的平坦區域時模型會具有更好的泛化性能。在[36]之後,當resnet、vit和MLP-Mixers在ImageNet上使用基本的初始風格預處理從頭開始訓練時,作者繪制損失圖:

Transformer是如何超越ResNet的?

如圖1(a)到1(c)所示,ViTs和mlp-mixer比ResNets收斂到更清晰的區域。

Transformer是如何超越ResNet的?

在表1中,通過計算主要的Hessian特征值進一步驗證了結果。ViT和MLP-Mixer的值比ResNet大一個數量級,并且MLP-Mixer的曲率在3種中是最大的(具體分析見4.4節)。

3.2 Small training errors

這種向sharp區域的收斂與圖2(左)所示的訓練動态一緻。盡管Mixer-B/16參數少于ViT-B/16(59M vs 87M),同時它有一個小的訓練誤差,但測試性能還是比較差的,這意味着使用cross-token MLP學習的互相作用比ViTs’ self-attention機制更容易過度拟合。這種差異可能解釋了mlp-mixer更容易陷入尖銳的局部最小值。

Transformer是如何超越ResNet的?

3.3 ViTs和MLP-Mixers的可訓練性較差

此外,作者還發現ViTs和MLP-Mixers的可訓練性較差,可訓練性定義為通過梯度下降優化的網絡的有效性。Xiao等人的研究表明,神經網絡的可訓練性可以用相關的神經切線核(NTK)的條件數來表征:其中是雅可比矩陣。用表示NTK 的特征值,最小的特征值以條件數κ的速率指數收斂。如果κ是發散的,那麼網絡将變得不可訓練。如表1所示,ResNets的κ是相當穩定的,這與之前的研究結果一緻,即ResNets無論深度如何都具有優越的可訓練性。然而,當涉及到ViT和時,條件數是不同的MLP-Mixer,證明了對ViTs的訓練需要額外的輔助。

4 CNN-Free視覺架構優化器原理

常用的一階優化器(如SGD,Adam)隻尋求最小化訓練損失。它們通常會忽略與泛化相關的高階資訊,如曲率。然而,深度神經網絡的損失具有高度非凸性,在評估時容易達到接近0的訓練誤差,但泛化誤差較高,更談不上在測試集具有不同分布時的魯棒性。由于對視覺資料缺乏歸納偏差ViTs和MLPs放大了一階優化器的這種缺陷,導緻過度急劇的損失scene和較差的泛化性能,如前一節所示。假設平滑收斂時的損失scene可以顯著提高那些無卷積架構的泛化能力,那麼最近提出的銳度感覺最小化(SAM)可以很好的避免銳度最小值。

4.1 SAM:Overview

從直覺上看,SAM尋找的是可以使整個鄰近訓練損失最低的參數w,訓練損失通過構造極小極大目标:

Transformer是如何超越ResNet的?

其中是neighbourhood ball的大小。在不失一般性的情況下,這裡使用範數作為其強經驗結果,這裡為了簡單起見省略了正則化項。由于内部最大化下式的确切解很難獲得:

Transformer是如何超越ResNet的?

是以,這裡采用了一個有效的一階近似:

Transformer是如何超越ResNet的?
Transformer是如何超越ResNet的?

在範數下,是目前權值的縮放梯度。計算後,SAM基于銳度感覺梯度更新w。

4.2 SAM優化器實質上改進了ViTs和MLP-Mixers

作者在沒有大規模的預訓練或強大的資料增強的情況下訓練了vit和MLP-Mixers。直接将SAM應用于vit的原始ImageNet訓練pipeline,而不改變任何超參數。pipeline使用了基本的Inception-style的預處理。最初的mlp-mixer的訓練設定包括強資料增強的組合;也用同樣的Inception-style的預處理來替換它,以便進行公平的比較。

Transformer是如何超越ResNet的?

注意,在應用SAM之前,我們對學習速率、權重衰減、Dropout和随機深度進行網格搜尋。

  • 1 局部極小值周圍的平滑區域

由于SAM, ViTs和mlp-mixer都彙聚在更平滑的區域,如圖1(d)和1(e)所示。

Transformer是如何超越ResNet的?

曲率測量,即Hessian矩陣的最大特征值,也減小到一個小值(見表1)。

Transformer是如何超越ResNet的?
  • 2 Higher accuracy

随之而來的是對泛化性能的極大改進。在ImageNet驗證集上,SAM将ViT-B/16的top-1精度從74.6%提高到79.9%,将Mixer-B/16的top-1精度從66.4%提高到77.4%。

Transformer是如何超越ResNet的?

相比之下,類似規模的ResNet-152的性能提高了0.8%。根據經驗,改進的程度與架構中内置的歸納偏差水準呈負相關。與基于注意力的ViTs相比,具有inherent translation equivalence和locality的ResNets從landscape smoothing中獲益較少。MLP-Mixers從平滑的loss geometry中獲得最多。此外,SAM對更大容量(例如:+4.1%的Mixer-S/16 vs. +11.0%的Mixer-B/16)和更長的patch序列(例如:+2.1%的vits/32 vs. +5.3%的vits /8)的模型帶來了更大的改進。

  • 3 Better robustness

作者還使用ImageNet-R和ImageNetC評估了模型的魯棒性,并發現了smoothed loss landscapes的更大影響。在ImageNet-C上,它通過噪音、惡劣天氣、模糊等來破壞圖像,實驗了5種嚴重程度上19種破壞的平均精度。如表1和表2所示, ViT-B/16和Mixer-B/16的精度分别增加了9.9%和15.0%。

4.3 無需預訓練或強大的資料增強ViTs優于ResNets

模型體系結構的性能通常與訓練政策合并,其中資料增強起着關鍵作用。然而,資料增廣的設計需要大量的領域專業知識,而且可能無法在圖像和視訊之間進行轉換。由于有了銳度感覺優化器SAM,可以删除進階的資料增強,并專注于體系結構本身(使用基本的Inception-style的預處理)。當使用SAM在ImageNet上從0開始訓練時,ViT的準确性(在ImageNet、ImageNet-Real和ImageNet V2上)和健壯性(在ImageNet-R和ImageNet-R上)方面都優于類似和更大的ResNet(在推理時也具有相當的吞吐量)。ViT-B/16在ImageNet、ImageNet-r和ImageNet-C上分别達到79.9%、26.4%和56.6%的top精度,而對應的ResNet-152則分别達到79.3%、25.7%和52.2%(見表2)。對于小型架構,vit和resnet之間的差距甚至更大。在ImageNet上,ViT-S/16的表現比同樣大小的ResNet-50好1.4%,在ImageNet-C上好6.5%。SAM還顯著改善了MLP-Mixers的結果。

4.4 SAM後的内在變化

作者對模型進行了更深入的研究,以了解它們如何從本質上改變以減少Hessian的特征值以及除了增強泛化之外的變化意味着什麼。

  • 結論1:每個網絡元件具有Smoother loss landscapes

在表3中,将整個體系結構的Hessian分解成與每一組參數相關的小的斜對角Hessian塊,試圖分析在沒有SAM訓練的模型中,是什麼特定的成分導緻爆炸。作者觀察到較淺的層具有較大的Hessian特征值,并且第1個linear embedding layer産生sharpest的幾何形狀。此外,ViTs中的多頭自注意(MSA)和MLP-Mixers中的token mlp(Token mlp)跨空間位置混合資訊,其相對較低。SAM一緻地降低了所有網絡塊的。可以通過遞歸mlp的Hessian矩陣得到上述發現。設和分别為第k層激活前的值和激活後的值。它們滿足,其中為權值矩陣,為激活函數(mlp-mixer中的GELU)。為了簡單起見,在這裡省略偏置項。Hessian矩陣相對于的對角塊可遞歸計算為:

Transformer是如何超越ResNet的?

其中⊗為Kronecker product,為第層的預激活Hessian,L為目标函數。是以,當遞歸公式反向傳播到淺層時,Hessian範數累積,這也解釋了為什麼表3中第一個塊的比最後一個塊大得多。

Transformer是如何超越ResNet的?
  • 結論2:Greater weight norms

應用SAM後,作者發現激活後的值的範數和權重的範數變得更大(見表3),說明常用的權重衰減可能不能有效地正則化ViTs和MLP-Mixers。

  • 結論3:MLP-Mixers中較稀疏的active neurons

根據遞歸公式(3)到(4),作者确定了另一個影響Hessian的MLP-Mixers的内在度量:激活神經元的數量。事實上,是由大于零的被激活神經元決定的,因為當輸入為負時,GELU的一階導數變得非常小。是以,活躍的GELU神經元的數量直接與Hessian規範相連。

Transformer是如何超越ResNet的?

圖2(右)顯示了每個塊中被激活的神經元的比例,使用ImageNet訓練集的10%進行計算。可以看到,SAM極大地減少了前幾層被激活神經元的比例,使它們處于更稀疏的狀态。這一結果也說明了圖像patch的潛在備援性。

  • 結論4:ViTs的active neurons高度稀疏

雖然公式(3)和(4)隻涉及mlp,但仍然可以觀察到vit的第1層激活神經元的減少(但不如MLP-Mixers顯著)。更有趣的是,作者發現ViT中被激活神經元的比例比ResNets或MLP-Mixers中要小得多——在大多數ViT層中,隻有不到5%的神經元的值大于零。換句話說,ViT為網絡修剪提供了巨大的潛力。這種稀疏性也可以解釋為什麼一個Transformer可以處理多模态信号(視覺、文本和音頻)?

  • 結論5:ViTs中有更多的感覺注意力Maps
Transformer是如何超越ResNet的?
  • 結論6:Higher training errors
Transformer是如何超越ResNet的?

5 實驗

Transformer是如何超越ResNet的?
Transformer是如何超越ResNet的?

繼續閱讀