Swin Transformer升级版来了!30亿参数,刷榜多项视觉任务
?作者?|?杜偉、陳萍
來源?|?機器之心
微軟亞洲研究院升級了 Swin Transformer,新版本具有 30 億個參數,可以訓練分辨率高達 1,536×1,536 的圖像,并在四個具有代表性的基準上刷新紀錄。
在不久之前公布的 ICCV 2021 論文獎項中,來自微軟亞洲研究院的研究者憑借論文《Swin Transformer: Hierarchical Vision Transformer using Shifted Windows》斬獲 ICCV 2021 馬爾獎(最佳論文)。這篇論文的作者主要包括中國科學技術大學的劉澤、西安交通大學的林宇桐、微軟的曹越和胡瀚等人。該研究提出了一種新的 vision Transformer,即 Swin Transformer,它可以作為計算機視覺的通用骨干。
相比之前的 ViT 模型,Swin Transformer 做出了以下兩點改進:其一,引入 CNN 中常用的層次化構建方式構建分層 Transformer;其二,引入局部性(locality)思想,對無重合的窗口區域內進行自注意力計算。在 Swin Transformer 論文公開沒多久之后,微軟官方也在 GitHub 上開源了代碼和預訓練模型,涵蓋圖像分類、目標檢測以及語義分割任務。
近日,該團隊又提出一種升級版 SwinTransformer V2。
論文地址:
https://arxiv.org/pdf/2111.09883.pdf
通常來講,Transformer 適用于擴展視覺模型,但它還沒有像 NLP 語言模型那樣得到廣泛的探索,部分原因是因為在訓練和應用方面存在以下困難:
視覺模型經常面臨擴展不穩定問題;
許多下游視覺任務需要高分辨率的圖像或窗口,目前尚不清楚如何有效地將在低分辨率下預訓練的模型轉換為更高分辨率的模型;
當圖像分辨率較高時,GPU 內存消耗也是一個問題。
為了解決上述問題,該團隊將 SwinTransformer 作為基線提出了幾種改進技術,具體表現在:
提出后歸一化(post normalization)技術和縮放余弦注意力(scaled cosine attention)方法,來提高大型視覺模型的穩定性;
提出 log-spaced 連續位置偏差技術,可有效地將在低分辨率圖像和窗口中預訓練的模型遷移到更高分辨率對應模型。
此外,該研究還介紹了關鍵實現細節,這些細節可顯著節省 GPU 內存消耗,使得常規 GPU 訓練大型視覺模型成為可能。使用這些技術和自監督預訓練,該團隊訓練了一個具有 30 億參數的 Swin Transformer 模型,并將其有效地遷移到高分辨率圖像或窗口的各種視覺任務中,在各種基準上實現了 SOTA 性能。
通過擴展容量和分辨率,Swin Transformer V2 在四個具有代表性的基準上刷新紀錄:在 ImageNet-V2 圖像分類任務上 top-1 準確率為 84.0%,COCO 目標檢測任務為 63.1 / 54.4 box / mask mAP,ADE20K 語義分割為 59.9 mIoU,Kinetics-400 視頻動作分類的 top-1 準確率為 86.8%。
部分刷榜截圖。圖源:https://paperswithcode.com/sota
?Swin Transformer V2
研究者觀察到 Swin Transformer 在擴展模型容量和窗口分辨率時存在以下兩個問題。
其一,擴展模型容量的不穩定問題。如下圖 2 所示,當我們將原始 Swin Transformer 模型從小到大擴展時,更深層的激活值急劇增加。具有最高和最低振幅的層之間的偏差達到了 10^4 的極值。
當我們進一步將其擴展到一個巨大的規模(6.58 億參數)時,Swin Transformer 無法完成訓練,如下圖 3 所示。
其二,跨窗口分辨率遷移模型時性能下降。如下表 1 第一行所示,當我們通過雙三次插值方法,在更大的圖像分辨率和窗口大小直接測試預訓練 ImageNet-1K 模型(分辨率 256 × 256,窗口大小 8 × 8)的準確率時,發現準確率顯著下降。這可能值得去重新檢查原始 Swin Transformer 中的相對位置偏差方法。
擴展模型容量
在本節內容中,研究者介紹了上述兩個問題的解決方法,包括如下:
使用后歸一化和縮放余弦注意力解決不穩定性問題;
使用 log-spaced 連續位置偏差方法解決跨窗口分辨率遷移問題。
一方面,為了緩解擴展模型容量時的不穩定問題,研究者使用了后歸一化方法,如下圖 1 所示。在這種方法中,每個殘差塊的輸出在合并回主分支之前被歸一化,并且當層數越深時,主分支的振幅不會積聚。
又如上圖 2 所示,這種方法的激活幅度變得比原始預歸一化配置溫和得多。在研究者最大的模型訓練中,他們每 6 個 Transformer 塊都會在主分支上額外引入一個層歸一化單元,以進一步穩定訓練和振幅。
另一方面,在原始的自注意力計算中,像素對的相似項被計算為查詢向量和關鍵向量的點積。研究者發現將這種方法用于大型視覺模型時,特別是在 post-norm 配置中,一些塊和頭部學得的注意力圖經常由幾個像素對主導。為了緩解這個問題,他們提出了一種縮放余弦注意力方法,它通過縮放余弦函數計算像素對 i 和 j 的注意力對數:
擴展窗口分辨率
在本節中,研究者介紹了一種 log-spaced 連續位置偏差方法,以使得相對位置偏差可以在窗口分辨率之間平滑地遷移。連續位置偏差方法不是直接優化參數化偏差,而是在相對坐標上引入一個小的元(meta)網絡:
元網絡為任意相對坐標生成偏差值,因此可以自然地遷移到具有任意變化窗口大小的微調任務。對于推理任務,每個相對位置的偏差值可以預先計算并存儲為模型參數,這樣在推理時與原始參數化偏差方法一樣方便。
當在變化很大的窗口大小之間遷移時,將有很大一部分相對坐標范圍需要外推。為了緩解這個問題,研究者提出使用 log-spaced 坐標替代原始 linear-spaced 坐標:
節省 GPU 內存的實現
另一個問題在于當容量和分辨率都很大時,常規實現的 GPU 內存消耗難以承受。為了解決內存問題,研究者采用以下幾種實現方法:
零冗余優化器(Zero-Redundancy Optimizer, ZeRO)
激活檢查點(Activation check-pointing)
順序自注意力計算(Sequential self-attention computation)
通過這些實現,研究者成功地使用 Nvidia A100-40G GPU 訓練了一個 3B(30 億參數) 模型,既可以用于輸入圖像分辨率為 1,536×1,536 的 COCO 目標檢測,也可用于輸入分辨率為 320 × 320 × 8 的 Kinetics-400 動作分類。
實驗結果
該團隊在 ImageNet-1K 圖像分類(V1 和 V2)、COCO 目標檢測和 ADE20K 語義分割進行了實驗。此外,對于 30 億參數模型實驗,該研究還報告了 Swin Transformer V2 在 Kinetics400 視頻動作識別上的準確率 。
SwinV2-G 實驗設置:預訓練采用 192×192 圖像分辨率,以節省訓練成本,實驗采用 2-step 預訓練方法:首先,在 ImageNet-22K-ext 數據集上使用自監督方法對模型進行 20epoch 的預訓練。其次,在 ImageNet-1K V1 和 V2 分類任務上,繼續將模型進行 30epoch 預訓練。
ImageNet-1K 圖像分類結果:表 2 將 SwinV2-G 模型與之前在 ImageNet-1K V1 和 V2 分類任務上的最大 / 最佳視覺模型進行了比較。SwinV2-G 是之前所有密集(dense)視覺模型中最大的。它在 ImageNet V2 基準測試中達到了 84.0% 的 top-1 準確率,比之前最好的 ViT-G (83.3%) 高 0.7%。但是,SwinV2-G 在 ImageNet-1K V1 上的準確率比 CoAtNet-7 略低(90.17% 比 90.88%)。
COCO 目標檢測結果:表 3 將 SwinV2-G 模型與之前在 COCO 目標檢測和實例分割任務上取得最佳性能模型進行了比較。SwinV2-G 在 COCO test-dev 上實現了 63.1/54.4 box/max AP,比 SoftTeacher(61.3/53.0) 提高了 + 1.8/1.4。這表明擴展視覺模型有利于目標檢測任務中的密集視覺識別任務。
ADE20K 語義分割結果:下表 4 將 SwinV2-G 模型與之前在 ADE20K 語義分割基準上的 SOTA 結果進行了比較。Swin-V2-G 在 ADE20K val 集上實現了 59.9 mIoU,比之前的 SOTA 結果(BEiT)58.4 高了 1.5。這表明擴展視覺模型有益于像素級視覺識別任務。在測試時使用更大的窗口大小還可以帶來 +0.2 的增益,這可能歸功于有效的 Log-spaced CPB 方法。
Kinetics-400 視頻動作分類結果:下表 5 將 SwinV2-G 模型與之前在 Kinetics-400 動作分類基準上的 SOTA 結果進行了比較??梢钥吹?#xff0c;Video-SwinV2-G 實現了 86.8% 的 top-1 準確率,比之前的 SOTA (TokenLearner)85.4% 高出 +1.4%。這表明擴展視覺模型也有益于視頻識別任務。在這種場景下,在測試時使用更大的窗口大小也可以帶來額外增益 ( +0.2% ),這也要歸功于有效的 Log-spaced CPB 方法。
post-norm 和縮放余弦注意力的消融實驗:下表 6 展示了 post-norm 和縮放余弦注意力方法應用于原始 Swin Transformer 方法的性能表現??梢钥吹?#xff0c;這兩種方法都提高了 Swin-Tiny、Swin-Small 和 Swin-Base size 的準確率,整體提升分別為 +0.2%、+0.4% 和 +0.5%,表明它們對更大的模型更有益。
特別鳴謝
感謝 TCCI 天橋腦科學研究院對于 PaperWeekly 的支持。TCCI 關注大腦探知、大腦功能和大腦健康。
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析、科研心得或競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
📝?稿件基本要求:
? 文章確系個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發送,要求圖片清晰,無版權問題
? PaperWeekly 尊重原作者署名權,并將為每篇被采納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
📬?投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請備注即時聯系方式(微信),以便我們在稿件選用的第一時間聯系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長按添加PaperWeekly小編
🔍
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
·
總結
以上是生活随笔為你收集整理的Swin Transformer升级版来了!30亿参数,刷榜多项视觉任务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑显示没装驱动怎么办 电脑显示器无法正
- 下一篇: 打印机脱机无法打印怎么处理 打印机失联了