
©作者 |侯志
當前的深度神經網絡儘管已經取得了巨大的成功,但仍然面臨着來自於數據稀缺的各種挑戰,比如數據不平衡,零樣本分布,域適應等等。當前已經有各種方法通過樣本之間的關係去針對這些問題。然而這些方法並沒有去挖掘內在的網絡結構來使網絡模型建模關係。受這些啟發,我們提出了一個使網絡能夠從訓練批次(min-batch)中學習樣本關係的簡單有效並且即插即用 Transformer 模塊,Batch TransFormer(BatchFormer)。具體地,BatchFormer 應用於每個訓練批次數據的batch維度來隱式地探索樣本關係。BatchFormer 使每個批量的樣本間能夠互相促進學習,比方說,在長尾識別中,利用頻繁類別數據促進稀有類別的樣本的學習。更進一步地,由於在訓練的時候在 batch 維度引用了 Transformer,訓練和測試的數據分布不再一致了。因此我們提出一種共享分類器的策略,來消除在訓練和測試的分布偏差從而達到 Batch 不變學習,進而使我們在測試的時候能夠移除 BatchFormer。這種共享策略使 BatchFormer 在測試時不增加任何計算負載。不需要任何額外的策略,BatchFormer 在 10 多個數據集上面展示了穩定的提升,包括了長尾分布,組合零樣本學習,領域泛化,領域適應,對比學習。最後但是更重要的,基於 DETR,我們進一步將 BatchFormer 擴展到像素級別的任務上面,包括目標檢測,全景分割,圖像分類。改進版的 BatchFormer 能夠即插即用於 DETR, Deformable DETR, Conditional DETR, SMCA, DeiT。
論文標題:
BatchFormer: Learning to Explore Sample Relationships for Robust Representation Learning
CVPR 2022
https://arxiv.org/pdf/2203.01522.pdf (CVPR 2022)
https://arxiv.org/pdf/2204.01254.pdf (V2)
https://github.com/zhihou7/BatchFormer
介紹
儘管深度學習已經取得了巨大的成功,但是它嚴重依賴於大量的數據。對大量訓練數據的依賴限制了深度模型的實際應用。因此,怎麼改善深度模型在數據稀缺的場景下的泛化能力受到了廣泛的關注,比如長尾學習,少樣本學習,零樣本學習,領域泛化。儘管這樣,當前仍然缺乏一種簡單,統一的探索樣本關係的框架來針對各種樣本稀缺的問題。一個直觀的例子可以見圖 1,我們可以利用不同樣本的相似性和共享的 part 來改善網絡的泛化。

▲ 圖1:樣本關係的示例.鳥和雞具有形狀上的相似性。並且他們共享着兩條腿的特性。
儘管沒有單獨地闡述樣本關係,最近的工作已經內在地探索了樣本關係通過約束或者知識遷移。一些常見的例子是 mixup [3],copy-paste [4],crossgrad [5] 和組合學習 [6]。這些方法內在地利用樣本間存在相似關係和共享部分的關係來增強數據約束模型。另外一種方式是知識遷移,比如說 1)在頻繁類別和稀有類別之間 [7],2)從已見類別到未見 [8],3)已知域和未知域 [9]. 然而這些方法是從網絡的輸入或者輸出來探索關係,沒有設計網絡內部結構來學習到樣本關係,更沒有在 batch 維度進行數據的協同學習。在這篇文章,我們介紹一種網絡模塊作用到 Batch 維度上去探索樣本關係。然而,訓練和測試的不一致(測試的時候,不會總有一個樣本)使網絡並不容易在 batch 維度學習到樣本關係。因為我們在測試的時候,經常會遇到沒有 batch 的數據。一個經典的例子是 Batch Normalization。Batch Normalization 總是保留着 mini-batch 統計出的均值和方差,來歸一化測試樣本。另外一種方式是使用特徵的 memory bank 來保留類別的中心,這樣來幫助判別稀有和零樣本類別. 不同於以上的方式,我們介紹一種全新的簡單有效的模塊來通過利用結構的優勢探索樣本關係對於表示學習的幫助。具體地,我們嘗試在 batch 維度上面引入 Transformer 結構來建模樣本關係。在這裡,我們主要啟發與圖結構,沒有 positional embedding 時,Transformer 也可以看做是一個全連接圖網絡。我們把這種模塊稱為 Batch Transformer 或者 BatchFormer。在實現中,我們在分類器和特徵提取器之間插入 BatchFormer。此外,為了減少測試和訓練的偏移,不同於 Batch Normalization 和 Memory Feature Bank, 我們介紹了一種新的策略,共享分類器:我們在 BatchFormer 前後引入共享的分類器。相較於統計的均值方差和 Feature back,共享策略能夠讓我們在測試的時候不增加任何計算和內存的負載。儘管加入共享分類器可以使得網絡能夠有效地改善數據稀缺的分類問題。然而,對於pixel級別的任務來說,這並不非常適用。因此我們進一步將 BatchFormer 泛化到一般化的任務,像目標檢測和分割。我們將 BatchFormer 應用到一般的 Transformer 結構中,比如 DETR 和 DeiT,插入到兩層空間 Transformer 的中間,同時改進共享分類器為雙流結構來保證訓練和測試的 batch 不變性。我們把這個方法稱為 BatchFormerV2。一個簡單的比較 Channel Attention [10],Visual Transformer [11] 和 BatchFormer 可以如圖 2 所示。我們將 Attention 結構從通道和空間維度泛化到 batch 維度,展示了一種新的模型結構的可能。
▲ 圖2: Channel Attention在通道做attention,Visual Transformer在空間維度上面做attention,而我們的BatchFormer在Batch維度上面做attention。
簡而言之,我們介紹了一種簡單有效的針對數據稀缺的 Transformer 模塊,取名為 BatchFormer。我們在超過 10 個數據稀缺數據,5 個任務上面展示了方法的有效性。更進一步,我們提出一個 BatchFormerV2 版本,將 BatchFormer 泛化到一般的目標檢測和分割任務上面,即插即用地顯著改善了 DETR,Deformable-DETR,Conditional DETR,SMCA 的效果。
方法
2.1 BatchFormer
BatchFormer 是一個即插即用的模塊,通過探索樣本關係對促進表示學習。如圖 3 所示,我們在特徵提取器後面插入 TransFormer 模塊。特別地,我們的 Transformer 是沿着 batch dimension, 也就是說我們把整個 batch 看做一個 sequence。在這裡,我們移除了 Transformer 的 positional embedding 以達到位置的不變性學習。
與此同時,我們在 Transformer 前後都加入了一個分類器,注意,這兩個分類器是共享的,通過這個共享分類器,使得我們能夠保持訓練和測試的 batch 不變性。

▲ 圖3:模塊示意圖,我們在分類器前一層插入一個Transformer Encoder模塊。該模塊作用於Batch維度,而不是空間維度。同時在Transformer前後共享分類器。
BatchFormer 可以通過簡單的幾行代碼實現,如下圖所示:
2.2 BatchFormerV2
我們將 BatchFormer 泛化為一個更通用的模塊,來促進一般的計算機視覺任務,比如目標檢測和分割,圖像分類。具體的,我們將 BatchFormer 插入到兩層 Visual Transformer 之間,在每個空間的像素點上面進行 Batch Transformer 操作.同時我們將每個空間位置上面的 BatchFormer 共享,如下圖所示。

▲ 圖4:BatchFormerV2空間維度共享圖同時,我們介紹了一種新的雙分支模式,從 BatchFormer 前開始,將每個 Batch 複製一份,讓一份 batch 的數據傳入原有的網絡模塊中,讓另外一份 batch 的數據經過 BatchFormer 分支。除了 BatchFormerV2 模塊外,其他所有模塊參數,我們在兩個分支中全部共享。這裡的目的同共享分類器一致:讓模型學到一個batch 不變的特徵。模型框架如下:
▲ 圖5: BatchFormerV2雙分支框架圖。BatchFormerV2分支加入了BatchFormer模塊,而原有的分支保持不變。兩個分支輸入的數據是一樣的。BatchFormerV2 也可以通過簡單的幾行代碼實現如下:

2.3 梯度分析
從模型的優化上,BatchFormer 結構改變了梯度傳播的方向,使得任意一個樣本的特徵會貢獻到所有其他樣本的 loss 計算上面。因此任意一個 loss 算出來的梯度,都會回傳到基於其他所有樣本計算的梯度上面。從樣本的增強角度上面看,BatchFormer 可以看成是隱式地增加了數據。每一個樣本特徵可以看成是其他樣本的虛擬特徵 [3]。這樣 BatchFormer 實際上大大增強了樣本,所以能夠有效地改善數據稀缺的問題。


實驗結果
這裡我們主要展示了我們核心的實驗結果,比如目標檢測,全景分割,長尾識別,對比學習,域泛化,等等。更多任務的實驗和消除分析請參見我們的論文和附錄。3.1 目標檢測

我們發現,BatchFormer 能夠即插即用到 DETR 以及 DETR 派生出來的各種方法上面。並且取得了超過一個點的一致性的提升。3.2 全景分割

我們在全景分割上面,提高了 DETR 1.7%。我們注意到 BatchFormerV2 主要提升了 stuff 的類別。我們的可視化實驗也發現,BatchFormerV2 能夠更加注意到 object。3.3 長尾分布


從實驗的結果看,BatchFormer 主要提升了 few shot 的類別。在長尾分布中,我們認為 BatchFormer 平衡了數據。3.4 自監督學習

BatchFormer 一致地改善了 MoCo-V2 和 V3。3.5 組合零樣本學習

3.6 領域泛化

3.7 圖像分類


3.8 消除實驗

