Florence-VL來了!使用生成式視覺編碼器,重新定義多模態大語言模型視覺資訊

机器之心發表於2024-12-18

圖片

AIxiv專欄是機器之心釋出學術、技術內容的欄目。過去數年,機器之心AIxiv專欄接收報導了2000多篇內容,覆蓋全球各大高校與企業的頂級實驗室,有效促進了學術交流與傳播。如果您有優秀的工作想要分享,歡迎投稿或者聯絡報導。投稿郵箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com

本文由馬里蘭大學,微軟研究院聯合完成。作者包括馬里蘭大學博士生陳玖海,主要研究方向為語言模型,多模態模型。通訊作者為 Bin Xiao, 主要研究方向為計算機視覺,深度學習和多模態模型。其他作者包括馬里蘭大學助理教授Tianyi Zhou , 微軟研究院研究員 Jianwei Yang , Haiping Wu, Jianfeng Gao 。

圖片

  • 論文:https://arxiv.org/pdf/2412.04424
  • 開原始碼:https://github.com/JiuhaiChen/Florence-VL
  • 專案主頁:https://jiuhaichen.github.io/florence-vl.github.io/
  • 線上 Demo:https://huggingface.co/spaces/jiuhai/Florence-VL-8B
  • 模型下載:https://huggingface.co/jiuhai/florence-vl-8b-sft

Florence-VL 提出了使用生成式視覺編碼器 Florence-2 作為多模態模型的視覺資訊輸入,克服了傳統視覺編碼器(如 CLIP)僅提供單一視覺表徵而往往忽略圖片中關鍵的區域性資訊。 然而 Florence-2 透過生成式預訓練,將多種視覺任務(如影像描述、目標檢測、文字識別和物件定位)統一為 sequence-to-sequence 結構,並透過 prompt 來完成多樣化的視覺任務。在 Florence- VL 中,我們僅使用一個視覺編碼器 Florence-2,但採用多個不同的 prompt,分別注重 caption,OCR 和 grounding,來獲得不同層次的視覺表徵。透過融合這些不同深度的特徵,Florence-VL 實現了更全面的視覺理解。

圖片

圖片

引言

隨著大規模語言模型(LLM)的快速發展,多模態大語言模型(MLLMs)成為視覺與語言任務的主流解決方案。然而,現有的視覺編碼器(如 CLIP 和 SigLIP)雖然在整體語義提取方面表現出色,但存在明顯不足:

  1. 缺乏細粒度理解:僅捕獲影像的整體語義,忽略畫素級和區域性區域的細節。
  2. 任務泛化能力有限:難以適配 OCR、物體定位等需要特定視覺特徵的任務。

Florence-VL 正是針對這一問題提出的解決方案。透過引入生成式視覺基礎模型 Florence-2,Florence-VL 在保持高效訓練的同時,能夠靈活適配不同任務,彌補傳統視覺編碼器的缺陷。

在接下來的部分,我們將詳細介紹 Florence-2 背後的技術原,Florence-VL 如何利用多工視覺特徵,以及我們提出的深度 - 廣度融合策略如何實現視覺資訊的高效整合。

背景介紹:Florence-2

傳統視覺編碼器如 CLIP 和 SigLIP 主要依賴對比學習來預訓練,雖然能在跨模態任務中取得不錯效果,但其輸出的影像特徵通常是單一的全域性語義表示,難以捕獲細粒度資訊。這一缺陷使得這些模型在 OCR 文字提取、物件定位等任務上表現不佳。

Florence-2 則採用了生成式預訓練的方式,將多種視覺任務統一到一個編碼 - 解碼框架中,能夠根據不同任務提示生成多樣化的視覺特徵。

Florence-2 的主要流程包括:

  1. 視覺編碼器 DaViT:將輸入影像轉換為基礎視覺特徵。
  2. 任務提示機制:透過不同的文字提示調整生成目標,從而提取任務特定的視覺資訊。
  3. 編碼 - 解碼框架:結合視覺和文字特徵,輸出滿足不同任務需求的結果。

透過這一架構,Florence-2 實現了全域性語義到區域性細節的視覺特徵生成,為多模態任務提供了更全面的視覺表示。接下來我們將介紹如何使用 Florence-2 來構建 Florence-VL。

方法:深度與廣度融合 (DBFusion)

Florence-VL 的核心創新在於我們提出的深度 - 廣度融合(Depth-Breadth Fusion)策略,它充分挖掘 Florence-2 的生成式特性,將多工提示和多層級特徵有效結合,形成更豐富的視覺表徵。

1. 廣度:透過任務提示擴充套件視覺表徵

不同的視覺任務需要不同的視覺資訊。例如:

  • Captioning:用於理解影像整體語義,生成描述性文字。
  • OCR:提取影像中的文字內容,尤其適用於帶有文字的影像。
  • Grounding:用於定位物體,捕捉物體之間的關係。

Florence-2 透過不同的任務提示,生成針對性強的視覺特徵,從而實現視覺特徵的 “廣度” 擴充套件。

2. 深度:整合多層級的視覺特徵

Florence-2 的不同深度層能夠捕獲從 low- level 到 high-level 的視覺特徵,這種多層級特徵的結合,保證了視覺編碼器既能關注細節,又能捕獲整體資訊。

3. 融合策略:通道拼接實現高效整合

為了將多工和多層級的特徵高效融合,我們設計了通道拼接(Channel Integration)策略。具體做法是將不同特徵按通道維度拼接,並透過 MLP 對映到語言模型的輸入空間。這一策略的優勢在於:避免了增加訓練與推理時的序列長度以及最大程度保留了視覺特徵的多樣性與完整性。

圖片

分析:多種視覺編碼器的對比

為探討不同視覺編碼器(如 CLIP、SigLIP、DINOv2 和 Florence-2)和大語言模型的對齊能力,我們採用了實驗來定量評估不同視覺編碼器與語言模型的跨模態對齊質量。具體方法如下:對於每組圖文配對 (image- caption pair),視覺編碼器生成視覺特徵,語言模型生成文字特徵,我們透過可訓練投影對視覺特徵和文字特徵進行維度對齊,並且透過對齊損失函式來評估視覺編碼器和語言模型的對齊能力。實驗結果表明,Florence-2 相較於其他視覺編碼器顯示出更優的跨模態對齊能力。

圖片

實驗驗證

為了全面評估 Florence-VL 的效能,我們設計了一系列實驗,涵蓋通用視覺問答、OCR、知識理解等多模態任務。

1. 實驗任務與資料

  • 通用視覺問答:如 VQAv2、GQA 等。
  • OCR 與圖表任務:如 TextVQA 和 ChartQA,側重文字提取與圖表分析。
  • 視覺主導任務:如 CV-bench 和 MMVP, 側重視覺資訊理解。
  • 知識密集型任務:如 AI2D、MathVista 等,測試模型對基本知識的理解能力。

我們使用了經過篩選的 15M 影像描述資料 (detailed caption)與 10M 高質量指令微調資料進行訓練,以確保資料的多樣性和高質量。

圖片

2. 實驗結果

在實驗結果中,Florence-VL 在多個多模態基準任務上展現出卓越的效能優勢。特別是在 TextVQA 和 OCR-Bench 等文字提取任務上,得益於 Florence-2 生成式視覺編碼器提供的細粒度 OCR 特徵。此外,在通用視覺問答任務,視覺主導任務,知識密集型任務中,Florence-VL 透過深度 - 廣度融合策略有效結合了多層級、多工視覺特徵,使得整體準確率相比傳統 CLIP-based 方法有所提升。

3. 消融實驗

為了證明採用 Florence-2 作為視覺編碼器的優越性,我們使用 llava 1.5 的預訓練和指令微調資料,並且採用和 llava 1.5 相同的訓練策略。我們發現 florence-VL 顯著優於 llava 1.5, Florence-VL 在 TextVQA 和 OCR-Bench 等任務中表現突出,顯示出生成式視覺特徵在提取影像文字資訊中的優勢。

圖片

總結

在本文中,我們提出了 Florence-VL,一種基於生成式視覺編碼器 Florence-2 的多模態大語言模型。與傳統依賴對比學習的視覺編碼器(如 CLIP)相比,Florence-2 透過生成式預訓練能夠捕捉更豐富的視覺特徵,提供多層次、多角度的影像表徵。我們設計了創新的深廣融合(Depth-Breadth Fusion)策略,透過整合不同深度層次和任務提示生成的視覺特徵,將視覺資訊全面對映到語言模型輸入空間。透過廣泛的實驗,我們驗證了 Florence-VL 在多種任務中的卓越表現,包括通用視覺問答、OCR、圖表理解和知識密集型任務等。在未來,我們將進一步探索:例如自適應融合策略:根據任務動態調整深度與廣度特徵的平衡等。

[1]. https://arxiv.org/abs/2311.06242

相關文章