純文本模型訓(xùn)出「視覺」表征!MIT最新研究:語言模型用代碼就能作畫
只會(huì)「看書」的大語言模型,有現(xiàn)實(shí)世界的視覺感知力嗎?通過對字符串之間的關(guān)系進(jìn)行建模,關(guān)于視覺世界,語言模型到底能學(xué)會(huì)什么?
最近,麻省理工學(xué)院計(jì)算機(jī)科學(xué)與人工智能實(shí)驗(yàn)室(MIT CSAIL)的研究人員對語言模型的視覺能力進(jìn)行了系統(tǒng)的評估,從簡單形狀、物體到復(fù)雜場景,要求模型不斷生成和識(shí)別出更復(fù)雜的視覺概念,并演示了如何利用純文本模型訓(xùn)練出一個(gè)初步的視覺表征學(xué)習(xí)系統(tǒng)。
論文鏈接:https://arxiv.org/abs/2401.01862
由于語言模型無法以像素的形式輸入或輸出視覺信息,所以在研究中使用代碼來渲染、表示圖像。
雖然LLM生成的圖像看起來不像自然圖像,但從生成結(jié)果,以及模型可以自我糾正來看,對字符串/文本的精確建模可以教會(huì)語言模型關(guān)于視覺世界中的諸多概念。
此外,研究人員還探索了如何利用文本模型生成的圖像來進(jìn)行自監(jiān)督視覺表征學(xué)習(xí),結(jié)果也展現(xiàn)了其用作視覺模型訓(xùn)練的潛力,可以僅使用LLM對自然圖像進(jìn)行語義評估。
語言模型的視覺概念
先問一個(gè)問題:對于人來說,理解「青蛙」的視覺概念意味著什么?
知道它皮膚的顏色、有多少只腳、眼睛的位置、跳躍時(shí)的樣子等細(xì)節(jié)就足夠了嗎?
人們普遍認(rèn)為,要從視覺上理解青蛙的概念,需要看青蛙的圖像,還需要從不同的角度和各種真實(shí)世界的場景中對青蛙進(jìn)行觀察。
如果只觀察文本的話,可以多大程度上理解不同概念的視覺意義?
換到模型訓(xùn)練角度來看,大型語言模型(LLM)的訓(xùn)練輸入就只有文本數(shù)據(jù),但模型已經(jīng)被證明可以理解有關(guān)形狀、顏色等概念的信息,甚至還能通過線性轉(zhuǎn)換到視覺模型的表征中。
也就是說,視覺模型和語言模型在世界表征方面是很相似的。
但現(xiàn)有的關(guān)于模型表征方法大多基于一組預(yù)先選擇的屬性集合來探索模型編碼哪些信息,這種方法無法動(dòng)態(tài)擴(kuò)展屬性,而且還需要訪問模型的內(nèi)部參數(shù)。
所以研究人員提出了兩個(gè)問題:
1、關(guān)于視覺世界,語言模型到底了解多少?
2、能否「只用文本模型」訓(xùn)練出一個(gè)可用于自然圖像的視覺系統(tǒng)?
為了找到答案,研究人員通過測試不同語言模型在渲染(render, 即draw)和識(shí)別(recognize, 即see)真實(shí)世界的視覺概念,來評估哪些信息包含在模型中,從而實(shí)現(xiàn)了測量任意屬性的能力,而無需針對每個(gè)屬性單獨(dú)訓(xùn)練特征分類器。
雖然語言模型無法生成圖像,但像GPT-4等大模型可以生成出渲染物體的代碼,文中通過textual prompt -> code -> image的過程,逐步增加渲染物體的難度來測量模型的能力。
研究人員發(fā)現(xiàn)LLM在生成由多個(gè)物體組成的復(fù)雜視覺場景方面出奇的好,可以高效地對空間關(guān)系進(jìn)行建模,但無法很好地捕捉視覺世界,包括物體的屬性,如紋理、精確的形狀,以及與圖像中其他物體的表面接觸等。
文中還評估LLM識(shí)別感知概念的能力,輸入以代碼表示的繪畫,代碼中包括形狀的序列、位置和顏色,然后要求語言模型回答代碼中描述的視覺內(nèi)容。
實(shí)驗(yàn)結(jié)果發(fā)現(xiàn),LLM與人類正好相反:對于人來說,寫代碼的過程很難,但驗(yàn)證圖像內(nèi)容很容易;而模型則是很難解釋/識(shí)別出代碼的內(nèi)容,但卻可以生成復(fù)雜場景。
此外,研究結(jié)果還證明了語言模型的視覺生成能力可以通過文本糾錯(cuò)(text-based corrections)來進(jìn)一步改善。
研究人員首先使用語言模型來生成說明概念的代碼,然后不斷輸入提示「improve its generated code」(改善生成的代碼)作為條件來修改代碼,最終模型可以通過這種迭代的方式來改善視覺效果。
視覺能力數(shù)據(jù)集:指向場景
研究人員構(gòu)建了三個(gè)文本描述數(shù)據(jù)集來測量模型在創(chuàng)建、識(shí)別和修改圖像渲染代碼的能力,其復(fù)雜度從低到高分別為簡單的形狀及組合、物體和復(fù)雜的場景。
1. 圖形及其組成(Shapes and their compositions)
包含來自不同類別的形狀組成,如點(diǎn)、線、2D形狀和3D形狀,具有32種不同的屬性,如顏色、紋理、位置和空間排列。
完整的數(shù)據(jù)集包含超過40萬個(gè)示例,使用其中1500個(gè)樣本進(jìn)行實(shí)驗(yàn)測試。
2. 物體(Objects)
包含ADE 20K數(shù)據(jù)集的1000個(gè)最常見的物體,生成和識(shí)別的難度更高,因?yàn)榘嘈螤畹膹?fù)雜的組合。
3. 場景(Scenes)
由復(fù)雜的場景描述組成,包括多個(gè)物體以及不同位置,從MS-COCO數(shù)據(jù)集中隨機(jī)均勻抽樣1000個(gè)場景描述得到。
數(shù)據(jù)集中的視覺概念都是用語言進(jìn)行描述的,例如場景描述為「一個(gè)陽光明媚的夏日,在海灘上,有著蔚藍(lán)的天空和平靜的海洋」(a sunny summer day on a beach, with a blue sky and calm ocean)。
在測試過程中,要求LLM根據(jù)描繪的場景來生成代碼并編譯渲染圖像。
實(shí)驗(yàn)結(jié)果
評估模型的任務(wù)主要由三個(gè):
1. 生成/繪制文本:評估LLM在生成對應(yīng)于特定概念的圖像渲染代碼方面的能力。
2. 識(shí)別/查看文本:測試LLM在識(shí)別以代碼表示的視覺概念和場景方面的性能。我們測試每個(gè)模型上的人類繪畫的代碼表示。
3. 使用文本反饋糾正繪圖:評估LLM使用自身生成的自然語言反饋迭代修改其生成代碼的能力。
測試中對模型輸入的提示為:write code in the programming language [programming language name] that draws a [concept]
然后根據(jù)模型的輸出代碼進(jìn)行編譯并渲染,對生成圖像的視覺質(zhì)量和多樣性進(jìn)行評估:
1. 忠實(shí)度(Fidelity)
通過檢索圖像的最佳描述來計(jì)算生成的圖像與真實(shí)描述之間的忠實(shí)度。首先使用CLIP得分計(jì)算每個(gè)圖像與同一類別(形狀/物體/場景)中所有潛在描述之間的一致性,然后以百分比報(bào)告真實(shí)描述的排序(例如,得分100%意味著真實(shí)概念排名第一)。
2. 多樣性(Diversity)
為了評估模型渲染不同內(nèi)容的能力,在代表相同視覺概念的圖像對上使用LPIPS多樣性得分。
3. 逼真度(realism)
對于從ImageNet的1K圖像的采樣集合,使用Fréchet Inception Distance(FID)來量化自然圖像和LLM生成的圖像的分布差異。
對比實(shí)驗(yàn)中,使用Stable Diffusion獲得的模型作為基線。
LLM能可視化(visualize)什么?
研究結(jié)果發(fā)現(xiàn),LLM可以從整個(gè)視覺層次可視化現(xiàn)實(shí)世界的概念,對兩個(gè)不相關(guān)的概念進(jìn)行組合(如汽車形狀的蛋糕),生成視覺現(xiàn)象(如模糊圖像),并設(shè)法正確解釋空間關(guān)系(如水平排列「一排自行車」)。
意料之中的是,從CLIP分?jǐn)?shù)結(jié)果來看,模型的能力會(huì)隨著從形狀到場景的概念復(fù)雜性的增加而下降。
對于更復(fù)雜的視覺概念,例如繪制包含多個(gè)對象的場景,GPT-3.5和GPT-4在使用processing和tikz繪制具有復(fù)雜描述的場景時(shí)比python-matplotlib和python-turtle更準(zhǔn)確。
對于物體和場景,CLIP分?jǐn)?shù)表明包含「人」,「車輛」和「戶外場景」的概念最容易繪制,這種渲染復(fù)雜場景的能力來自于渲染代碼的表現(xiàn)力,模型在每個(gè)場景中的編程能力,以及所涉及的不同概念的內(nèi)部表征質(zhì)量。
LLM不能可視化什么?
在某些情況下,即使是相對簡單的概念,模型也很難繪制,研究人員總結(jié)了三種常見的故障模式:
1. 語言模型無法處理一組形狀和特定空間組織(space organization)的概念;
2. 繪畫粗糙,缺乏細(xì)節(jié),最常出現(xiàn)在Davinci中,尤其是在使用matplotlib和turtle編碼時(shí);
3. 描述是不完整的、損壞的,或只表示某個(gè)概念的子集(典型的場景類別)。
4. 所有模型都無法繪制數(shù)字。
多樣性和逼真度
語言模型展示了生成相同概念的不同可視化的能力。
為了生成相同場景的不同樣本,文中對比了兩種策略:
1. 從模型中重復(fù)采樣;
2. 對參數(shù)化函數(shù)進(jìn)行采樣,該參數(shù)化函數(shù)允許通過更改參數(shù)來創(chuàng)建概念的新繪圖。
模型呈現(xiàn)視覺概念的多樣化實(shí)現(xiàn)的能力反映在高LPIPS多樣性分?jǐn)?shù)中;生成不同圖像的能力表明,LLM能夠以多種方式表示視覺概念,而不局限于一組有限的原型。
LLM生成的圖像遠(yuǎn)不如自然圖像真實(shí),與Stable Diffusion相比,模型在FID指標(biāo)上得分很低,但現(xiàn)代模型的性能要比舊模型更好。
從文本中學(xué)習(xí)視覺系統(tǒng)
訓(xùn)練和評估
研究人員使用無監(jiān)督學(xué)習(xí)得到的預(yù)訓(xùn)練視覺模型作為網(wǎng)絡(luò)骨干,使用MoCo-v2方法在LLM生成的130萬384×384圖像數(shù)據(jù)集上訓(xùn)練ResNet-50模型,總共200個(gè)epoch;訓(xùn)練后,使用兩種方法評估在每個(gè)數(shù)據(jù)集上訓(xùn)練的模型的性能:
1. 在ImageNet-1 k分類的凍結(jié)主干上訓(xùn)練線性層100 epoch,
2. 在ImageNet-100上使用5-最近鄰(kNN)檢索。
從結(jié)果中可以看到,僅使用LLM生成的數(shù)據(jù)訓(xùn)練得到的模型,就可以為自然圖像提供強(qiáng)大的表征能力,而無需再訓(xùn)練線性層。
結(jié)果分析
研究人員將LLM生成的圖像與現(xiàn)有程序生成的圖像進(jìn)行對比,包括簡單的生成程序,如dead-levaves,fractals和StyleGAN,以生成高度多樣化的圖像。
從結(jié)果中來看,LLM方法要優(yōu)于dead-levaves和fractals,但還不是sota;在對數(shù)據(jù)進(jìn)行人工檢查后,研究人員將這種劣效性(inferiority)歸因于大多數(shù)LLM生成的圖像中缺乏紋理。
為了解決這一問題,研究人員將機(jī)Shaders-21k數(shù)據(jù)集與從LLM獲得的樣本相結(jié)合以生成紋理豐富的圖像。
從結(jié)果中可以看到,該方案可以大幅提升性能,并優(yōu)于其他基于程序生成的方案。