我們基於長尾識別數據集(ImageNet-LT)進行了消除實驗。實驗中,我們發現batch size 對於模型性能的影響較小。3.9 梯度分析

我們按照實例的頻數降序提取出每個類別的在訓練樣本中對其他樣本的梯度均值。我們發現稀有類別的對其他樣本的梯度明顯更大。這個實驗說明,BatchFormer 實際上是通過梯度傳播改善了模型對於不平衡數據的學習。
可視化分析4.1 Grad-CAM可視化

我們基於 Grad-CAM 可視化了特徵圖。第二行是我們的基線,第三行是加上 Transformer 模塊後的結果。我們發現在長尾分類的稀有樣本中,當場景簡單的時候模型會注意到物體的更多細節部分,當場景複雜的時候,模型會學會忽略噪音像素而專注到具體物體中。4.2 全景分割

第二行是我們的基線(DETR),第三行是 DETR 加上我們提出的方法的結果。我們注意到 BatchFormerV2 會顯著地改善物體分割的細節。比如上圖中桌子腳,飛機的輪子和浴缸邊緣。最後一個圖片裡面展示 BatchFormerV2 能夠分割出細小的目,比如草地。
總結與展望
在這篇文章中,我們介紹了一種簡單有效,即插即用的 Transformer 模塊,我們稱之為 BatchFormer。BatchFormer 將 Transformer 應用到網絡分類器前一層的 batch 維度,來挖掘樣本之間的關係,比如相似性,部分共享性等等。同時我們介紹了一種共享分類器策略,這樣我們能達到一種 batch 的不變性,從而在測試的時候移除 BatchFormer,使網絡不增加任何計算和內存的負載。更進一步地,我們介紹一個更一般化的版本,BatchFormerV2。
BatchFormerV2 是一個對 Transformer 結構即插即用的方法。我們的實驗展示 BatchFormer 在長尾識別,組合零樣本學習,域泛化都取得了當前最好的效果。我們在超過 15 個數據集,7 個任務上面展示了 BatchFormer 的有效性。在接下來,我們將繼續基於樣本關係對特徵的表示學習和模型架構進行探索。
1. Hou, Zhi, Baosheng Yu, and Dacheng Tao. "BatchFormer: Learning to Explore Sample Relationships for Robust Representation Learning」. CVPR2022
2. Hou, Zhi, et al. "BatchFormerV2: Exploring Sample Relationships for Dense Representation Learning."arXiv preprint arXiv:2204.01254(2022).
3. Hongyi Zhang, Moustapha Cisse, Yann N Dauphin, and David Lopez-Paz. mixup: Beyond empirical risk minimization.ICLR2018
4. Golnaz Ghiasi, Yin Cui, Aravind Srinivas, Rui Qian, Tsung- Yi Lin, Ekin D Cubuk, Quoc V Le, and Barret Zoph. Simple copy-paste is a strong data augmentation method for instance segmentation CVPR2021
5. Shiv Shankar, Vihari Piratla, Soumen Chakrabarti, Siddhartha Chaudhuri, Preethi Jyothi, and Sunita Sarawagi. Generalizing across domains via cross-gradient training. InICLR2018
6. Zhi Hou, Xiaojiang Peng, Yu Qiao, and Dacheng Tao. Visual compositional learning for human-object interaction detection.ECCV2020
7. Ziwei Liu, Zhongqi Miao, Xiaohang Zhan, Jiayun Wang, Boqing Gong, and Stella X. Yu. Large-scale long-tailed recognition in an open world. InCVPR2019
8. MF Naeem, Y Xian, F Tombari, and Zeynep Akata. Learning graph embeddings for compositional zero-shot learning. InCVPR2021
9. Martin Arjovsky, Le ́on Bottou, Ishaan Gulrajani, and David Lopez-Paz. Invariant risk minimization.
10. Hu, J., Shen, L., Sun, G.: Squeeze-and-excitation networks. CVPR2018
11. Dosovitskiy, A., Beyer, L., Kolesnikov, A., Weissenborn, D., Zhai, X., Unterthiner, T., Dehghani, M., Minderer, M., Heigold, G., Gelly, S., et al.: An image is worth 16x16 words: Transformers for image recognition at scale. ICLR2020


如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋樑,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。
PaperWeekly 鼓勵高校實驗室或個人,在我們的平台上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析、科研心得或競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
📝稿件基本要求:
• 文章確係個人原創作品,未曾在公開渠道發表,如為其他平台已發表或待發表的文章,請明確標註
• 稿件建議以markdown格式撰寫,文中配圖以附件形式發送,要求圖片清晰,無版權問題
• PaperWeekly 尊重原作者署名權,並將為每篇被採納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
📬投稿通道:
• 投稿郵箱:hr@paperweekly.site
• 來稿請備註即時聯繫方式(微信),以便我們在稿件選用的第一時間聯繫作者
• 您也可以直接添加小編微信(pwbot02)快速投稿,備註:姓名-投稿

△長按添加PaperWeekly小編
