宣傳一下最近的新工作,個(gè)人感覺是讀博以來做得最難最累但是成就感也最大的一個(gè)項(xiàng)目。它起源自一個(gè)很簡(jiǎn)單的問題——自LLM誕生以來,我們見到了很多把LLM接到Vision Backbone后面的算法,那么有兩個(gè)自然的問題:
LLM的Transformer是否可以直接處理視覺Token?
LLM的Transformer是否可以提升處理視覺Token的Performance?
我們的工作回答了這兩個(gè)問題 (答案是Yes) 而且解釋了其中的原因:在語言模型中Pretrain的Transformer可以用作視覺任務(wù)的Encoder Layer。代碼已經(jīng)開源,歡迎大家點(diǎn)贊關(guān)注我們的Paper和GitHub。
Frozen Transformers in Language Models Are Effective Visual Encoder Layers 代碼:github.com/ziqipang/LM4VisualEncoding
論文:https://arxiv.org/abs/2310.12973
1. LLM的Transformer可以處理視覺Token嗎?
在LLM的加持下,很多Vision-language Model 會(huì)直接把來自圖像的Embedding輸入給LLM,并讓LLM作為Decoder輸出文字、類別、檢測(cè)框等。但是在這些模型中,LLM并不會(huì)直接處理來自圖像的Token,它們更多地是 (1)?處理提前設(shè)計(jì)好的語義Token,例如CLIP中的cls token;(2)?處理被壓縮過的Token,例如BLIP里面經(jīng)過information bottleneck的token。那么LLM是否可以直接作用于其它模態(tài)的Token呢,即LLM是否可以用作Encoder,而不只是Decoder呢?
1.1 實(shí)驗(yàn)方法
驗(yàn)證這個(gè)事情非常簡(jiǎn)單,以ViT為例,我們只需要:
取出某一個(gè)LLM的Transformer Layer (例如LLaMA的最后一個(gè)Transformer),請(qǐng)注意這里只需要一個(gè)Transformer Block而不是整個(gè)LLM;
把它加入到最后一個(gè)Encoder Block后面,只需要額外兩個(gè)Linear Layers把Feature Dimensions拉齊;
凍結(jié)LLM的Transformer,但是正常訓(xùn)練其它部分。
以ViT為例,我們的模型結(jié)構(gòu)非常簡(jiǎn)單,只需要額外兩個(gè)線性層
1.2 和現(xiàn)在的Vision-language Model的異同
是否需要Pretraining?我們的方法重在提升Encoding能力,所以我們既支持Train-from-scratch,也支持Finetune,而不是必須要依賴預(yù)訓(xùn)練好的Backbones。
是否需要Language?雖然我們用的是LLM的Transformer,但是我們的Framework獨(dú)立于使用Language (比如Prompts或者Alignment),而不是像Vision-language Models一樣必須要Language。
可以處理多少模態(tài)?我們的Framework可以泛化到多個(gè)模態(tài)和任務(wù),而不是只能處理圖像。
Encoder和Decoder有什么區(qū)別?Encoder需要直接和Visual tokens打交道,比如和HxW個(gè)圖像token的信息做Cross-attention去改變cls token。
現(xiàn)在已經(jīng)有這么多Vision-language Models了,你們的研究有什么用?首先,我們的研究和現(xiàn)在的vision-language Models不矛盾而且互相補(bǔ)充——現(xiàn)在vision-language model研究如何把視覺embedding輸入給LLM,而我們的研究聚焦如何提供更好的embedding。
1.3 一個(gè)預(yù)訓(xùn)練的LLaMA Transformer在許多不同模態(tài)、任務(wù)的Encoder上都有用
在論文中,我們發(fā)現(xiàn)把LLM的Transformer用作視覺Encoder可以泛化到極其多樣的場(chǎng)景。
2D語義:圖像分類 (image classification)
點(diǎn)云:點(diǎn)云分類 (point cloud classification)
視頻:動(dòng)作識(shí)別 (action recognition)
無語義,回歸任務(wù):軌跡預(yù)測(cè) (motion forecasting)
2D多模態(tài):2D VQA和圖像搜索 (2D VQA and Retrieval)
3D多模態(tài):3D VQA
在這些任務(wù)中,我們的模型不只要處理圖像上像patch一樣的Token,還要處理
點(diǎn)云中無規(guī)則的3D點(diǎn)
視頻中形狀是TxHxW的長(zhǎng)方體形狀的token
軌跡預(yù)測(cè)里面來自Agent和高精地圖的Polylines
多模態(tài)任務(wù)中混合了圖像和語言的Token
ImageNet, 圖像分類
2D/3D 語言多模態(tài)任務(wù)
自動(dòng)駕駛,軌跡預(yù)測(cè)
2. 為什么預(yù)訓(xùn)練的LLM Transformer有用:Information Filtering Hypothesis
雖然我們?cè)谠S多任務(wù)和模態(tài)上都看到了性能的提升,但是如何解釋這一點(diǎn)呢?我們?cè)谘芯康倪^程中感覺如果把加了LLM的提升都?xì)w結(jié)于"LLM包含了可以泛化的知識(shí)",其實(shí)比較偷懶而且不一定正確。所以我們研究了Token在加LLM transformer前后的變化提出了Information Filtering假設(shè):
LLM Transformer模塊能夠在訓(xùn)練的過程中篩選和目標(biāo)任務(wù)相關(guān)的Visual Tokens并且放大他們的貢獻(xiàn)。
這個(gè)結(jié)論是我們paper里面可能最重要的發(fā)現(xiàn)。
2.1 在ViT上的觀察 —— LLM Transformer篩選出了前景
為什么可以這么說呢?我們看下圖中我們對(duì)ViT的Token Activation的可視化:為了體現(xiàn)不同Token的貢獻(xiàn),我們從本身Activation的大小(L2-norm)和頻率大小進(jìn)行了可視化(做傅里葉變換后算角度的L2-norm)。
可以看到:在有了LLM Transformer之后,ViT的Activation能更干凈地集中到前景區(qū)域,而這個(gè)性質(zhì)只有在無監(jiān)督學(xué)習(xí)的ViT中(e.g. DINO)中可以見到,在監(jiān)督學(xué)習(xí)的ViT中很少見。
另一方面,我們對(duì)比了有/沒有LLM transformer對(duì)于Attention weight的影響:普通的ViT的Attention Weight幾乎是完全Noisy的 (和DINO的觀察吻合),在加了LLMTransformer之后 (1) 有極少的Attention Head體現(xiàn)出了干凈的前景分割的樣子,但是 (2) 它們的數(shù)量較少不足以解釋Token Activation更顯著地好。
因此,我們觀察到的提升來自有用的Feature被放大了,這也是為什么我們稱之為information filtering hypothesis。
2.2 在其它任務(wù)的也可以篩選有用的Token
類似的“information filtering”現(xiàn)象不只在ViT和圖像分類上有,在其它任務(wù)上,LLM Transformer也有效地提升了對(duì)目標(biāo)任務(wù)最有用的Token。這里我們舉兩個(gè)例子:
在動(dòng)作識(shí)別中,加了LLaMA的Transformer可以更好地集中到前景的手和物體(low threshold),也更多地篩選出了手和物體有實(shí)際動(dòng)作的幀(high threshold)。
在3D VQA中,我們可視化了點(diǎn)云Token的大小。可以看到,那些真正和預(yù)測(cè)目標(biāo)、或者問題相關(guān)的點(diǎn)得到了更大的關(guān)注:比如在左圖中,"behind me"的點(diǎn)云顯著得到了更大的Activation (顏色更亮了)。
3. 一點(diǎn)Ablation Study
那么我們觀察到的現(xiàn)象,即LLM的Transformer可以提升Visual Encoding,是否和不同的層、LLM有關(guān)呢?
多種LLM Transformer都可以提升Visual Encoding。例如用LLaMA和OPT的不同Transformer層都會(huì)有提升,而且不同層之間也會(huì)體現(xiàn)不同的規(guī)律。
只有足夠大的LLM才有提升Visual Encoding的效果。例如只有足夠大的OPT才會(huì)提升Visual Encoding的效果。
4. 后記
最后寫一些沒有寫在Paper里面的自己的感受和思考:
在論文中最讓我感到興奮的不是結(jié)合了LLM在很多Task上都有提升,而是在我們Information filtering假設(shè)的分析中看到了質(zhì)變:神經(jīng)網(wǎng)絡(luò)能夠更好地學(xué)習(xí)到那些和任務(wù)最相關(guān)的Token。
那么為什么會(huì)有這樣的效果?我猜測(cè)是LLM的Transformer的參數(shù)矩陣,例如FFN的矩陣,有一些很好的性質(zhì),例如在某些情況下是一個(gè)高通濾波器。我們可以從反面思考,如果一個(gè)參數(shù)矩陣是隨機(jī)初始化(低通濾波器),或者干脆就是一個(gè)單位矩陣,那么必然不可能去篩選出來有用的Token,并且放大他們的貢獻(xiàn)。
在嘗試解釋這個(gè)現(xiàn)象的時(shí)候,我們發(fā)現(xiàn)用transfer learning的工具來分析會(huì)非常有難度,因?yàn)槲覀儾荒鼙WCvision和language確實(shí)在一層transformer之后就align了。最終,一個(gè)比較合理的直覺是受到了我本科同學(xué)許逸倫"A Theory of Usable Information Under Computational Constraints"這篇Paper的啟發(fā):我們可以把LLM Transformer看作一種Decipher,它提升了Feature的有用性,使得一層MLP或者Decoder的有限計(jì)算資源可以把Feature映射到和真實(shí)結(jié)果Mutual Information更高的空間中。事實(shí)上,這也契合我們Information filtering的觀察。
編輯:黃飛
評(píng)論
查看更多