能看圖、會(huì)聊天,還會(huì)跨模態(tài)推理和定位,能落地復(fù)雜場(chǎng)景的DetGPT來了
一直以來,人類夢(mèng)想著機(jī)器人能夠輔助人類處理生活和工作的事情?!罢?qǐng)幫我調(diào)低空調(diào)的溫度”,甚至 “請(qǐng)幫我寫一個(gè)商城網(wǎng)站” 都在近年來的家居助手和 OpenAI 發(fā)布的 Copilot 上得以實(shí)現(xiàn)。
GPT-4 的出現(xiàn),進(jìn)一步為我們展示了多模態(tài)大模型在視覺理解上的潛力。開源中小模型方面,LLAVA、minigpt-4 表現(xiàn)不俗,可以看圖聊天,還可以為人類猜測(cè)美食圖片中的菜譜。然而,這些模型在實(shí)際落地中仍然面臨重要的挑戰(zhàn):沒有精準(zhǔn)的定位能力,不能給出某物體在圖片中的具體位置,也不能理解人類的復(fù)雜指令來檢測(cè)具體物體,因此很多時(shí)候無法執(zhí)行人類的具體任務(wù)。在實(shí)際場(chǎng)景中,人們遇到復(fù)雜問題,如果能通過拍一張照來詢問智能助手得到正確答案,這樣的 “拍照問問” 功能簡(jiǎn)直炫酷。
要實(shí)現(xiàn) “拍照問問” 這一功能,需要機(jī)器人具備多項(xiàng)能力:
1. 語(yǔ)言理解能力:能夠聽懂并理解人類的意圖
2. 視覺理解能力:能夠理解看到的畫面中的物體
3. 常識(shí)推理能力:能夠?qū)?fù)雜的人類意圖轉(zhuǎn)換為可定位的精確目標(biāo)
4. 物體定位能力:能夠從畫面中定位和檢測(cè)出對(duì)應(yīng)物體
這四大能力,目前僅有少數(shù)的大模型(比如谷歌的 PaLM-E)同時(shí)具備。然而,來自港科大 & 港大的研究人員提出了一個(gè)全開源模型 DetGPT (全名 DetectionGPT),只需微調(diào)三百萬(wàn)參數(shù)量,讓模型輕松擁有了復(fù)雜推理和局部物體定位能力,可以泛化到大多數(shù)場(chǎng)景。這意味著模型能夠通過自身知識(shí)的推理來理解人類抽象指令,輕松識(shí)別圖片中的人類感興趣的物體!他們已經(jīng)將模型做成 “拍照問問” demo,歡迎在線體驗(yàn):https://detgpt.github.io/
DetGPT 可以讓用戶用自然語(yǔ)言操作一切,不需要繁瑣的命令或者界面。同時(shí),DetGPT 還具備智能推理和目標(biāo)檢測(cè)能力,可以準(zhǔn)確地理解用戶的需求和意圖。例如人類發(fā)一個(gè)語(yǔ)言指令 “我想喝冷飲”,機(jī)器人首先在場(chǎng)景里搜索冷飲,但是沒有找到。于是開始思考 “場(chǎng)景里沒有冷飲,我應(yīng)該去哪里找”。通過強(qiáng)大的常識(shí)推理能力模型想到了冰箱,于是掃描場(chǎng)景畫面發(fā)現(xiàn)了冰箱,成功鎖定飲料位置!
- 開源代碼:https://github.com/OptimalScale/DetGPT
- Demo 在線試玩:https://detgpt.github.io/
夏天口渴,圖片里哪里會(huì)有冰飲料?DetGPT 輕松理解找到冰箱:
明天要早起?DetGPT 輕松 pick 電子鬧鐘:
高血壓、容易累?去到水果市場(chǎng),不清楚買什么水果能緩解高血壓?DetGPT 充當(dāng)你的營(yíng)養(yǎng)學(xué)老師:
塞爾達(dá)游戲不會(huì)通關(guān)?DetGPT 助你變裝通過女兒國(guó)關(guān)卡:
圖片的視野范圍內(nèi)有什么危險(xiǎn)事物?DetGPT 成為保護(hù)你的安全員:
圖片里有什么物品對(duì)小孩來說很危險(xiǎn)?DetGPT 依然沒問題:
DetGPT 有什么特性?
- 對(duì)圖片中具體物體的理解能力大幅提升。相比于以往的圖文對(duì)話多模態(tài)模型,我們能夠通過理解用戶指令從圖片中檢索并定位出目標(biāo)物體,而不是單純對(duì)整張圖做出描述。
- 能理解人類復(fù)雜指令,降低用戶的提問門檻。比如,模型可以理解問題 “找到圖中能夠緩解高血壓的食物”。而傳統(tǒng)目標(biāo)檢測(cè)需要人類已知答案,提前預(yù)設(shè)檢測(cè)類別 “香蕉”。
- DetGPT 能根據(jù)已有 LLM 知識(shí)進(jìn)行推理,從而精確定位到圖中能解決復(fù)雜任務(wù)的對(duì)應(yīng)物體。對(duì)于復(fù)雜的任務(wù),比如 “緩解高血壓的食物”。DetGPT 可以對(duì)這一復(fù)雜任務(wù)逐步推理:緩解高血壓 -> 鉀元素能夠緩解高血壓 -> 香蕉富含鉀元素 -> 香蕉可以緩解高血壓 -> 需要識(shí)別物體香蕉
- 提供人類常識(shí)范圍之外的答案。對(duì)一些不常見的問題,比如人類不了解哪些水果富含鉀,模型能根據(jù)已有知識(shí)進(jìn)行解答。
值得關(guān)注的新方向:利用常識(shí)推理實(shí)現(xiàn)更精準(zhǔn)開集目標(biāo)檢測(cè)
傳統(tǒng)檢測(cè)任務(wù)要求預(yù)設(shè)可能的物體類別,從而進(jìn)行檢測(cè)。但是精確且全面描述要檢測(cè)的物體,對(duì)人類來說是不友好的,甚至是不現(xiàn)實(shí)的。具體而言,(1)受到有限記憶 / 知識(shí)的限制,人并不總能精確表述自己想要檢測(cè)的目標(biāo)物體。比如,醫(yī)生建議有高血壓的人多吃水果補(bǔ)充鉀元素,但不了解哪些水果富含鉀,就無法給出具體的水果名稱讓模型去檢測(cè);如果能直接把問題 “把能緩解高血壓的水果識(shí)別出來” 拋給檢測(cè)模型,人類只需要拍一張照片,模型自身去思考、推理、和檢測(cè)富含鉀的水果,這個(gè)問題就簡(jiǎn)單許多。(2)人類能舉例物體類別是不全面的。比如,如果相對(duì)公共場(chǎng)所不符合公共秩序的行為進(jìn)行監(jiān)控,人類或許能只能簡(jiǎn)單列出幾個(gè)場(chǎng)景如持刀、吸煙;但如果直接把問題 “檢測(cè)不符合公共秩序的行為” 交給檢測(cè)模型,模型自己進(jìn)行思考、根據(jù)自己的知識(shí)進(jìn)行推理,則能捕捉到更多的不良行為和泛化到更多需要檢測(cè)的相關(guān)類別。畢竟普通人類所了解的知識(shí)是有限的,能夠舉出來的物體類別也是有限的,但如果有一個(gè)類似 ChatGPT 的大腦進(jìn)行輔助和推理,人類所需要給出的指令就簡(jiǎn)單多了,所獲的答案也能精確、全面許多。
基于人類指令的抽象性和局限性,港科大 & 港大的研究人員提出 “推理型目標(biāo)檢測(cè) ” 這一新方向。簡(jiǎn)單來說,就是人類給出一些抽象的任務(wù),模型能自己去理解、推理圖片里的哪些物體可能完成這一任務(wù),并將其檢測(cè)出來。舉個(gè)簡(jiǎn)單的例子,人類描述 “我想喝一杯冷飲,在哪里可以找到它”,模型看到的是一張廚房的照片,它能夠把 “冰箱” 檢測(cè)出來。這一課題要求將多模態(tài)模型的圖像理解能力與語(yǔ)言大模型儲(chǔ)藏的豐富知識(shí)完美結(jié)合、用于細(xì)粒度的檢測(cè)任務(wù)場(chǎng)景中:利用語(yǔ)言模型的大腦來理解人類的抽象指令,精確地定位圖片中人類感興趣的物體,而不需要預(yù)設(shè)物體類別。
方法介紹
“推理型目標(biāo)檢測(cè) ” 是一個(gè)困難的問題,因?yàn)闄z測(cè)器不僅需要對(duì)用戶的粗粒度 / 抽象的指令進(jìn)行理解和推理,更要分析當(dāng)前所看到的視覺信息,從而定位出目標(biāo)物體。在這一方向上,港科大 & 港大的研究人員進(jìn)行了一些初步的探索。具體而言,他們利用預(yù)訓(xùn)練好的視覺編碼器 (BLIP-2) 來獲取圖片視覺特征,通過一個(gè)對(duì)齊函數(shù) (alignment function) 將視覺特征對(duì)齊到文本空間。利用大規(guī)模語(yǔ)言模型 (Robin/Vicuna) 來理解用戶問題,結(jié)合看到的視覺信息,對(duì)用戶真正感興趣的物體進(jìn)行推理。然后將物體名稱提供給預(yù)訓(xùn)練好的檢測(cè)器 (Grouding-DINO) 進(jìn)行具體位置的預(yù)測(cè)。這樣一來,模型可以根據(jù)用戶的任何指令分析圖片,精準(zhǔn)地預(yù)測(cè)出用戶感興趣物體的位置。
值得注意的是這里的難點(diǎn)主要在于,針對(duì)不同具體任務(wù),模型要能夠?qū)崿F(xiàn)特定格式(task-specific)的輸出,而盡可能不損害模型原本的能力。為指導(dǎo)語(yǔ)言模型遵循特定的模式,在理解圖像和用戶指令的前提下進(jìn)行推理和生成符合目標(biāo)檢測(cè)格式的輸出,研究團(tuán)隊(duì)利用 ChatGPT 生成跨模態(tài) instruction data 來微調(diào)模型。具體而言,基于 5000 個(gè) coco 圖片,他們利用 ChatGPT 創(chuàng)建了 3w 個(gè)跨模態(tài)圖像 - 文本微調(diào)數(shù)據(jù)集。為了提高訓(xùn)練的效率,他們固定住其他模型參數(shù),只學(xué)習(xí)跨模態(tài)線性映射。實(shí)驗(yàn)效果證明,即使只有線性層被微調(diào),語(yǔ)言模型也能夠理解細(xì)粒度的圖像特征,并遵循特定的模式來執(zhí)行基于推理的圖像檢測(cè)任務(wù)、表現(xiàn)出優(yōu)異的性能。
這一研究課題具有非常大的潛力。基于這一技術(shù),家庭機(jī)器人領(lǐng)域?qū)⑦M(jìn)一步大放異彩:家庭中的人們可以通過抽象或者粗粒度的語(yǔ)音指令,讓機(jī)器人理解、識(shí)別、并定位需要的物品,提供相關(guān)服務(wù)。在工業(yè)機(jī)器人領(lǐng)域,這種技術(shù)更將煥發(fā)出無盡的活力:工業(yè)機(jī)器人可以與人類工作人員更加自然地協(xié)作,準(zhǔn)確理解他們的指令和需求,實(shí)現(xiàn)智能化的決策和操作。在生產(chǎn)線上,人類工作人員可以通過粗粒度的語(yǔ)音指令或文字輸入,讓機(jī)器人自動(dòng)理解、識(shí)別并定位需要加工的物品,從而提高生產(chǎn)效率和質(zhì)量。
基于自帶推理能力的目標(biāo)檢測(cè)模型,我們可以開發(fā)出更加智能化、自然化、高效化的機(jī)器人,為人類提供更加便捷、高效和人性化的服務(wù)。這是一個(gè)具有廣闊前景的領(lǐng)域。也值得更多研究者的進(jìn)行關(guān)注和進(jìn)一步探索。
值得一提的是,DetGPT 支持多種語(yǔ)言模型,目前已經(jīng)基于 Robin-13B 和 Vicuna-13B 兩個(gè)語(yǔ)言模型進(jìn)行驗(yàn)證。Robin 系列語(yǔ)言模型是港科大 LMFlow 團(tuán)隊(duì)(https://github.com/OptimalScale/LMFlow)訓(xùn)練的對(duì)話模型,在多項(xiàng)語(yǔ)言能力測(cè)評(píng)基準(zhǔn)上達(dá)到了和 Vicuna 相當(dāng)?shù)男ЧP拖螺d: https://github.com/OptimalScale/LMFlow#model-zoo)。之前機(jī)器之心報(bào)道過 LMFlow 團(tuán)隊(duì)在消費(fèi)級(jí)顯卡 3090 上只需 5 小時(shí)訓(xùn)練專屬 ChatGPT,今天這一團(tuán)隊(duì)聯(lián)合港大 NLP 實(shí)驗(yàn)室又給我們帶來了多模態(tài)的驚喜。