淺談視覺Transformer技術
1.標準Transformer
2.視覺Transformer
標準Transformer編碼器的輸入是一維embedding,為了能將該編碼器應用于圖像任務,將尺寸為(H,W,C)的圖像切分成尺寸為(P,P,C)的圖像塊,一共得到 個圖像塊,reshape后得到尺寸為(
,
的輸入embedding,這系列操作將2維圖像數(shù)據(jù)轉為1維,使得標準Transformer編碼器能對其進行處理,編碼后將特征送入MLP模塊進行分類,這就是標準的ViT(Vision Transformer),ViT在大型數(shù)據(jù)集上預訓練,針對較小的下游任務作微調訓練。在ImageNet數(shù)據(jù)集上取得了88.55% Top-1的準確率,超越了ResNet系列模型,打破了CNN(卷積神經(jīng)網(wǎng)絡)在視覺任務上的壟斷,相較于CNN具有更強泛化能力。但是,該模型在小規(guī)模數(shù)據(jù)集的表現(xiàn)不如CNN,并且隨著圖像尺寸的增加,Vision Transformer的計算量會成指數(shù)倍的增長,于是有2種流派來提升Vision Transformer的效果。
一種是改良派,該流派認為Transformer缺少CNN的歸納偏置(平移不變性,局部相關性),改良Transformer編碼器結構,在其中加入圖像任務的歸納偏置。標準的ViT模型的輸出特征是扁平的,其尺寸為輸入圖像尺寸的1/16,這種維度的特征對于分類任務是可以接受的,對于檢測或者分割任務通常需要{1/4,1/8,1/16,1/32}尺度的特征,而大尺度的特征圖也會極大增加Self-Attention模塊的計算量,所以必須在引入多尺度特征的同時降低計算量。Pyramid Vision Transformer(PVT)[3]提出了Spatial-Reduction Attention(SRA)層,如下圖左SRA與MHA一樣接收query Q、key K和value V作為輸入,不同之處在于SRA在attention操作之前降低了K和V的特征維度,這可以將計算和內(nèi)存的開銷減少為之前的
另一種是大模型派,在NLP領域,模型越大,模型對于零樣本和少樣本任務的能力越強。增加ViT模型的參數(shù)規(guī)模和訓練數(shù)據(jù),再結合自監(jiān)督訓練,也能提升各種下游任務的表現(xiàn)。ViT比CNN需要更多的訓練數(shù)據(jù),自監(jiān)督學習的設計顯得尤為重要。BEiT-3[5]模型架構基于40層的ViT-Giant組成,如下圖左模型共包含19億個參數(shù)。在預訓練數(shù)據(jù)上,BEiT-3 在單模態(tài)(即圖像與文本)和多模態(tài)數(shù)據(jù)(即圖像-文本對)上通過統(tǒng)一的掩碼-預測任務進行 BEiT-3 預訓練。預訓練期間,會隨機掩蓋一定百分比的文本字符或像素塊,模型通過被訓練恢復掩蓋的文本字符或其視覺符號,來學習不同模態(tài)的表示及不同模態(tài)間的對齊,BEiT-3在分類、檢測、分割多個基準上刷新了記錄。22年12月智源開源了簡單又強大的視覺基礎模型EVA[6],將最強語義學習與最強幾何結構學習相結合,在ImageNet分類、COCO檢測分割、Kinetics視頻分類等廣泛的視覺感知任務中取得當前最強性能。EVA,如下圖右將ViT規(guī)模擴大到十億參數(shù)(1-Billion)ViT-Giant進行訓練,CLIP[7]模型輸入為完整的圖像,而EVA模型的輸入為有遮蓋的圖像,訓練過程是讓EVA模型遮蓋部分的輸出去重構CLIP模型對應位置的輸出。
3.總結
ViT技術使得目標檢測、圖像識別、自動駕駛等領域都得到了質的飛躍,通過在預訓練ViT基礎上微調下游任務,企業(yè)可以快速地將AI技術應用到實際生產(chǎn)和業(yè)務中,創(chuàng)造出更多的商業(yè)價值。筆者在微調ViT-Giant檢測模型時發(fā)現(xiàn),batchszie設置為1時顯存達到25GB以上,P40(22GB)顯卡已經(jīng)無法容納微調訓練,只能將代碼及數(shù)據(jù)遷移至V100云主機得以繼續(xù)訓練,大型ViT的預訓練則需要更大的算力,這導致只有擁有大量算力的資源和數(shù)據(jù)的企業(yè)才能夠開發(fā)和應用大型ViT模型,從而加深產(chǎn)業(yè)的技術壁壘。ViT技術給AI產(chǎn)業(yè)帶來了巨大的影響,其影響將持續(xù)深遠。
參考文獻
[1]Attention is all you need
[2]AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE
[3]Pyramid Vision Transformer: A Versatile Backbone for Dense Prediction without Convolutions
[4]Swin Transformer: Hierarchical Vision Transformer using Shifted Windows
[5]Image as a Foreign Language: BEIT Pretraining for All Vision and Vision-Language Tasks
[6]EVA: Exploring the Limits of Masked Visual Representation Learning at Scale
[7]Contrastive Language-Image Pre-Training
