LVM(Large Vision Models) [1] 自本月1號掛到arxiv以來,引發了眾多自媒體的追捧,不乏稱之為『視覺大模型的GPT時刻』的盛贊,也有不少大V對此表示持懷疑態度,這一周一直吃瓜的筆者也非常好奇,想一睹其視覺大模型的GPT風采,于是在工作之余抽空簡單翻閱了下,總得來說還是受益匪淺的。LVM的整體思想比較直白,既然NLP領域中,基于自回歸的大模型(如GPT、LLaMA等)已經取得令人矚目的成功,何不將視覺的預訓練任務也統一到自回歸中,也許就能產生和GPT一般的『智能』呢?考慮到NLP中,最小處理單元是token(下文翻譯為『令牌』,tokenization則翻譯為『令牌化』),我們不能以圖片的像素級別去進行自回歸,何不將圖片也進行『令牌化』呢?將圖片也轉換成一個個令牌吧!那么我們就可以用NLP原生的預訓練任務,比如自回歸任務進行預訓練了,如Fig 1.所示,將圖片令牌化到若干個令牌后,就將視覺預訓練任務轉化為了『文本』預訓練任務,作者將這樣一個通過視覺令牌構成的句子,稱之為Visual Sentence,也蘊含著將視覺任務文本化的意味?
Fig 1. LVM的模型框架,通過VQ-GAN將圖片令牌化到256個令牌,將視覺的預訓練任務完全轉化為了文本的自回歸預訓練任務。
那么如何將圖像進行令牌化呢?在之前的一些工作,比如VQ-VAE、VQ-GAN中曾經對圖像令牌化有所考慮,讀者可在筆者之前的博文[2]中簡單參考其思路,同時,在BEiT v2 [3] 中也有對VQ-VAE的一些改進(引入更語義的信息),在本篇工作中,作者采用了VQ-GAN對圖片進行令牌化,筆者覺得是由于LVM后續還需要對視覺令牌進行解碼,生成圖像(見Fig 1的decoder部分),采用VQ-GAN能提供更好的圖像生成能力,向量量化的簡易示意圖可參考Fig 2.所示。
作者在本工作中的一個最大貢獻,就是收集了一套大規模的用于LVM預訓練的數據集,其中圖像數據形式各種各樣,來自于各種公開數據集,包括:
- 圖片:一般的圖片,如LAION數據集。
- 視頻序列:將視頻抽幀作為圖片序列,此處視頻類型各種各樣,包括一般的視頻,3D物體旋轉的視頻,CAD模型旋轉產生不同視角的圖片序列等等。
- 帶有標注的圖片:比如物體識別,語義分割等圖片,可能包含有包圍框、語義分割、圖片風格轉換、著色等標注在圖片上。
- 帶有標注的視頻:如帶有視頻的分割標注等。
該數據集是一個純圖片數據集,沒有任何配對的文本數據,具體數據收集的細節請見論文,此處不累述,作者將這個數據集命名為UVD-V1(Unified Vision Dataset),其中包含了50個公開數據集的數據,在將每張圖片大小resize到256*256后,通過VQ-GAN將每個圖片轉化為了256個令牌后(碼表大小8192),產生了4200億個令牌(420B)。此時,每張圖片/視頻序列都可以描述為一個視覺短句,如
[BOS] V1, V2, V3, ..., Vn [EOS]
通過自回歸的方式,采用交叉熵損失去建模下一個令牌出現的概率,即是:
這就是所謂視覺任務語言模型化,因此作者也采用了LLM的開源模型LLaMA作為底座模型建模,大致的模型建模和數據構建部分就簡單介紹到這里,里面很多細節問題也不在此處討論,筆者主要關注了下論文的實驗和效果展示部分。
Fig 2. 對向量量化(VQ)的簡單示意圖,可將稠密向量轉化為稀疏的令牌(1、2步),通過反查字典,可『恢復』出稠密向量(3步),將稠密向量接入解碼器即可恢復出原始圖像。
在實驗部分,作者通過控制變量法,探討了一些基礎的模型超參數下的模型基礎表現,如輸入長度、模型大小、數據集消融等等的影響,具體可見原論文,筆者不進行累述,筆者主要想對論文中的圖像提示詞(prompt)和生成結果進行討論。作者通過圖像提示詞的方式,對諸多傳統的CV任務,如人體關鍵點檢測、物體檢測、視頻幀預測、inpainting、去雨乃至是基礎推理能力進行了研究,如Fig 3.就展示了通過提供一個視頻序列的前15幀,對接續4幀進行預測的能力,能看到預測的接續4幀從視覺上看會較為趨同,但是也有一些模型『推理能力』的痕跡在里面,比如最后一個騎摩托的生成結果,有明顯的從近到遠離去的變化。
Fig 3. 提供一個視頻序列的前15幀,對接續4幀進行預測。
接下來是通過提供few-shot visual prompt,以<原圖, 目標圖>
的形式喂給LVM進行預測的任務,如Fig 4.所示,在多種傳統CV任務上都有著不俗的表現。考慮到數據集中有著3D渲染的多視角數據,作者還探索了LVM建模3D旋轉的能力(用以證明LVM具有一定的三維視覺理解能力?),如Fig 5.所示,通過提供一系列將同一個3D物體進行某個方向旋轉的visual prompt,LVM可以對接續的4幀進行預測。
Fig 4. LVM通過few-shot visual prompt的形式,可以『激發』諸多傳統CV任務的能力。
Fig 5. LVM具有建模3D物體旋轉的能力。
在Fig 6.中,作者還報告了LVM對多種CV任務的組合能力,比如提供的visual prompt是3D旋轉和關鍵點追蹤兩個CV任務的復合體,從生成接續的3幀來看也能得到合理的結果,表征了LVM似乎能對多種CV任務進行組合,即便這些組合在原始訓練數據中可能不曾出現。
Fig 6. LVM似乎也能感知到對多種CV任務的組合的visual prompt?
Fig 7. LVM對找簡單規律的問題能夠有所感知,如數量遞增、光照變化、尺度放縮等。
Fig 8. 對一些行測的找規律題目也有所感知。
與此同時,想要成為視覺領域的GPT,那么除了基礎的CV能力之外,其邏輯推理能力也不能落下,作者提供了幾個visual prompt,給讀者稍微一些遐想。如Fig 7,LVM對一些規律性的CV問題,比如圖片內物體遞增、光照變化、尺度放縮等有所感知。如Fig 8.所示,LVM能對一些找規律的題目進行一些感知。GPT有著諸多體現『智能』的表現,如
- 強大的邏輯推理能力
- 代碼理解和生成能力
- 分步思考,思維鏈能力
- 類人的理解能力,包括一些幽默感、反諷、情緒理解等能力
- 世界知識:包括事實性知識 (factual knowledge) 和常識 (commonsense)
- ...
其中的邏輯推理能力,可以說是最接近我們通常理解的『智能』的能力,我們之前展示的LVM能力,是否足以證實LVM具有和GPT一般的邏輯推理能力呢?
筆者認為似乎論據仍然不足,首先從論文提供的數據中,能看出推理能力的是Fig 8中展示的幾何圖形找規律任務,但是我們是從結果上的正確與否確定的,我們是否能『探知』到LVM的思考過程呢?完全沒有看到,如下圖所示,不像LLM能夠通過自我反省的方式,讓它吐出推理的過程,進而判斷是否具有邏輯推理能力,以及模型推理能力的強弱。在LVM中我們只能通過給定一些具有邏輯性的視覺任務(而且還是人類認為具有邏輯性的題目,也許LVM會通過其他信號去擬合,而不是通過『邏輯推理』的方式?),通過直接輸出的結果進行檢測,正如筆者所說,這個方式并不是一個合適的探知推理能力的方法。此外,筆者認為推理能力依賴一些世界知識,比如實體識別能力,實體解釋能力等,從文章中似乎沒有看出明顯的體現?LVM是否可以解釋什么是蘋果?什么是梨子?蘋果和梨子之前有什么共同點和差異?這些能力沒法從現在的LVM中看到。目前的視覺提示詞的方式,似乎不容易從中探知LVM的世界知識能力?
筆者認為單純的視覺大模型很難建模完整的邏輯推理能力(當然也不是不可能,畢竟人類以視覺識別文本,文本完全可以渲染成圖片作為LVM輸入,從而LVM變為通用的多模態GPT,但是我們為什么要舍棄文本呢?),邏輯推理能力依賴一些世界知識和語義,脫離了文本很難建模,并且文本作為表達需求和可以作為自我解釋的手段,也是一個通用AGI模型不能舍棄的。因此筆者對LVM的評價是:一個很不錯和有啟發的工作,但是稱之為視覺大模型的GPT時刻似乎不妥,稱之為AGI更是有捧殺之意了。
當然,對于筆者來說這篇工作還有更多值得思考的,比如作者采用了視覺令牌化作為模型的直接輸入進行建模這塊,筆者就深表贊同。筆者在工作中也嘗試以各種角度落地多模態技術,無論是從工業界遇到的問題,還是學術界研究的角度來看,視覺令牌化都是一個非常值得探索的技術。之前筆者在項目實踐中覺得視覺令牌化應該是對視覺語義的提取,會失去不少視覺細節信息,但是從Fig 4來看,似乎LVM對很多偏向low-level的視覺任務都有不錯的表現(包括未展示的de-rain任務),這些low-level的任務對視覺的細粒度信息應該還是有所需要的,因此這一點比較刷新作者的認識,筆者猜想可能是由于采用了VQ-GAN技術導致的視覺令牌中可以攜帶更多細粒度的視覺信息?畢竟在實踐中,視覺詞表是一個偏向于利用率不充分的存在,也許采用了VQ-GAN技術后可以更加充分利用詞表,進而對細粒度有所感知。當然,這些都是筆者的一些隨性猜想罷了,希望拋磚引玉得到各位讀者的指教。
Reference
[1]. Bai, Yutong, et al. "Sequential Modeling Enables Scalable Learning for Large Vision Models." arXiv preprint arXiv:2312.00785 (2023).
[2]. https://blog.csdn.net/LoseInVain/article/details/129224424,【論文極速讀】VQ-VAE:一種稀疏表征學習方法
[3]. Peng, Zhiliang, Li Dong, Hangbo Bao, Qixiang Ye, and Furu Wei. "Beit v2: Masked image modeling with vector-quantized visual tokenizers." arXiv preprint arXiv:2208.06366 (2022)