大模型都會(huì)標(biāo)注圖像了,簡(jiǎn)單對(duì)話即可!來(lái)自清華&NUS
多模態(tài)大模型集成了檢測(cè)分割模塊后,摳圖變得更簡(jiǎn)單了!
只需用自然語(yǔ)言描述需求,模型就能分分鐘標(biāo)注出要尋找的物體,并做出文字解釋。
在其背后提供支持的,是新加坡國(guó)立大學(xué)NExT++實(shí)驗(yàn)室與清華劉知遠(yuǎn)團(tuán)隊(duì)一同打造的全新多模態(tài)大模型。
隨著GPT-4v的登場(chǎng),多模態(tài)領(lǐng)域涌現(xiàn)出一大批新模型,如LLaVA、BLIP-2等等。
為了進(jìn)一步擴(kuò)展多模態(tài)大模型的區(qū)域理解能力,研究團(tuán)隊(duì)打造了一個(gè)可以同時(shí)進(jìn)行對(duì)話和檢測(cè)、分割的多模態(tài)模型NExT-Chat。
NExT-Chat的最大亮點(diǎn),是在多模態(tài)模型中引入位置輸入和輸出的能力。
其中位置輸入能力指的是根據(jù)指定的區(qū)域回答問題(下方左圖);位置輸出能力指的則是定位對(duì)話中提及的物體(下方右圖):
即使是復(fù)雜的定位問題,也能迎刃而解:
除了物體定位,NExT-Chat還可以對(duì)圖片或其中的某個(gè)部分進(jìn)行描述:
分析完圖像的內(nèi)容之后,NExT-Chat可以利用得到的信息進(jìn)行推理:
為了準(zhǔn)確評(píng)估NExT-Chat的表現(xiàn),研究團(tuán)隊(duì)在多個(gè)任務(wù)數(shù)據(jù)集上進(jìn)行了測(cè)試。
在多個(gè)數(shù)據(jù)集上取得SOTA
作者首先展示了NExT-Chat在指代表達(dá)式分割(RES)任務(wù)上的實(shí)驗(yàn)結(jié)果。
雖然僅僅用了極少量的分割數(shù)據(jù),NExT-Chat卻展現(xiàn)出了良好的指代分割能力,甚至打敗了一系列有監(jiān)督模型(如MCN,VLT等)和用了5倍以上分割掩模標(biāo)注的LISA方法。
△RES任務(wù)上NExT-Chat結(jié)果
接著,研究團(tuán)隊(duì)展示了NExT-Chat在REC任務(wù)上的實(shí)驗(yàn)結(jié)果。
如下表所示,相比于相當(dāng)一系列的有監(jiān)督方法(如UNITER),NExT-Chat都可以取得更優(yōu)的效果。
一個(gè)有意思的發(fā)現(xiàn)是NExT-Chat比使用了類似框訓(xùn)練數(shù)據(jù)的Shikra效果要稍差一些。
作者猜測(cè),這是由于pix2emb方法中LM loss和detection loss更難以平衡,以及Shikra更貼近現(xiàn)有的純文本大模型的預(yù)訓(xùn)練形式導(dǎo)致的。
△REC任務(wù)上NExT-Chat結(jié)果
在圖像幻覺任務(wù)上,如表3所示,NExT-Chat可以在Random和Popular數(shù)據(jù)集上取得最優(yōu)的準(zhǔn)確率。
△POPE數(shù)據(jù)集上NExT-Chat結(jié)果
在區(qū)域描述任務(wù)上,NExT-Chat也能取得最優(yōu)的CIDEr表現(xiàn),且在該指標(biāo)打敗了4-shot情況下的Kosmos-2。
△RefCOCOg數(shù)據(jù)集上NExT-Chat結(jié)果
那么,NExT-Chat背后都采用了哪些方法呢?
提出圖像編碼新方式
傳統(tǒng)方法的缺陷
傳統(tǒng)的模型主要通過pix2seq的方式進(jìn)行LLM相關(guān)的位置建模。
比如Kosmos-2將圖像劃分成32x32的區(qū)塊,用每個(gè)區(qū)塊的id來(lái)代表點(diǎn)的坐標(biāo);Shikra將物體框的坐標(biāo)轉(zhuǎn)化為純文本的形式從而使得LLM可以理解坐標(biāo)。
但使用pix2seq方法的模型輸出主要局限在框和點(diǎn)這樣的簡(jiǎn)單格式,而很難泛化到其他更密集的位置表示格式,比如segmentation mask。
為了解決這個(gè)問題,本文提出了一種全新的基于embedding的位置建模方式pix2emb。
pix2emb方法
不同于pix2seq,pix2emb所有的位置信息都通過對(duì)應(yīng)的encoder和decoder進(jìn)行編碼和解碼,而不是借助LLM本身的文字預(yù)測(cè)頭。
△pix2emb方法簡(jiǎn)單示例
如上圖所示,位置輸入被對(duì)應(yīng)的encoder編碼為位置embedding,而輸出的位置embedding則通過Box Decoder和Mask Decoder轉(zhuǎn)化為框和掩模。
這樣做帶來(lái)了兩個(gè)好處:
- 模型的輸出格式可以非常方便的擴(kuò)展到更多復(fù)雜形式,比如segmentation mask。
- 模型可以非常容易的定位任務(wù)中已有的實(shí)踐方式,比如本文的detection loss采用L1 Loss和GIoU Loss (pix2seq則只能使用文本生成loss),本文的mask decoder借助了已有的SAM來(lái)做初始化。
通過將pix2seq與pix2emb結(jié)合,作者訓(xùn)練了全新的NExT-Chat模型。
NExT-Chat模型
△NExT-Chat模型架構(gòu)
NExT-Chat整體采用了LLaVA架構(gòu),即通過Image Encoder來(lái)編碼圖像信息并輸入LLM進(jìn)行理解,并在此基礎(chǔ)上添加了對(duì)應(yīng)的Box Encoder和兩種位置輸出的Decoder。
為了解決LLM不知道何時(shí)該使用語(yǔ)言的LM head還是位置解碼器的問題,NExT-Chat額外引入一個(gè)全新的token類型來(lái)標(biāo)識(shí)位置信息。
如果模型輸出了,則該token的embedding會(huì)被送入對(duì)應(yīng)的位置解碼器進(jìn)行解碼而不是語(yǔ)言解碼器。
此外,為了維持輸入階段和輸出階段位置信息的一致性,NExT-Chat額外引入了一個(gè)對(duì)齊約束:
△位置輸入、輸出約束
如上圖所示,box和位置embedding會(huì)被分別通過解碼器、編碼器或解碼器編碼器組合,并要求前后不發(fā)生變化。
作者發(fā)現(xiàn)該方法可以極大程度促進(jìn)位置輸入能力的收斂。
而NExT-Chat的模型訓(xùn)練主要包括3個(gè)階段:
- 第一階段:訓(xùn)練模型基本的框輸入輸出基本能力。NExT-Chat采用Flickr-30K,RefCOCO,VisualGenome等包含框輸入輸出的數(shù)據(jù)集進(jìn)行預(yù)訓(xùn)練。訓(xùn)練過程中,LLM參數(shù)會(huì)被全部訓(xùn)練。
- 第二階段:調(diào)整LLM的指令遵循能力。通過一些Shikra-RD,LLaVA-instruct之類的指令微調(diào)數(shù)據(jù)使得模型可以更好的響應(yīng)人類的要求,輸出更人性化的結(jié)果。
- 第三階段:賦予NExT-Chat模型分割能力。通過以上兩階段訓(xùn)練,模型已經(jīng)有了很好的位置建模能力。作者進(jìn)一步將這種能力擴(kuò)展到mask輸出上。實(shí)驗(yàn)發(fā)現(xiàn),通過使用極少量的mask標(biāo)注數(shù)據(jù)和訓(xùn)練時(shí)間(大約3小時(shí)),NExT-Chat可以快速的擁有良好的分割能力。
這樣的訓(xùn)練流程的好處在于:檢測(cè)框數(shù)據(jù)豐富且訓(xùn)練開銷更小。
NExT-Chat通過在充沛的檢測(cè)框數(shù)據(jù)訓(xùn)練基本的位置建模能力,之后可以快速的擴(kuò)展到難度更大且標(biāo)注更稀缺的分割任務(wù)上。