【論文極速讀】LVM,視覺大模型的GPT時刻?

【論文極速讀】LVM,視覺大模型的GPT時刻?
FesianXu 20231210 at Baidu Search Team

前言

這一周,LVM在arxiv上剛掛出不久,就被眾多自媒體宣傳為『視覺大模型的GPT時刻』,筆者抱著強烈的好奇心,在繁忙工作之余對原文進行了拜讀,特此筆記并留下讀后感,希望對諸位讀者有所幫助。如有謬誤請見諒并聯系指出,本文遵守CC 4.0 BY-SA版權協議,轉載請聯系作者并注明出處,謝謝。

? \nabla ? 聯系方式:

e-mail: FesianXu@gmail.com

github: https://github.com/FesianXu

知乎專欄: 計算機視覺/計算機圖形理論與應用(https://www.zhihu.com/column/c_1265262560611299328)

微信公眾號:機器學習雜貨鋪3號店


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_framework

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預訓練的數據集,其中圖像數據形式各種各樣,來自于各種公開數據集,包括:

  1. 圖片:一般的圖片,如LAION數據集。
  2. 視頻序列:將視頻抽幀作為圖片序列,此處視頻類型各種各樣,包括一般的視頻,3D物體旋轉的視頻,CAD模型旋轉產生不同視角的圖片序列等等。
  3. 帶有標注的圖片:比如物體識別,語義分割等圖片,可能包含有包圍框、語義分割、圖片風格轉換、著色等標注在圖片上。
  4. 帶有標注的視頻:如帶有視頻的分割標注等。

該數據集是一個純圖片數據集,沒有任何配對的文本數據,具體數據收集的細節請見論文,此處不累述,作者將這個數據集命名為UVD-V1(Unified Vision Dataset),其中包含了50個公開數據集的數據,在將每張圖片大小resize到256*256后,通過VQ-GAN將每個圖片轉化為了256個令牌后(碼表大小8192),產生了4200億個令牌(420B)。此時,每張圖片/視頻序列都可以描述為一個視覺短句,如

[BOS] V1, V2, V3, …, Vn [EOS]

通過自回歸的方式,采用交叉熵損失去建模下一個令牌出現的概率,即是:
L v l m = ∑ i log ? P ( V i ∣ V 1 , ? , V i ? 1 ; Θ ) \mathcal{L}_{vlm} = \sum_{i} \log P(V_{i}|V_{1},\cdots,V_{i-1};\Theta) Lvlm?=i?logP(Vi?V1?,?,Vi?1?;Θ)
這就是所謂視覺任務語言模型化,因此作者也采用了LLM的開源模型LLaMA作為底座模型建模,大致的模型建模和數據構建部分就簡單介紹到這里,里面很多細節問題也不在此處討論,筆者主要關注了下論文的實驗和效果展示部分。
fig_2_vq

Fig 2. 對向量量化(VQ)的簡單示意圖,可將稠密向量轉化為稀疏的令牌(1、2步),通過反查字典,可『恢復』出稠密向量(3步),將稠密向量接入解碼器即可恢復出原始圖像。

在實驗部分,作者通過控制變量法,探討了一些基礎的模型超參數下的模型基礎表現,如輸入長度、模型大小、數據集消融等等的影響,具體可見原論文,筆者不進行累述,筆者主要想對論文中的圖像提示詞(prompt)和生成結果進行討論。作者通過圖像提示詞的方式,對諸多傳統的CV任務,如人體關鍵點檢測、物體檢測、視頻幀預測、inpainting、去雨乃至是基礎推理能力進行了研究,如Fig 3.就展示了通過提供一個視頻序列的前15幀,對接續4幀進行預測的能力,能看到預測的接續4幀從視覺上看會較為趨同,但是也有一些模型『推理能力』的痕跡在里面,比如最后一個騎摩托的生成結果,有明顯的從近到遠離去的變化。
fig_4_consecutive_frame_predict

Fig 3. 提供一個視頻序列的前15幀,對接續4幀進行預測。

接下來是通過提供few-shot visual prompt,以<原圖, 目標圖>的形式喂給LVM進行預測的任務,如Fig 4.所示,在多種傳統CV任務上都有著不俗的表現。考慮到數據集中有著3D渲染的多視角數據,作者還探索了LVM建模3D旋轉的能力(用以證明LVM具有一定的三維視覺理解能力?),如Fig 5.所示,通過提供一系列將同一個3D物體進行某個方向旋轉的visual prompt,LVM可以對接續的4幀進行預測。

fig_5_part_1

Fig 4. LVM通過few-shot visual prompt的形式,可以『激發』諸多傳統CV任務的能力。

fig_6_3d_rotation

Fig 5. LVM具有建模3D物體旋轉的能力。

在Fig 6.中,作者還報告了LVM對多種CV任務的組合能力,比如提供的visual prompt是3D旋轉和關鍵點追蹤兩個CV任務的復合體,從生成接續的3幀來看也能得到合理的結果,表征了LVM似乎能對多種CV任務進行組合,即便這些組合在原始訓練數據中可能不曾出現。
fig_7_task_composed

Fig 6. LVM似乎也能感知到對多種CV任務的組合的visual prompt?

fig_8_miscellaneous_prompt

Fig 7. LVM對找簡單規律的問題能夠有所感知,如數量遞增、光照變化、尺度放縮等。

fig_9_spark_of_agi

Fig 8. 對一些行測的找規律題目也有所感知。

與此同時,想要成為視覺領域的GPT,那么除了基礎的CV能力之外,其邏輯推理能力也不能落下,作者提供了幾個visual prompt,給讀者稍微一些遐想。如Fig 7,LVM對一些規律性的CV問題,比如圖片內物體遞增、光照變化、尺度放縮等有所感知。如Fig 8.所示,LVM能對一些找規律的題目進行一些感知。GPT有著諸多體現『智能』的表現,如

  1. 強大的邏輯推理能力
  2. 代碼理解和生成能力
  3. 分步思考,思維鏈能力
  4. 類人的理解能力,包括一些幽默感、反諷、情緒理解等能力
  5. 世界知識:包括事實性知識 (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)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/213220.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/213220.shtml
英文地址,請注明出處:http://en.pswp.cn/news/213220.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

m.2固態硬盤怎么選擇?

一、什么是固態硬盤 固態硬盤又稱SSD&#xff0c;是Solid State Drive的簡稱&#xff0c;由于采用了閃存技術&#xff0c;其處理速度遠遠超過傳統的機械硬盤&#xff0c;這主要是因為固態硬盤的數據以電子的方式存儲在閃存芯片中&#xff0c;不需要像機械硬盤那樣通過磁頭讀寫磁…

linux查看筆記本電池健康情況

本人的老電腦&#xff0c;筆記本x1 carbon 5th 用久了&#xff0c;電池不行了&#xff0c;實際容量只有27.657%&#xff0c;充電到40%的時候&#xff0c;一瞬間彪滿100%。到某寶淘了一個 model: 01AV430的電池,等更換了再看看使用情況 $ upower --help 用法&#xff1a;upower…

Linux 安裝 中間件 Tuxedo

安裝步聚 一、首先&#xff0c;下載中間件安裝包&#xff1a; tuxedo121300_64_Linux_01_x86 Tuxedo下載地址&#xff1a; Oracle Tuxedo Downloads 二、新建Oracle用戶組&#xff08;創建Oracle用戶時&#xff0c;需要root權限操作&#xff0c;登陸&#xff09; [rootloca…

【CiteSpace】引文可視化分析軟件CiteSpace下載與安裝

CiteSpace 譯“引文空間”&#xff0c;是一款著眼于分析科學分析中蘊含的潛在知識&#xff0c;是在科學計量學、數據可視化背景下逐漸發展起來的引文可視化分析軟件。由于是通過可視化的手段來呈現科學知識的結構、規律和分布情況&#xff0c;因此也將通過此類方法分析得到的可…

【Spring教程23】Spring框架實戰:從零開始學習SpringMVC 之 SpringMVC簡介與SpringMVC概述

目錄 1&#xff0c;SpringMVC簡介2、SpringMVC概述 歡迎大家回到《Java教程之Spring30天快速入門》&#xff0c;本教程所有示例均基于Maven實現&#xff0c;如果您對Maven還很陌生&#xff0c;請移步本人的博文《如何在windows11下安裝Maven并配置以及 IDEA配置Maven環境》&…

python使用vtk與mayavi三維可視化繪圖

VTK&#xff08;Visualization Toolkit&#xff09;是3D計算機圖形學、圖像處理和可視化的強大工具。它可以通過Python綁定使用&#xff0c;適合于科學數據的復雜可視化。Mayavi 依賴于 VTK (Visualization Toolkit)&#xff0c;一個用于 3D 計算機圖形、圖像處理和可視化的強大…

AS安裝目錄

編輯器&#xff1a; sdk: gradle: gradle使用的jdk目錄&#xff1a;Gradle使用的jdk是android studio安裝目錄下的jbr 成功項目的android studio配置&#xff1a;

H264碼流結構

視頻編碼的碼流結構是指視頻經過編碼之后得到的二進制數據是怎么組織的&#xff0c;或者說&#xff0c;就是編碼后的碼流我們怎么將一幀幀編碼后的圖像數據分離出來&#xff0c;以及在二進制碼流數據中&#xff0c;哪一塊數據是一幀圖像&#xff0c;哪一塊數據是另外一幀圖像。…

C++面試寶典第4題:合并鏈表

題目 有一個鏈表&#xff0c;其節點聲明如下&#xff1a; struct TNode {int nData;struct TNode *pNext;TNode(int x) : nData(x), pNext(NULL) {} }; 現給定兩個按升序排列的單鏈表pA和pB&#xff0c;請編寫一個函數&#xff0c;實現這兩個單鏈表的合并。合并后&#xff0c;…

scheduleatfixedrate詳解

scheduleatfixedrate詳解 大家好&#xff0c;我是免費搭建查券返利機器人賺傭金就用微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01;在Java開發中&#xff0c;我們常常需要執行定時任務&#xff0c;并且需要保證任務按照一定…

使用Java實現基數排序算法

文章目錄 基數排序算法 基數排序算法 &#xff08;1&#xff09;基本思想&#xff1a;將整數按位數切割成不同的數字&#xff0c;然后按每個位數分別比較。 &#xff08;2&#xff09;排序過程&#xff1a;將所有待比較數值&#xff08;正整數&#xff09;統一為同樣的數位長…

Vuex快速上手

一、Vuex 概述 目標&#xff1a;明確Vuex是什么&#xff0c;應用場景以及優勢 1.是什么 Vuex 是一個 Vue 的 狀態管理工具&#xff0c;狀態就是數據。 大白話&#xff1a;Vuex 是一個插件&#xff0c;可以幫我們管理 Vue 通用的數據 (多組件共享的數據)。例如&#xff1a;購…

VSCode SSH登錄服務器 提示XHR failed

設置->搜索“代理” 把圖中的√去掉 重啟 即可

OVS主線流程

OVS是open virtual switch的簡稱&#xff0c;是現在廣泛使用的軟件實現的虛擬網絡交換機。 各大云廠商普遍使用OVS來實現自身的虛擬網絡&#xff0c;各廠商會根據自身需要加以修改使之符合自身需求&#xff0c;DPU中也使用OVS來實現流表的offload。OVS中的流表基于多級結構&am…

變相增大BatchSize——梯度累積

常規訓練方式 for x,y in train_loader:pred model(x)loss criterion(pred, label)# 反向傳播loss.backward()# 根據新的梯度更新網絡參數optimizer.step()# 清空以往梯度&#xff0c;通過下面反向傳播重新計算梯度optimizer.zero_grad() pytorch每次forward完都會得到一個…

tidb安裝 centos7單機集群

安裝 [rootlocalhost ~]# curl --proto https --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh [rootlocalhost ~]# source .bash_profile [rootlocalhost ~]# which tiup [rootlocalhost ~]# tiup playground v6.1.0 --db 2 --pd 3 --kv 3 --host 192.168.1…

按這個套路寫的年底工作總結,運維人能少背多少鍋?

在職場中&#xff0c;年終工作總結是一項重要的任務&#xff0c;不僅有助于回顧過去一年的工作成果&#xff0c;也為未來設定新的目標提供了參考。在進行年終工作總結的過程中&#xff0c;合理的工作匯報是至關重要的一環。 一、匯報需要堅守的4個法則 01.線索必須單一 觀點&am…

js實現元素可拖拽方法

業務需要&#xff1a;Vueelement plus實現對彈框進行拖拽&#xff0c;并可拖拽到顯示頁面的外面&#xff0c;而element提供的拖拽只能在當前頁面不可超出。所以手寫了拖拽方法。 實現效果 對元素進行拖拽 拖拽方法 function dragElement(ele) {ele.addEventListener("mous…

SQL自學通之函數 :對數據的進一步處理

目錄 一、目標 二、匯總函數 COUNT SUM AVG MAX MIN VARIANCE STDDEV 三、日期/時間函數 ADD_MONTHS LAST_DAY MONTHS_BETWEEN NEW_TIME NEXT_DAY SYSDATE 四、數學函數 ABS CEIL 和FLOOR COS、 COSH 、SIN 、SINH、 TAN、 TANH EXP LN and LOG MOD POW…

【SpringBoot教程】SpringBoot 實現前后端分離的跨域訪問(Nginx)

作者簡介&#xff1a;大家好&#xff0c;我是擼代碼的羊駝&#xff0c;前阿里巴巴架構師&#xff0c;現某互聯網公司CTO 聯系v&#xff1a;sulny_ann&#xff08;17362204968&#xff09;&#xff0c;加我進群&#xff0c;大家一起學習&#xff0c;一起進步&#xff0c;一起對抗…