Five reasons to embrace Transformer in computer vision/在计算机视觉领域拥抱Transformer的5条理由
翻譯自微軟亞洲研究院官網文章Five reasons to embrace Transformer in computer vision 2021.12.5
人工智能的統一建模故事
“大一統模型”是許多學科的共同目標。例如,在物理學領域,科學家長期以來一直在追求大一統理論,這是一種可以用來解釋不同力之間相互作用的單一理論。人工智能領域也有類似的“統一”目標。在當前的深度學習浪潮中,我們朝著實現團結的目標邁出了一大步。例如,對于新的人工智能任務,我們通常遵循相同的過程:收集數據、標記數據、定義網絡架構,以及訓練網絡參數。然而,在不同的人工智能子領域中,基本建模方法各不相同,也不統一。在自然語言處理(NLP)中,當前占主導地位的建模網絡是Transformer;在計算機視覺(CV)中,很長一段時間以來,主要的結構是卷積神經網絡(CNN);在社會計算領域,占主導地位的架構是圖形網絡;等等
然而,自去年年底Transformer開始展示各種計算機視覺任務的革命性性能改進以來,情況發生了變化。這表明CV和NLP建模可能在Transformer架構下實現統一。這種趨勢對這兩個領域都非常有益:1)它可以促進視覺和文本信號的聯合建模;2) 它可以在這兩個領域之間更好地共享建模知識,從而加快這兩個領域的進展。
Transformer在視覺任務中的出色表現
Vision Transformer的開創性工作是ViT[1],由谷歌在ICLR2021上發布。它將圖像劃分為塊(例如,16×16像素),并在NLP中將其視為“tokens”。然后對這些“tokens”應用標準Transformer encoder,并根據“CLS”token的輸出特征對圖像進行分類。使用大量的預訓練數據,即谷歌內部的3億圖像分類數據集JFT-300M,它在ImageNet-1K驗證集上實現了最高精度88.55%,創下了該基準測試的新紀錄。
VIT以簡單而直接的方式在圖像上應用Transformer,因為它不仔細考慮視覺信號的特性,它主要用于圖像分類任務。Transformer在其他粒度級別的任務上的能力仍然未知,學術界為此開展了大量工作。在這些努力中,Swin Transformer[2]顯著刷新了之前關于對象檢測和語義分割基準的記錄,讓社區更加相信Transformer結構將成為視覺建模的新主流。具體來說,在重要的目標檢測基準COCO上,Swin Transformer獲得了58.7個box AP和51.1個mask AP,分別比之前的最佳單模型方法高2.7和2.6個點。幾個月后,通過改進檢測框架和更好地利用數據,該基準的性能精度進一步提高到61.3 box AP和53.0 mask AP。Swin Transformer在語義切分的重要評估基準ADE20K上也取得了顯著的性能改進,達到了5350萬,比之前的最佳方法高出320萬。在幾個月內,準確度進一步提高到5700萬。
除了在目標檢測和語義分割任務方面表現出色外,基于Swin Transformer的方法在許多視覺任務中也表現出了強大的性能,包括視頻運動識別[3]、視覺自監督學習[4][5]、圖像恢復[6]、行人識別[7]、醫學圖像分割[8]等。
Swin Transformer的主要思想很簡單:將建模功能強大的Transformer架構與幾個重要的視覺信號優先級結合起來。這些先驗包括層次性、局部性和平移不變性。Swin Transformer的一個重要設計是移位的非重疊窗口,與傳統的滑動窗口不同,該窗口對硬件更友好,可以提高實際運行速度。如下圖左側所示,在滑動窗口設計中,不同的點使用不同的鄰域窗口來計算關系,這對硬件不友好。如右圖所示,在Swin Transformer使用的非重疊窗口中,同一窗口內的點是使用相同的鄰域計算的,速度更友好。實際速度測試表明,非重疊窗口法的速度大約是滑動窗口法的兩倍。此外,移位是在兩個連續的層中進行的。在L層,窗口分割從圖像的左上角開始,在L-1層,窗口分割將半個窗口向下和向右移動。這種設計確保了窗口之間不重疊的信息交換。
在過去的半年里,學術界涌現出了許多Vision Transformer的變體,包括DeiT[9]、LocalViT[10]、Twins[11]、PvT[12]、T2T ViT[13]、ViL[14]、CvT[15]、CSwin[16]、Focal Transformer[17]、Shuffle Transformer[18]等。
在計算機視覺中擁抱Transformer的五個理由
除了刷新許多視覺任務的性能記錄外,與以前的CNN體系結構相比,Vision Transformer還顯示了許多優點。事實上,在過去的四年里,學者們一直在利用Transformer在計算機視覺中的優勢,這可以概括為五個方面,如下圖所示。
原因1:通用建模功能
Transformer的通用建模能力來自兩個方面。一方面,Transformer可以被視為在圖上運行。圖是完全連接的,節點之間的關系是以數據驅動的方式學習的。Transformer建模的用途非常廣泛,因為任何概念,無論是具體的還是抽象的,都可以用圖中的節點來表示,概念之間的關系可以用圖的邊來表示。
另一方面,Transformer在通過驗證原理建立圖節點之間的關系方面具有良好的通用性:無論節點多么異構,都可以通過將它們投影到對齊的空間來計算相似性來建立它們的關系。如下圖右側所示,圖形節點可以是不同比例的圖像塊,也可以是“player”等文本輸入,Transformer可以很好地描述這些異構節點之間的關系。
可能是因為這種多功能建模能力,Transformer及其所依賴的注意力單元可以應用于各種各樣的視覺任務。具體來說,計算機視覺主要涉及兩個基本的粒度元素:像素和目標,因此計算機視覺任務主要涉及這些基本元素之間的三種關系:像素到像素、目標到像素和目標到目標。以前,前兩種關系類型主要分別通過卷積和ROIAllign實現,而最后一種關系在建模時往往被忽略。然而,Transformer中的注意單元可以應用于所有三種基本的關系建模類型,因為它具有通用的建模能力。近年來,在這一領域有很多代表性的工作,包括:1)非局部網絡[19],其中王曉龍等人使用注意單元來建模像素到像素的關系,并證明注意單元可以幫助完成視頻動作分類和目標檢測等任務,袁宇輝等人將其應用于語義分割,實現顯著的性能改進[20];2) 目標關系網絡[21],其中注意單元被用于目標檢測中的目標關系建模,該模塊也被廣泛用于視頻目標分析[22,23,24];3) 建模目標和像素之間的關系,典型作品包括DETR[25]、Learn Region Feat[26]、RelationNet++[27]等。
原因2:卷積互補
卷積是一種局部操作,卷積層通常只模擬鄰域像素之間的關系。Transformer是一個全局操作,Transformer層可以模擬所有像素之間的關系。這兩個層次的類型互補性很好。非局部網絡是第一個利用這種互補性的網絡[19],在原始卷積網絡的幾個地方插入少量Transformer 自我注意單元作為補充。這在解決目標檢測、語義分割和視頻動作識別中的視覺問題方面已被廣泛證明是有效的。
從那時起,還發現非局部網絡很難真正學習計算機視覺中像素和像素之間的二階成對關系[28]。為了解決這個問題,已經為這個模型提出了一些改進,例如分離非本地網絡(DNL)[29]。
原因3:更強的建模能力
卷積可以被認為是一種模板匹配方法,在圖像的不同位置使用相同的模板過濾。Transformer中的注意力單元是一個自適應濾波器,濾波器權重由兩個像素的可組合性決定。這種類型的計算模塊具有更強的建模能力。
本地關系網絡(LR-Net)[30]和SASA[31]是將Transformer作為自適應計算模塊應用于視覺骨干網的第一種方法。它們都將自我注意力計算限制在一個局部滑動窗口內,并且在使用相同的理論計算預算時比ResNet獲得了更好的精度。然而,雖然計算復雜度在理論上與ResNet相同,但LR-Net在實際應用中要慢得多。主要原因之一是不同的查詢使用不同的鍵集,這使得它對內存訪問不那么友好,如圖2左側所示。
Swin Transformer提出了一種新的本地窗口設計,稱為移位窗口。這種局部窗口方法將圖像劃分為非重疊窗口,以便在同一窗口內,不同查詢使用的密鑰集合相同,從而提高實際計算速度。在下一層中,窗口配置向下和向右移動半個窗口,在上一層不同窗口的像素之間建立連接。
原因4:對模型和數據大小的可擴展性
在NLP領域,Transformer模型在大模型和大數據方面表現出了極大的可擴展性。在下圖中,藍色曲線顯示NLP中的模型尺寸近年來快速增長,我們都見證了大型模型的強大功能,如微軟的圖靈模型、谷歌的T5模型和OpenAI的GPT-3模型。
Vision Transformer的出現也為視覺模型的發展提供了重要的基礎。最大的視覺模型是谷歌的ViT MoE模型,它有150億個參數。這些大型模型在ImageNet-1K分類上創造了新記錄。
理由5:視覺和語言的更好結合
在以前的視覺問題中,我們通常只處理幾十個或數百個對象類別。例如,COCO對象檢測任務包含80個對象類別,而ADE20K語義分割任務包含150個類別。視覺轉換器模型的發明和發展使視覺和NLP領域彼此更加接近,這有助于將視覺和NLP建模聯系起來,并將視覺任務與語言中涉及的所有語義聯系起來。這方面的開創性工作包括OpenAI的CLIP[33]和DALL-E[34]。
考慮到上述優勢,我們相信視覺轉換器將開啟計算機視覺建模的新時代,我們期待著與學者和行業研究人員合作,進一步探索這種新建模方法給視覺領域帶來的機遇和挑戰。
Reference
[1] Alexey Dosovitskiy, Lucas Beyer, Alexander Kolesnikov, Dirk Weissenborn, Xiaohua Zhai, Thomas Unterthiner, Mostafa Dehghani, Matthias Minderer, Georg Heigold, Sylvain Gelly, Jakob Uszkoreit, Neil Houlsby. An Image is Worth 16×16 Words: Transformers for Image Recognition at Scale. ICLR 2021
[2] Ze Liu, Yutong Lin, Yue Cao, Han Hu, Yixuan Wei, Zheng Zhang, Stephen Lin, Baining Guo. Swin Transformer: Hierarchical Vision Transformer using Shifted Windows. ICCV 2021
[3] Ze Liu, Jia Ning, Yue Cao, Yixuan Wei, Zheng Zhang, Stephen Lin, Han Hu. Video Swin Transformer. Tech report 2021
[4] Zhenda Xie, Yutong Lin, Zhuliang Yao, Zheng Zhang, Qi Dai, Yue Cao, Han Hu. Self-Supervised Learning with Swin Transformers. Tech report 2021
[5] Chunyuan Li, Jianwei Yang, Pengchuan Zhang, Mei Gao, Bin Xiao, Xiyang Dai, Lu Yuan, Jianfeng Gao. Efficient Self-supervised Vision Transformers for Representation Learning. Tech report 2021
[6] Jingyun Liang, Jiezhang Cao, Guolei Sun, Kai Zhang, Luc Van Gool, Radu Timofte. SwinIR: Image Restoration Using Swin Transformer. Tech report 2021
[7] https://github.com/layumi/Person_reID_baseline_pytorch
[8] Hu Cao, Yueyue Wang, Joy Chen, Dongsheng Jiang, Xiaopeng Zhang, Qi Tian, Manning Wang. Swin-Unet: Unet-like Pure Transformer for Medical Image Segmentation. Tech report 2021
[9] Hugo Touvron, Matthieu Cord, Matthijs Douze, Francisco Massa, Alexandre Sablayrolles, Hervé Jégou. Training data-efficient image transformers & distillation through attention. Tech report 2021
[10] Yawei Li, Kai Zhang, Jiezhang Cao, Radu Timofte, Luc Van Gool. LocalViT: Bringing Locality to Vision Transformers. Tech report 2021
[11] Xiangxiang Chu, Zhi Tian, Yuqing Wang, Bo Zhang, Haibing Ren, Xiaolin Wei, Huaxia Xia, Chunhua Shen. Twins: Revisiting the Design of Spatial Attention in Vision Transformers. Tech report 2021
[12] Wenhai Wang, Enze Xie, Xiang Li, Deng-Ping Fan, Kaitao Song, Ding Liang, Tong Lu, Ping Luo, Ling Shao. Pyramid Vision Transformer: A Versatile Backbone for Dense Prediction without Convolutions. ICCV 2021
[13] Li Yuan, Yunpeng Chen, Tao Wang, Weihao Yu, Yujun Shi, Zihang Jiang, Francis EH Tay, Jiashi Feng, Shuicheng Yan. Tokens-to-Token ViT: Training Vision Transformers from Scratch on ImageNet. Tech report 2021
[14] Pengchuan Zhang, Xiyang Dai, Jianwei Yang, Bin Xiao, Lu Yuan, Lei Zhang, Jianfeng Gao. Multi-Scale Vision Longformer: A New Vision Transformer for High-Resolution Image Encoding. Tech report 2021
[15] Haiping Wu, Bin Xiao, Noel Codella, Mengchen Liu, Xiyang Dai, Lu Yuan, Lei Zhang. CvT: Introducing Convolutions to Vision Transformers. ICCV 2021
[16] Xiaoyi Dong, Jianmin Bao, Dongdong Chen, Weiming Zhang, Nenghai Yu, Lu Yuan, Dong Chen, Baining Guo. CSWin Transformer: A General Vision Transformer Backbone with Cross-Shaped Windows. Tech report 2021
[17] Jianwei Yang, Chunyuan Li, Pengchuan Zhang, Xiyang Dai, Bin Xiao, Lu Yuan, Jianfeng Gao. Focal Self-attention for Local-Global Interactions in Vision Transformers. Tech report 2021
[18] Zilong Huang, Youcheng Ben, Guozhong Luo, Pei Cheng, Gang Yu, Bin Fu. Shuffle Transformer: Rethinking Spatial Shuffle for Vision Transformer. Tech report 2021
[19] Xiaolong Wang, Ross Girshick, Abhinav Gupta, Kaiming He. Non-local Neural Networks. CVPR 2018
[20] Yuhui Yuan, Lang Huang, Jianyuan Guo, Chao Zhang, Xilin Chen, Jingdong Wang. OCNet: Object Context for Semantic Segmentation. IJCV 2021
[21] Han Hu, Jiayuan Gu, Zheng Zhang, Jifeng Dai, Yichen Wei. Relation Networks for Object Detection. CVPR 2018
[22] Jiarui Xu, Yue Cao, Zheng Zhang, Han Hu. Spatial-Temporal Relation Networks for Multi-Object Tracking. ICCV 2019
[23] Yihong Chen, Yue Cao, Han Hu, Liwei Wang. Memory Enhanced Global-Local Aggregation for Video Object Detection. CVPR 2020
[24] Jiajun Deng, Yingwei Pan, Ting Yao, Wengang Zhou, Houqiang Li, and Tao Mei. Relation distillation networks for video object detection. ICCV 2019
[25] Nicolas Carion, Francisco Massa, Gabriel Synnaeve, Nicolas Usunier, Alexander Kirillov, Sergey Zagoruyko. End-to-End Object Detection with Transformers. ECCV 2020
[26] Jiayuan Gu, Han Hu, Liwei Wang, Yichen Wei, Jifeng Dai. Learning Region Features for Object Detection. ECCV 2018
[27] Cheng Chi, Fangyun Wei, Han Hu. RelationNet++: Bridging Visual Representations for Object Detection via Transformer Decoder. NeurIPS 2020
[28] Yue Cao, Jiarui Xu, Stephen Lin, Fangyun Wei, Han Hu. GCNet: Non-local Networks Meet Squeeze-Excitation Networks and Beyond. ICCV workshop 2019
[29] Minghao Yin, Zhuliang Yao, Yue Cao, Xiu Li, Zheng Zhang, Stephen Lin, Han Hu. Disentangled Non-Local Neural Networks. ECCV 2020
[30] Han Hu, Zheng Zhang, Zhenda Xie, Stephen Lin. Local Relation Networks for Image Recognition. ICCV 2019
[31] Prajit Ramachandran, Niki Parmar, Ashish Vaswani, Irwan Bello, Anselm Levskaya, Jonathon Shlens. Stand-Alone Self-Attention in Vision Models. NeurIPS 2019
[32] Carlos Riquelme, Joan Puigcerver, Basil Mustafa, Maxim Neumann, Rodolphe Jenatton, André Susano Pinto, Daniel Keysers, Neil Houlsby. Scaling Vision with Sparse Mixture of Experts. Tech report 2021
[33] Alec Radford, Jong Wook Kim, Chris Hallacy, Aditya Ramesh, Gabriel Goh, Sandhini Agarwal, Girish Sastry, Amanda Askell, Pamela Mishkin, Jack Clark, Gretchen Krueger, Ilya Sutskever. Learning Transferable Visual Models from Natural Language Supervision. Tech report 2021
[34] Aditya Ramesh, Mikhail Pavlov, Gabriel Goh, Scott Gray, Chelsea Voss, Alec Radford, Mark Chen, Ilya Sutskever. Zero-Shot Text-to-Image Generation. Tech report 2021
總結
以上是生活随笔為你收集整理的Five reasons to embrace Transformer in computer vision/在计算机视觉领域拥抱Transformer的5条理由的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TED演讲字幕下载脚本的使用方法
- 下一篇: Flask从入门到放弃(介绍、模版语法案