多模態(tài)LLM幻覺(jué)問(wèn)題降低30%!業(yè)內(nèi)首個(gè)“啄木鳥(niǎo)”免重訓(xùn)方法誕生|中科大
還在用指令微調(diào)解決多模態(tài)大模型的“幻覺(jué)”問(wèn)題嗎?
比如下圖中模型將橙色柯基錯(cuò)認(rèn)為“紅狗”,還指出周?chē)€有幾條。

現(xiàn)在,中科大的一項(xiàng)研究想到了一個(gè)全新辦法:
一個(gè)免重訓(xùn)、即插即用的通用架構(gòu),直接從模型給出的錯(cuò)誤文本下手,“倒推”出可能出現(xiàn)“幻覺(jué)”之處,然后與圖片確定事實(shí),最終直接完成修正。
他們將這個(gè)方法命名為“啄木鳥(niǎo)”(Woodpecker)。

就像這位所謂的“森林醫(yī)生”先找出樹(shù)木的蟲(chóng)洞再吃掉里面的蟲(chóng)子一樣,本文中所提出的“啄木鳥(niǎo)”也是多模態(tài)大模型們的“幻覺(jué)”醫(yī)生,能夠?qū)?wèn)題先診斷出來(lái)再一一糾正。
結(jié)果是“醫(yī)術(shù)確實(shí)高明”,成功將:
(1)MiniGPT-4的準(zhǔn)確性從54.67%提高到了85.33%;
(2)mPLUG Ow的準(zhǔn)確性從62%提到了86.33%。
如下圖所示,各種難以檢測(cè)到的小對(duì)象、復(fù)雜的計(jì)數(shù)場(chǎng)景,它都能沒(méi)問(wèn)題。

那么,它具體是如何診斷的呢?
“啄木鳥(niǎo)法”治療多模態(tài)LLM幻覺(jué)目前,業(yè)內(nèi)對(duì)于大模型幻覺(jué)問(wèn)題的解決辦法基本都是用特定數(shù)據(jù)進(jìn)行指令微調(diào)。
比如說(shuō),一些多模態(tài)大模型(MLLM)在回答問(wèn)題時(shí)總是傾向于肯定答案(eg. 面對(duì)一個(gè)光頭人物圖,問(wèn)它頭發(fā)是什么顏色,張口就說(shuō)“黑”),那么我們?cè)傥菇o模型一些包含負(fù)樣本的數(shù)據(jù),就能解決它“無(wú)中生有”的幻覺(jué),遇到?jīng)]有的就說(shuō)“no”。
除了指令微調(diào),也有的會(huì)進(jìn)行架構(gòu)調(diào)整,反正都要重新訓(xùn)練一個(gè)新的模型。
本文提出的“啄木鳥(niǎo)”框架,是業(yè)內(nèi)第一個(gè)無(wú)需此操作就能解決“幻覺(jué)”的全新辦法。
它一共分為5個(gè)步驟,每一步都采用了清晰透明的設(shè)計(jì)方式,因此具備良好的可解釋性。

具體而言:
第一步,關(guān)鍵概念提取。
指找出模型給出的答案中提到的主要對(duì)象,即最有可能解除“幻覺(jué)”的元素。
例如對(duì)于下圖,多模態(tài)大模型最開(kāi)始可能描述圖中有一輛自行車(chē)停在一個(gè)垃圾桶旁邊,還說(shuō)圖上有幾個(gè)人從垃圾桶旁邊走過(guò)。

那么,我們就可以得到三個(gè)關(guān)鍵概念:自行車(chē)、垃圾桶和人。
第二步,問(wèn)題構(gòu)造。
指在獲取關(guān)鍵概念后,圍繞它們提出一些問(wèn)題有助于檢驗(yàn)“幻覺(jué)”所在的問(wèn)題。
可主要分為對(duì)象層面和屬性層面,前者可以問(wèn)“圖中有幾輛自行車(chē)?”,后者可問(wèn)“垃圾桶位于什么位置?”。
在此,由于屬性問(wèn)題比較依賴于上下文,作者也用了一些帶有上下文的例子來(lái)提示模型,以便提出的問(wèn)題更有意義
第三步,視覺(jué)驗(yàn)證。
指引用專家模型回答上步提出的所有問(wèn)題,方便后續(xù)校正。
對(duì)于對(duì)象層面的問(wèn)題,例如我們利用GroundingDINO來(lái)進(jìn)行目標(biāo)檢測(cè),確定關(guān)鍵目標(biāo)是否存在以及關(guān)鍵目標(biāo)的數(shù)量。
對(duì)于屬性問(wèn)題,則用BLIP-2來(lái)搞定。這類傳統(tǒng)VQA模型輸出答案的長(zhǎng)度有限,”幻覺(jué)”問(wèn)題更少。
第四步,視覺(jué)斷言生成。
簡(jiǎn)單來(lái)說(shuō),就是基于于前兩步中獲得的問(wèn)題以及對(duì)應(yīng)的視覺(jué)信息,合成結(jié)構(gòu)化的“視覺(jué)斷言”。
格式如下:

最后,“幻覺(jué)”糾正。
即根據(jù)上步的總結(jié)比對(duì)模型原始的輸出,得出新的答案。
具體實(shí)施環(huán)節(jié)中,“啄木鳥(niǎo)”采用GPT-3.5-turbo來(lái)完成關(guān)鍵概念提取、提問(wèn)和最后一步的糾正。
由于一些多模態(tài)模型的指令跟隨能力較弱,導(dǎo)致結(jié)果可能輸出無(wú)關(guān)文本(例如表情、特殊符號(hào)),再加上有時(shí)一些模型只輸出一個(gè)“是”或“否”,這讓實(shí)際的校正過(guò)程也面臨挑戰(zhàn)。
不過(guò),我們兩個(gè)簡(jiǎn)單措施就可以搞定:
(1)將模型回答的“是”或“否”與“啄木鳥(niǎo)”給出的答案組合起來(lái),比如“是的,圖像中有一只狗”,就不怕模型原本只是給出一個(gè)簡(jiǎn)單的“yes or no”逃過(guò)校正了。
(2)在校正過(guò)程中,將原始問(wèn)題添加到LLM,以便LLM更好地掌握文本和任務(wù)要求。
效果驗(yàn)證:幻覺(jué)減少30%整個(gè)方法看起來(lái)非常好理解,效果如何呢?
在此,作者在POPE、MME和LLaVA-QA90數(shù)據(jù)集上進(jìn)行了全面的定量和定性實(shí)驗(yàn)。
基線模型選用這四個(gè)主流多模態(tài)大模型:
MiniGPT-4、mPLUG Owl、LLaVA和Otter。
最終,POPE數(shù)據(jù)集上的結(jié)果如下:
(w/Ours表示由“啄木鳥(niǎo)”校正的MLLM響應(yīng),x為未采用,對(duì)勾為采用)
可以看到,“啄木鳥(niǎo)”都能給這幾個(gè)模型帶來(lái)不同程度的提升,同時(shí)大幅降低模型回答“yes”的概率。
其中在隨機(jī)設(shè)定下,它給MiniGPT-4和mPLUG-Owl和在準(zhǔn)確率指標(biāo)上分別帶來(lái)了30.66%和24.33%的提升。

在更全面的MME數(shù)據(jù)集上,“啄木鳥(niǎo)”也有效減少了多模態(tài)大模型在對(duì)象級(jí)和屬性級(jí)層面的“幻覺(jué)”,也就是某物是否存在、數(shù)量多少,以及它的位置和顏色。
比如LLaVA的顏色得分從78.33分大幅提升到155分。

不過(guò),位置方面的“幻覺(jué)”提升不是特別大,作者推測(cè)可能是VQA模型BLIP-2在位置推理方面的能力相對(duì)較弱等原因造成的。
為了更直接地衡量修正表現(xiàn),更直接的方式是使用開(kāi)放評(píng)測(cè)。
不同于以往將圖片轉(zhuǎn)譯后送入純文本GPT-4的做法,作者利用OpenAI最近開(kāi)放的視覺(jué)接口,提出使用GPT-4V對(duì)修正前后的圖片描述直接對(duì)下列兩個(gè)維度進(jìn)行打分:
(1)準(zhǔn)確度:模型的答復(fù)相對(duì)于圖片內(nèi)容是否準(zhǔn)確;
(2)細(xì)節(jié)程度:模型答復(fù)的細(xì)節(jié)豐富度。
在該實(shí)驗(yàn)條件下,實(shí)驗(yàn)結(jié)果如下表所示(滿分為10):

結(jié)果表明經(jīng)過(guò)“啄木鳥(niǎo)“修正后圖片描述的準(zhǔn)確性有一定的提升,這說(shuō)明該框架可以有效修正描述中幻視的部分。
另一方面,“啄木鳥(niǎo)“修正后引入的定位信息豐富了文本描述,提供了進(jìn)一步的位置信息,從而提升了細(xì)節(jié)豐富度。
GPT-4V輔助的評(píng)測(cè)樣例如下圖所示:

還有Demo供大家測(cè)試使用。
如下圖所示,上傳圖片并輸入請(qǐng)求,就可以得到修正前以及修正后的模型答復(fù),以及供參考驗(yàn)證的新圖片。

Woopecker論文地址:https://arxiv.org/abs/2310.16045Woopecker代碼地址:https://github.com/BradyFU/Woodpecker
- 免責(zé)聲明
- 本文所包含的觀點(diǎn)僅代表作者個(gè)人看法,不代表新火種的觀點(diǎn)。在新火種上獲取的所有信息均不應(yīng)被視為投資建議。新火種對(duì)本文可能提及或鏈接的任何項(xiàng)目不表示認(rèn)可。 交易和投資涉及高風(fēng)險(xiǎn),讀者在采取與本文內(nèi)容相關(guān)的任何行動(dòng)之前,請(qǐng)務(wù)必進(jìn)行充分的盡職調(diào)查。最終的決策應(yīng)該基于您自己的獨(dú)立判斷。新火種不對(duì)因依賴本文觀點(diǎn)而產(chǎn)生的任何金錢(qián)損失負(fù)任何責(zé)任。