Transformer最初應用於自然語言處理(NLP)任務,並帶來了顯著的進步。例如,「Attention is all you need」首先提出了僅基於注意力機制的用於機器翻譯和英語選區解析任務的Transformer。BERT通過共同在左和右上下文進行條件預處理,以通過未標記文本訓練Transformer,BERT在當時的11個NLP任務上獲得了SOTA。OpenAI在45TB數據上預訓練了基於巨型Transformer的GPT-3模型,該模型具有1,750億個參數,並且無需微調即可在各種類型的下游自然語言任務上實現出色的性能。這些基於Transformer的模型都顯示了強大的表示能力。受此啟發,最近人們開始將Transformer擴展到電腦視覺(CV)任務。CNN曾經是電腦視覺網路架構的基本組成部分,但Transformer顯示出了替代CNN的潛力。iGPT訓練序列Transformer來自回歸地預測像素,並在影像分類任務上與CNN取得相近結果。ViT將純Transformer直接應用於影像修補程式序列,並在多個影像識別基準上獲得了SOTA。除了基本的影像分類,Transformer還被用於解決更多的電腦視覺問題,例如目標檢測、語義分割、影像處理和影片理解,並且都得到了出色的結果。基於Transformer的視覺模型如雨後春筍般冒起,下表按照應用場景對視覺Transformer模型進行了分類。視覺Transformer的代表性工作。其中主要的研究主題包括基本影像分類、高級視覺、低級視覺和影片處理。高級視覺處理是指對影像關鍵內容的標記,例如目標檢測、語義分割和車道檢測。人們已經提出了許多用於解決高級視覺任務的Transformer模型,例如DETR、deformable DETR用於目標檢測,以及Max-DeepLab用於語義分割。低級影像處理的典型應用包括超解析度、影像去噪和風格遷移。在這個領域很少使用到Transformer,不過近期華為諾亞、北大等在論文「Pre-Trained Image Processing Transformer」中提出了IPT模型,在降噪、去雨、超分等底層視覺任務上刷榜,再次刷新人們認知。此外,由於影片的順序特性,Transformer可以自然地應用於影片。與傳統的CNN或RNN相比,Transformer開始在這些任務上顯示出具有競爭力的性能。下圖展示了視覺Transformer關鍵工作的時間表,相信未來會有越來越多的優秀工作將被刻在里程碑上。Transformer的里程碑,視覺Transformer模型為紅色。那麼,Transformer能取代CNN的秘密在哪裡呢? 2
不一定要完全替代CNN
CNN由於可以搭配GPU進行有效的並行卷積計算而獲得了無數成功。此外,CNN也具有平移不變性和局部敏感性的歸納偏置。但是,後者也決定了卷積神經網路只能關注局部資訊的網路結構。它的這種電腦制導致了它在文本資訊處理上難以捕捉和存儲長距離的依賴資訊,也就是缺乏對數據本身的整體把握。人們一方面想擴大卷積核、增加通道數來捕捉長期依賴,一方面還害怕由於擴大模型所導致的維度災難。相比之下,Transformer背後的Self Attention除了兼具並行計算的優點,還能挖掘長距離依賴,不受優先考慮局部相互作用的歸納偏置的限制,從而具有很強的表達性。此外,由於不存在這種限制,自注意力機制還能根據任務目標和自注意力層的位置來學習最合適的歸納偏置。在「ON THE RELATIONSHIP BETWEEN SELF-ATTENTION AND CONVOLUTIONAL LAYERS」這篇發表在ICLR 2020的論文中,作者提出了理論和經驗證據,表明自注意力層可以(並且確實)像卷積層那樣起作用: