VideoMamba:用于高效視頻理解的狀態(tài)空間模型
論文題目:
VideoMamba: State Space Model for Efficient Video Understanding
論文鏈接:
??https://arxiv.org/abs/2403.06977??
代碼鏈接:
??https://github.com/OpenGVLab/VideoMamba??
Huggingface:
??https://huggingface.co/OpenGVLab/VideoMamba??
Online Demo:
??https://huggingface.co/spaces/OpenGVLab/VideoMamba??
一、Motivation
視頻表征學(xué)習(xí)長(zhǎng)期以來存在兩大痛點(diǎn),一是短clip里存在大量的時(shí)空冗余,二是長(zhǎng)上下本需要復(fù)雜的時(shí)空關(guān)聯(lián)。曾經(jīng)風(fēng)靡一時(shí)的3D CNN和video transformer,分別使用卷積和自注意力機(jī)制解決了兩大難題。在我們之前的工作UniFormer[1]里,我們嘗試將卷積和自注意力無縫地結(jié)合,盡管它能同時(shí)解決兩大難題,但對(duì)于長(zhǎng)視頻仍力不從心。而Gemini[2]和Sora[3]的爆火,使得長(zhǎng)視頻理解與生成成為了研究的重心,這亟需更高效的視頻表征模型。
幸運(yùn)的是,NLP領(lǐng)域這兩年涌現(xiàn)了不少高效算子,如S4[4], RWKV[5]和RetNet[6]。而Mamba[7]提出動(dòng)態(tài)狀態(tài)空間模型(S6),能以線性復(fù)雜度進(jìn)行長(zhǎng)時(shí)的動(dòng)態(tài)建模。這引領(lǐng)了一系列視覺任務(wù)的適配,如Vision Mamba[8]和VMamba[9],提出了多向SSM機(jī)制用于處理2D圖片,這些模型不僅能與基于注意力的架構(gòu)媲美,而且大大減小顯存開銷。
考慮到視頻產(chǎn)生的超長(zhǎng)token序列,一個(gè)自然而然的問題便是,Mamba對(duì)視頻理解是否同樣有效?答案是肯定的。
二、 Methods
2.1 Architecture
在進(jìn)入VideoMamba結(jié)構(gòu)的介紹之前,我們先看看用于1D序列的Mamba block,和用于視覺任務(wù)的雙向Mamba block。這里我們不再贅述SSM和Mamba的底層原理,感興趣的同學(xué)可以通過油管視頻(https://www.youtube.com/watch?v=8Q_tqwpTpVU)學(xué)習(xí)。
雙向Mamba在單向Mamba的基礎(chǔ)上,引入了對(duì)反向序列的SSM,這使得雙向Mamba能更好地對(duì)2D序列建模,從而提升對(duì)視覺輸入的感知能力。基于雙向Mamba,我們按照ViT[10]的設(shè)計(jì),引入[CLS] token和空間位置編碼,并針對(duì)視頻建模,引入3D patch embedding和空間位置編碼,提出了如下所示的VideoMamba:
為了應(yīng)用雙向Mamba處理時(shí)空信息,我們拓展原本的2D掃描到不同的雙向3D掃描:
其中空間優(yōu)先掃描最簡(jiǎn)單,實(shí)驗(yàn)證明效果也最好。基于該架構(gòu),我們提出了三種不同size的模型,VideoMamba-Ti,VideoMamba-S和VideoMamba-M。
但在實(shí)驗(yàn)里,當(dāng)我們?cè)龃骎ideoMamba規(guī)模時(shí),非常容易過擬合,導(dǎo)致大模型的結(jié)果甚至差于小模型。為此,我們提出了Self-Distillation策略,使用訓(xùn)練好的小模型當(dāng)老師,引導(dǎo)大模型訓(xùn)練,有效地避免模型過擬合,而只需少量額外的開銷。
2.2 Masked Modeling
近來,VideoMAE[11]引入掩碼建模,顯著增強(qiáng)了模型對(duì)細(xì)粒度時(shí)序的理解能力,而UMT[12]進(jìn)一步提出高效的掩碼對(duì)齊策略,不僅大大減小了訓(xùn)練開銷,還使得模型能魯棒地處理各種單模態(tài)和多模態(tài)任務(wù)。為了增強(qiáng)VideoMamba對(duì)時(shí)序的敏感性,同時(shí)驗(yàn)證它和文本模態(tài)的兼容性,我們借鑒UMT的方式,引入CLIP-ViT當(dāng)teacher,進(jìn)行兩階段蒸餾訓(xùn)練。
不同于UMT使用多層對(duì)齊,由于VideoMamba和ViT存在架構(gòu)差異,我們只對(duì)齊模型最后一層,考慮到Mamba block對(duì)連續(xù)token更友好,我們?cè)O(shè)計(jì)了逐行掩碼策略:
同時(shí)我們也考慮了注意力掩碼策略,這能保持語義性更強(qiáng)的鄰近token。
三、Experiments
3.1 Scale Up
我們首先在ImageNet上進(jìn)行了圖像分類實(shí)驗(yàn)如下所示
可見在沒有Self-Distillation (SD)時(shí),VideoMamba-M和VideoMamba-B都會(huì)在訓(xùn)練的最后過擬合,其中VideoMamba-B尤為嚴(yán)重。而在引入SD后,VideoMamba-M收斂符合期望,且明顯強(qiáng)于老師模型VideoMamba-S。為了避免老師模型帶偏訓(xùn)練,我們引入了Early Stop策略,即提前移除蒸餾引導(dǎo),實(shí)驗(yàn)發(fā)現(xiàn)并無提升。完整ImageNet對(duì)比如下:
和無層次化結(jié)構(gòu)的其他模型相比,VideoMamba優(yōu)于其他CNN和ViT的模型,如ConvNeXt和ViT。隨著模型規(guī)模和分辨率放大,性能穩(wěn)定提升。
3.2 Short-term Video Understanding
在上述K400和SthSthV2的短視頻分類任務(wù)中,我們同樣觀察到VideoMamba良好的放縮性,且顯著優(yōu)于基于注意力的視頻模型如TimeSformer和ViViT,與結(jié)合卷積和自注意力的UniFormer性能相當(dāng)。再者,在引入掩碼訓(xùn)練后,VideoMamba性能顯著提升,在細(xì)粒度動(dòng)作分類SthSthV2數(shù)據(jù)集上,顯著好于基于ViT的UMT。
進(jìn)一步的消融實(shí)驗(yàn)表明,spatial-first掃描方案效果最好。不同于ImageNet上性能隨分辨率逐漸提升,視頻數(shù)據(jù)集上分辨率對(duì)性能影響有限,而幀數(shù)對(duì)性能影響明顯。對(duì)于掩碼建模,逐行掩碼優(yōu)于隨機(jī)掩碼策略,且注意力掩碼策略最有效;對(duì)齊最后一層效果最好;合適的掩碼比例和Droppath能較好提升訓(xùn)練效果。
3.3 Long-term Video Understanding
我們?cè)贐reakfast,COIN和LVU上評(píng)估了VideoMamba對(duì)長(zhǎng)時(shí)視頻的理解能力,相較于以往feature-based的方法,VideoMamba僅需要輸入稀疏采樣的32-64幀,效果便大幅領(lǐng)先,且模型規(guī)模更小。
3.4 Multi-modality Video Understanding
我們將VideoMamba和BERT連接,構(gòu)造多模態(tài)模型,并使用大規(guī)模多模態(tài)數(shù)據(jù)進(jìn)行預(yù)訓(xùn)練,在多個(gè)視頻文本檢索任務(wù)上進(jìn)行了性能評(píng)估。實(shí)驗(yàn)揭示VideoMamba同樣能很好地作為多模態(tài)的視覺編碼器,隨著預(yù)訓(xùn)練數(shù)據(jù)的增加,能持續(xù)提升多模態(tài)理解的能力,且由于以ViT為視覺編碼器的UMT,尤其是在包含長(zhǎng)視頻(ANet和DiDeMo)和更復(fù)雜場(chǎng)景(LSMDC)的數(shù)據(jù)集上。
四、Conclusion
我們提出了僅基于狀態(tài)空間模型的視頻理解架構(gòu)VideoMamba,全面的實(shí)驗(yàn)表明VideoMamba對(duì)視頻理解具有一系列良好特性,我們希望它可以為未來長(zhǎng)視頻的表征學(xué)習(xí)指明道路。
References
[1] UniFormer:
??https://github.com/Sense-X/UniFormer??
[2] Gemini:
??https://blog.google/technology/ai/google-gemini-next-generation-model-february-2024/??
[3] Sora: ??https://openai.com/sora??
[4] S4: ??https://github.com/state-spaces/s4??
[5] RWKV: ??https://www.rwkv.com/??
[6] RetNet:
??https://github.com/microsoft/unilm/tree/master/retnet??
[7] Mamba: ??https://github.com/state-spaces/mamba??
[8] Vision Mamba: ??https://github.com/hustvl/Vim??
[9] VMamba: ??https://github.com/MzeroMiko/VMamba??
[10] ViT:
??https://github.com/google-research/vision_transformer??
[11] VideoMAE:
??https://github.com/MCG-NJU/VideoMAE??
[12] UMT:
??https://github.com/OpenGVLab/unmasked_teacher??
Illustration From IconScout By 22
本文轉(zhuǎn)載自??將門創(chuàng)投??,作者:黎昆昌 ????
