【Transformer】SMCA: Fast Convergence of DETR with Spatially Modulated Co-Attention
文章目錄
- 一、背景
- 二、動機
- 三、方法
- 3.1 SMCA 概述
- 3.2 Spatially Modulated Co-Attention
- 四、效果
論文鏈接:https://arxiv.org/pdf/2108.02404.pdf
代碼鏈接:https://github.com/gaopengcuhk/SMCA-DETR
一、背景
DETR 作為首個使用 Transformer 實現(xiàn)目標(biāo)檢測的方法,獲得了和基于 CNN 的檢測方法相媲美的檢測效果,如 Faster-RCNN 等,而且不需要手工設(shè)計的 anchor 和 NMS,但是 DETR 的收了速度很慢,大概需要 500 個 epochs 才能收斂。
二、動機
DETR 中,有一系列的 query vector 來負責(zé)檢測不同位置的目標(biāo),每個 object query 和 CNN 得到的空間位置特征進行交互,然后使用 co-attention 自適應(yīng)地從這些空間信息中選擇主要特征,估計位置和類別。但在 decoder 中,co-attended 為每個 object query 關(guān)注的區(qū)域可能和 query 預(yù)測的 box 沒有聯(lián)系起來。所以 DETR 的 decoder 需要較大的訓(xùn)練輪次來正確的 co-attended 區(qū)域來準(zhǔn)確的識別出對應(yīng)的目標(biāo)。
基于此,作者提出了一個即插即用的 Spatially Modulated Co-attention (SMCA) 模塊來代替 DETR 中的 co-attention 模塊,來實現(xiàn)快速收斂并提高效果。
三、方法
3.1 SMCA 概述
本文提出的 SMCA 能夠動態(tài)的預(yù)測每個 object query 對應(yīng)的 box 的初始中心和尺寸,并且生成一個 2D gaussian-like weight map,該 weight map 和 object query 的 co-attention feature map 進行逐點相乘,以便更有效地從視覺特征圖中聚合 query 的相關(guān)信息。
這樣一來,spatial weight map 有效地調(diào)節(jié)了每個 object query 的 co-attention 搜索范圍,能夠讓搜索范圍更好的趨向于目標(biāo)對象的中心和尺度。使用該高斯分布先驗之后, SMCA 能夠明顯的加速 DETR 的訓(xùn)練。
雖然 SMCA 能夠加速 DETR 的訓(xùn)練,但效果有些下降(41.0 mAP at 50 epochs, 42.7 at 108 epochs vs. 43.3 mAP at 500 epochs)。受到多頭注意力[38]和多尺度特征[22]的啟發(fā),SMCA 在 encoder 里邊使用了多尺度特征,在decoder 里邊使用了多頭注意力。
3.2 Spatially Modulated Co-Attention
SMCA 的主要想法是將學(xué)習(xí)到的 co-attention maps 和手工設(shè)計的 query spatial 特征進行結(jié)合,其結(jié)構(gòu)為圖 2 橘色部分。
1、Dynamic spatial weight maps
Gaussian-like spatial weight map 的生成:每個 object query 首先動態(tài)預(yù)測其對應(yīng)的目標(biāo)的中心和尺度,這個預(yù)測的中心和尺度被用來生成 Gaussian-like spatial weight map。
Gaussian-like 分布的中心:初始化為標(biāo)準(zhǔn)坐標(biāo) [0,1]×[1,0][0,1] \times [1,0][0,1]×[1,0]
對于 object query OqO_qOq?,Gaussian-like 分布的中心位置 chnorm,cwnormc_h^{norm}, c_w^{norm}chnorm?,cwnorm? 和尺度 sh,sws_h, s_wsh?,sw? 的初次預(yù)測為:
- OqO_qOq? 被使用 2 層 MLP 投影得到 normalied 的二維預(yù)測結(jié)果 chnorm,cwnormc_h^{norm}, c_w^{norm}chnorm?,cwnorm?,然后被 unnormalized 來得到原圖中的中心位置 ch,cwc_h, c_wch?,cw?
- OqO_qOq? 也被使用 FC 來得到目標(biāo)的尺度 sh,sws_h, s_wsh?,sw?
實際中的目標(biāo)尺度是很多變的,所以使用了獨立的 shs_hsh? 和 sws_wsw? 來預(yù)測寬和高,這樣有利于適應(yīng)不同的目標(biāo)。
對于不同大小的目標(biāo),SMCA 能夠自適應(yīng)的產(chǎn)生不同的 shs_hsh? 和 sws_wsw?,所以使用 spatial weight map GGG 修正后的 co-attention map 能夠為大目標(biāo)聚合所有部位,能夠為小目標(biāo)抑制背景的影響。
預(yù)測了目標(biāo)的中心和尺度知乎, SMCA 能夠生成如下的 gaussian-like weight map:
- (i,j)∈[0,W]×[0,H](i,j)\in[0, W] \times [0, H](i,j)∈[0,W]×[0,H]
- β\betaβ 是超參數(shù),用來調(diào)整高斯核的寬度
- 這個高斯特征圖給鄰近中心的位置更多關(guān)注,遠離中心的位置更少的關(guān)注,
2、Spatially-modulated co-attention
上面介紹了如何獲得 GGG,然后就使用 GGG 來修正 co-attention maps CiC_iCi? (co-attention maps 是object query OqO_qOq? 和 self-attention encoded feature EEE 的 attention map)。
對于每個由公式 2 產(chǎn)生的 attention maps CiC_iCi?,都要使用 GGG 來對其進行修正。
① 在 base version 里邊,所有 co-attention head 的 GGG 都是共享的:
經(jīng)過公式5后, decoder co-attention 將會更關(guān)注于預(yù)測框的附近,縮小搜索范圍,加速收斂。
② 作者也嘗試了對不同的 co-attention head 進行不同的 co-attention 特征修正,也就是不同的 head 使用不同的 GGG。
3、SMCA with multi-scale visual features
目標(biāo)檢測任務(wù)中,由于不同目標(biāo)的大小各異,所以使用多尺度特征尤為重要。給定一幅圖像,CNN 能夠抽取不同尺度的特征,如下采樣 16,32,64 倍等。
在 encoder 中,多尺度自注意編碼把不同尺度的所有位置的特征同等對待,這就會導(dǎo)致計算很復(fù)雜,計算量很大。為了解決這個問題,作者引入了 intra-scale 自注意編碼,也就是僅僅在單個尺度特征圖內(nèi)進行attention,transformer block共享這些權(quán)重,并且實驗也證明了使用共享的權(quán)重有利于模型泛化。
此外,SMCA 共使用了 5 個 blocks: 2 個 intra-scale block encoding + 1 個 multi-scale encoding + 2 個 intra-scale block encoding
給定 CNN 的多尺度輸出:
① 一個簡單的方法是將這個多尺度特征 rescale 和 concat,形成一個單一尺度的特征圖,然后計算 object query 和 resulting map 的 co-attention。但一些 queries 其實不能對所有的尺度都有響應(yīng),比如小目標(biāo)在下采樣 64 倍的特征圖上已經(jīng)消失了。所以小目標(biāo)只能從大分辨率特征圖中得到。
② 基于此,本文作者提出了一種使用可學(xué)習(xí)的 scale-attention 來自動化的給每個 box 選擇對應(yīng)尺度的方法,每個 object query 會生成一個如下的 scale-attention weights:
- α16\alpha 16α16,α32\alpha 32α32,α64\alpha 64α64 分別對應(yīng)下采樣為 16,32,64 倍的特征圖。
- Ci,jC_{i, j}Ci,j? 是第 j 個尺度特征和第 i 個 co-attention head 的 co-attention 特征
四、效果
總結(jié)
以上是生活随笔為你收集整理的【Transformer】SMCA: Fast Convergence of DETR with Spatially Modulated Co-Attention的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大众汽车旗下斯柯达因芯片短缺问题而减产
- 下一篇: 苹果揪出泄密员工被认定违反劳动法,面临诉