最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

深入了解視覺(jué)語(yǔ)言模型

2023-02-28 12:12 作者:HuggingFace  | 我要投稿

人類學(xué)習(xí)本質(zhì)上是多模態(tài) (multi-modal) 的,因?yàn)槁?lián)合利用多種感官有助于我們更好地理解和分析新信息。理所當(dāng)然地,多模態(tài)學(xué)習(xí)的最新進(jìn)展即是從這一人類學(xué)習(xí)過(guò)程的有效性中汲取靈感,創(chuàng)建可以利用圖像、視頻、文本、音頻、肢體語(yǔ)言、面部表情和生理信號(hào)等各種模態(tài)信息來(lái)處理和鏈接信息的模型。

自 2021 年以來(lái),我們看到大家對(duì)結(jié)合視覺(jué)和語(yǔ)言模態(tài)的模型 (也稱為聯(lián)合視覺(jué)語(yǔ)言模型) 的興趣越來(lái)越濃,一個(gè)例子就是 OpenAI 的 CLIP。聯(lián)合視覺(jué)語(yǔ)言模型在非常具有挑戰(zhàn)性的任務(wù)中表現(xiàn)出了讓人眼前一亮的能力,諸如圖像標(biāo)題生成、文本引導(dǎo)圖像生成、文本引導(dǎo)圖像操作以及視覺(jué)問(wèn)答等。這個(gè)領(lǐng)域在不斷發(fā)展,其零樣本泛化能力也在不斷改進(jìn),從而產(chǎn)生了各種實(shí)際應(yīng)用。

OpenAI CLIP 鏈接:
https://openai.com/blog/clip/

本文,我們將介紹聯(lián)合視覺(jué)語(yǔ)言模型,重點(diǎn)關(guān)注它們的訓(xùn)練方式。我們還將展示如何利用 ?? Transformers 對(duì)該領(lǐng)域的最新進(jìn)展進(jìn)行實(shí)驗(yàn)。

簡(jiǎn)介

將模型稱為 “視覺(jué)語(yǔ)言” 模型是什么意思?一個(gè)結(jié)合了視覺(jué)和語(yǔ)言模態(tài)的模型?但這到底是什么意思呢?

有助于定義此類模型的一個(gè)特性是它們處理圖像 (視覺(jué)) 和自然語(yǔ)言文本 (語(yǔ)言) 的能力。而這個(gè)過(guò)程體現(xiàn)在輸入、輸出以及要求這些模型執(zhí)行的任務(wù)上。

以零樣本圖像分類任務(wù)為例。我們將傳給模型如下一張圖像和一些候選提示 (prompt),以獲得與輸入圖像最匹配的提示。

小動(dòng)物圖片出自: https://www.istockphoto.com/photos/dog-cat-love

為了預(yù)測(cè)類似的東西,模型需要理解輸入圖像和文本提示。它將使用單獨(dú)或融合的視覺(jué)和語(yǔ)言編碼器來(lái)達(dá)到理解的目的。

輸入和輸出可以有多種形式。下面僅舉幾例:

  • 用自然語(yǔ)言文本來(lái)檢索圖像。

  • 短語(yǔ)關(guān)聯(lián) (Phrase grounding),即在輸入圖像中檢測(cè)出文本中提到的短語(yǔ) (例如: 一個(gè)?年輕人?揮動(dòng)?球拍)。

  • 視覺(jué)問(wèn)答,即在輸入圖像中找到自然語(yǔ)言問(wèn)題的答案。

  • 為給定圖像生成標(biāo)題。該任務(wù)還有一個(gè)形式就是條件文本生成,此時(shí)輸入變成了兩個(gè),即自然語(yǔ)言提示和圖像。

  • 從包含圖像和文本模態(tài)的社交媒體內(nèi)容中檢測(cè)仇恨言論。

學(xué)習(xí)策略

視覺(jué)語(yǔ)言模型通常由 3 個(gè)關(guān)鍵元素組成: 圖像編碼器、文本編碼器以及融合兩個(gè)編碼器的信息的策略。這些關(guān)鍵元素緊密耦合在一起,因?yàn)閾p失函數(shù)是圍繞模型架構(gòu)和學(xué)習(xí)策略設(shè)計(jì)的。雖然視覺(jué)語(yǔ)言模型研究算不上是一個(gè)新的研究領(lǐng)域,但此類模型的設(shè)計(jì)隨著時(shí)間的變遷發(fā)生了巨大變化。早期的研究采用手工設(shè)計(jì)的圖像描述子、預(yù)訓(xùn)練詞向量或基于頻率的 TF-IDF 特征,而最新的研究主要采用 Transformer 架構(gòu)的圖像和文本編碼器來(lái)單獨(dú)或聯(lián)合學(xué)習(xí)圖像和文本特征。我們使用戰(zhàn)略性的預(yù)訓(xùn)練目標(biāo)來(lái)訓(xùn)練這些模型,從而使之可用于各種下游任務(wù)。

關(guān)于 Transformers 注意力理論的論文:
https://arxiv.org/abs/1706.03762

在本節(jié)中,我們將討論視覺(jué)語(yǔ)言模型的一些典型預(yù)訓(xùn)練目標(biāo)和策略,這些模型已被證明有良好的遷移性能。我們還將討論其他有趣的東西,它們要么特定于某些預(yù)訓(xùn)練目標(biāo),要么可以用作預(yù)訓(xùn)練的通用組件。

我們將在預(yù)訓(xùn)練目標(biāo)中涵蓋以下主題:

  • 對(duì)比學(xué)習(xí): 以對(duì)比方式將圖像和文本對(duì)齊到聯(lián)合特征空間

  • PrefixLM: 通過(guò)將圖像視作語(yǔ)言模型的前綴來(lái)聯(lián)合學(xué)習(xí)圖像和文本嵌入

  • 基于交叉注意力的多模態(tài)融合:?將視覺(jué)信息融合到具有交叉注意力機(jī)制的語(yǔ)言模型的各層中

  • MLM / ITM: 使用掩碼語(yǔ)言建模 (Masked-Language Modeling,MLM) 和圖像文本匹配 (Image-Text Matching,ITM) 目標(biāo)將圖像的各部分與文本對(duì)齊

  • 無(wú)訓(xùn)練:?通過(guò)迭代優(yōu)化來(lái)利用獨(dú)立視覺(jué)和語(yǔ)言模型

請(qǐng)注意,本節(jié)并未詳盡陳述所有方法,還有各種其他方法以及混合策略,例如 Unified-IO。如需更全面地了解多模態(tài)模型,請(qǐng)參閱此項(xiàng)工作:

Unified-IO 論文地址:
https://arxiv.org/abs/2206.08916多模態(tài)模型參考論文地址:
https://arxiv.org/abs/2210.09263

1) 對(duì)比學(xué)習(xí)

對(duì)比預(yù)訓(xùn)練和零樣本圖像分類,上圖出處: https://openai.com/blog/clip

對(duì)比學(xué)習(xí)是視覺(jué)模型常用的預(yù)訓(xùn)練目標(biāo),也已被證明同時(shí)是視覺(jué)語(yǔ)言模型的高效預(yù)訓(xùn)練目標(biāo)。近期的工作如 CLIP、CLOOB、ALIGN 和 DeCLIP 在 {圖像,標(biāo)題} 對(duì)組成的大型數(shù)據(jù)集上,通過(guò)使用對(duì)比損失函數(shù)聯(lián)合訓(xùn)練文本編碼器和圖像編碼器,從而橋接視覺(jué)和語(yǔ)言兩個(gè)模態(tài)。對(duì)比學(xué)習(xí)旨在將輸入圖像和文本映射到相同的特征空間,使得圖像 - 文本對(duì)的嵌入之間的距離在兩者匹配時(shí)最小化,而在不匹配時(shí)最大化。

CLIP 論文地址:
https://arxiv.org/abs/2103.00020CLOOB?

論文地址:
https://arxiv.org/abs/2110.11316ALIGN?

論文地址:
https://arxiv.org/abs/2102.05918DeCLIP?

論文地址:
https://arxiv.org/abs/2110.05208

CLIP 僅采用文本和圖像嵌入之間的余弦距離作為距離度量。而 ALIGN 和 DeCLIP 等模型則設(shè)計(jì)了自己的距離度量,這些距離在設(shè)計(jì)時(shí)考慮了數(shù)據(jù)集是有噪聲的。

另一項(xiàng)工作 LiT 引入了一種凍結(jié)圖像編碼器而僅使用 CLIP 預(yù)訓(xùn)練目標(biāo)來(lái)微調(diào)文本編碼器的簡(jiǎn)單方法。作者將這個(gè)想法解釋為?一種教文本編碼器更好地讀懂圖像編碼器生成的圖像嵌入的方法。這種方法已被證明是有效的,并且比 CLIP 的樣本效率更高。FLAVA 等其他工作將對(duì)比學(xué)習(xí)和其他預(yù)訓(xùn)練策略相結(jié)合來(lái)對(duì)齊視覺(jué)和語(yǔ)言嵌入。

LiT 論文地址:
https://arxiv.org/abs/2111.07991FLAVA?

論文地址:
https://arxiv.org/abs/2112.04482

2) PrefixLM

PrefixLM 預(yù)訓(xùn)練策略框圖,上圖出處:
https://ai.googleblog.com/2021/10/simvlm-simple-visual-language-model-pre.html

另一種訓(xùn)練視覺(jué)語(yǔ)言模型的方法是使用 PrefixLM 目標(biāo)。SimVLM 和 VirTex 等模型使用該預(yù)訓(xùn)練目標(biāo)并使用一個(gè)統(tǒng)一的由 transformer 編碼器和 transformer 解碼器組成的多模態(tài)架構(gòu),有點(diǎn)類似于自回歸語(yǔ)言模型。

SimVLM 論文地址:
https://arxiv.org/abs/2108.10904VirTex?

論文地址:
https://arxiv.org/abs/2006.06666v3

讓我們拆解一下,看看它是如何工作的。具有前綴目標(biāo)的語(yǔ)言模型在給定輸入文本作為前綴的情況下預(yù)測(cè)下一個(gè)詞。例如,給定序列 “一個(gè)男人站在墻角”,我們可以使用” 一個(gè)男人站在” 作為前綴并訓(xùn)練模型以預(yù)測(cè)下一個(gè)詞: 可以是 “墻角” 或另一個(gè)合理的補(bǔ)全詞。

Visual transformers (ViT) 通過(guò)將每個(gè)圖像劃分為多個(gè)塊 (patch) 并將這些塊按順序輸入給模型,從而將相同的前綴概念應(yīng)用于圖像。利用這個(gè)想法,SimVLM 實(shí)現(xiàn)了這樣一種架構(gòu),將圖像塊序列和前綴文本序列串接起來(lái)作為最終的前綴,輸入給編碼器,然后由解碼器來(lái)預(yù)測(cè)該文本序列的接續(xù)文本。上圖描述了該思想。SimVLM 模型首先在前綴中沒(méi)有圖像塊的文本數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練,然后在對(duì)齊的圖像文本數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練。這些模型用于圖生文 / 圖像標(biāo)題生成和 VQA 任務(wù)。

利用統(tǒng)一的多模態(tài)架構(gòu)將視覺(jué)信息融合到語(yǔ)言模型 (Language Model,LM) 中,最終生成的模型在圖像引導(dǎo)類任務(wù)中顯示出令人印象深刻的能力。然而,僅使用 PrefixLM 策略的模型在應(yīng)用領(lǐng)域上可能會(huì)受到限制,因?yàn)樗鼈冎饕獮閳D像標(biāo)題生成或視覺(jué)問(wèn)答這兩個(gè)下游任務(wù)而設(shè)計(jì)。例如,給定一組包含人的圖像,我們通過(guò)圖像的描述來(lái)查詢符合描述的圖像 (例如,“一群人站在一起微笑著站在建筑物前”) 或使用以下視覺(jué)推理問(wèn)題來(lái)查詢: “有多少人穿著紅色 T 恤?” 圖像。另一方面,學(xué)習(xí)多模態(tài)表示或采用混合方法的模型可以適用于各種其他下游任務(wù),例如目標(biāo)檢測(cè)和圖像分割。

凍結(jié) PrefixLM

凍結(jié) PrefixLM 預(yù)訓(xùn)練策略,上圖出處:https://lilianweng.github.io/posts/2022-06-09-vlm

雖然將視覺(jué)信息融合到語(yǔ)言模型中非常有效,但能夠使用預(yù)訓(xùn)練語(yǔ)言模型 (LM) 而無(wú)需微調(diào)會(huì)更有效。因此,視覺(jué)語(yǔ)言模型的另一個(gè)預(yù)訓(xùn)練目標(biāo)是學(xué)習(xí)與凍結(jié)語(yǔ)言模型對(duì)齊的圖像嵌入。

Frozen、MAPL 和 ClipCap 使用了凍結(jié) PrefixLM 預(yù)訓(xùn)練目標(biāo)。它們?cè)谟?xùn)練時(shí)僅更新圖像編碼器的參數(shù)以生成圖像嵌入,這些圖像嵌入可以用作預(yù)訓(xùn)練的凍結(jié)語(yǔ)言模型的前綴,其方式與上面討論的 PrefixLM 目標(biāo)類似。Frozen 和 ClipCap 都在對(duì)齊的圖像文本 (標(biāo)題) 數(shù)據(jù)集上進(jìn)行訓(xùn)練,目的是在給定圖像嵌入和前綴文本的情況下生成標(biāo)題中的下一個(gè)詞。

Frozen 論文地址:
https://arxiv.org/abs/2106.13884MAPL?

論文地址:
https://arxiv.org/abs/2210.07179ClipCap?

論文地址:
https://arxiv.org/abs/2111.09734

最后,F(xiàn)lamingo 索性把預(yù)訓(xùn)練視覺(jué)編碼器和語(yǔ)言模型都凍結(jié)了,并在一系列廣泛的開(kāi)放式視覺(jué)和語(yǔ)言任務(wù)上刷新了少樣本學(xué)習(xí)的最高水平。Flamingo 通過(guò)在預(yù)訓(xùn)練的凍結(jié)視覺(jué)模型之上添加一個(gè)感知器重采樣器 (Perceiver Resampler) ?模塊并在凍結(jié)的預(yù)訓(xùn)練 LM 層之間插入新的交叉注意層以根據(jù)視覺(jué)數(shù)據(jù)調(diào)節(jié) LM 來(lái)達(dá)到這個(gè)性能。

Flamingo 論文地址:
https://arxiv.org/abs/2204.14198

凍結(jié) PrefixLM 預(yù)訓(xùn)練目標(biāo)的一個(gè)很好的優(yōu)勢(shì)是它可以使用有限的對(duì)齊圖像文本數(shù)據(jù)進(jìn)行訓(xùn)練,這對(duì)于那些沒(méi)有對(duì)齊多模態(tài)數(shù)據(jù)集的領(lǐng)域特別有用。

3) 多模態(tài)融合與交叉注意力

使用交叉注意力機(jī)制將視覺(jué)信息直接融合到語(yǔ)言模型中

上圖出處:
https://www.semanticscholar.org/paper/VisualGPT%3A-Data-efficient-Adaptation-of-Pretrained-Chen-Guo/616e0ed02ca024a8c1d4b86167f7486ea92a13d9

將預(yù)訓(xùn)練語(yǔ)言模型用于多模態(tài)任務(wù)的另一種方法是使用交叉注意機(jī)制將視覺(jué)信息直接融合到語(yǔ)言模型解碼器的層中,而不是使用圖像作為語(yǔ)言模型的附加前綴。VisualGPT、VC-GPT 和 Flamingo 使用此預(yù)訓(xùn)練策略并在圖像標(biāo)題任務(wù)和視覺(jué)問(wèn)答任務(wù)上進(jìn)行訓(xùn)練。此類模型的主要目標(biāo)是在把視覺(jué)信息融入文本生成能力時(shí)在這兩者間取得高效的平衡,這在沒(méi)有大型多模態(tài)數(shù)據(jù)集的情況下非常重要。

VisualGPT 論文地址:
https://arxiv.org/abs/2102.10407VC-GPT?

論文地址:
https://arxiv.org/abs/2201.12723

VisualGPT 等模型使用視覺(jué)編碼器來(lái)生成圖像嵌入,并將視覺(jué)嵌入提供給預(yù)訓(xùn)練語(yǔ)言解碼器模塊的交叉注意層,以生成合理的標(biāo)題。最近的一項(xiàng)工作 FIBER 將具有門控機(jī)制的交叉注意力層插入到視覺(jué)和語(yǔ)言的主干模型中,以實(shí)現(xiàn)更高效的多模態(tài)融合,并使能各種其他下游任務(wù),如圖文互搜、開(kāi)放域 (open-vocabulary) 目標(biāo)檢測(cè)等。

FIBER 論文地址:
http://arxiv.org/abs/2206.07643

4) 掩膜語(yǔ)言建模及圖文匹配

另一派視覺(jué)語(yǔ)言模型把掩碼語(yǔ)言建模 (MLM) 和圖文匹配 (ITM) 目標(biāo)組合起來(lái)使用,將圖像的特定部分與文本對(duì)齊,并使能各種下游任務(wù),例如視覺(jué)問(wèn)答、視覺(jué)常識(shí)推理、文搜圖以及文本引導(dǎo)的目標(biāo)檢測(cè)。遵循這種預(yù)訓(xùn)練設(shè)置的模型包括 VisualBERT、FLAVA、ViLBERT、LXMERT 和 BridgeTower。

VisualBERT?

論文地址:
https://arxiv.org/abs/1908.03557FLAVA?

論文地址:
https://arxiv.org/abs/2112.04482ViLBERT?

論文地址:
https://arxiv.org/abs/1908.02265LXMERT?

論文地址:
https://arxiv.org/abs/1908.07490BridgeTower?

論文地址:
https://arxiv.org/abs/2206.08657

將圖像與文本按部分相應(yīng)對(duì)齊

上圖出處:
https://arxiv.org/abs/1908.02265

讓我們解釋一下 MLM 和 ITM 目標(biāo)。給定一個(gè)部分遮蓋的標(biāo)題,MLM 的目標(biāo)是根據(jù)相應(yīng)的圖像預(yù)測(cè)遮蓋的單詞。請(qǐng)注意,MLM 目標(biāo)需要使用帶有邊界框的標(biāo)注豐富的多模態(tài)數(shù)據(jù)集,或者使用目標(biāo)檢測(cè)模型為部分輸入文本生成候選目標(biāo)區(qū)域。

對(duì)于 ITM 目標(biāo),給定圖像和標(biāo)題對(duì),任務(wù)是預(yù)測(cè)標(biāo)題是否與圖像匹配。負(fù)樣本通常是從數(shù)據(jù)集中隨機(jī)抽取的。MLM 和 ITM 目標(biāo)通常在多模態(tài)模型的預(yù)訓(xùn)練期間結(jié)合使用。例如,VisualBERT 提出了一種類似 BERT 的架構(gòu),它使用預(yù)訓(xùn)練的目標(biāo)檢測(cè)模型 Faster-RCNN 來(lái)檢測(cè)目標(biāo)。VisualBERT 在預(yù)訓(xùn)練期間結(jié)合了 MLM 和 ITM 目標(biāo),通過(guò)自注意力機(jī)制隱式對(duì)齊輸入文本的元素和相應(yīng)輸入圖像中的區(qū)域。

Faster-RCNN 論文地址:
https://arxiv.org/abs/1506.01497

另一項(xiàng)工作 FLAVA 由一個(gè)圖像編碼器、一個(gè)文本編碼器和一個(gè)多模態(tài)編碼器組成,用于融合和對(duì)齊圖像和文本表示以進(jìn)行多模態(tài)推理,所有這些都基于 transformers。為了實(shí)現(xiàn)這一點(diǎn),F(xiàn)LAVA 使用了多種預(yù)訓(xùn)練目標(biāo): MLM、ITM,以及 掩膜圖像建模 (Masked-Image Modeling,MIM) 和對(duì)比學(xué)習(xí)。

5) 無(wú)訓(xùn)練

最后,各種優(yōu)化策略旨在使用預(yù)訓(xùn)練的圖像和文本模型來(lái)橋接圖像和文本表示,或者使預(yù)訓(xùn)練的多模態(tài)模型能夠在無(wú)需額外訓(xùn)練的情況下適應(yīng)新的下游任務(wù)。

例如,MaGiC 提出通過(guò)預(yù)訓(xùn)練的自回歸語(yǔ)言模型進(jìn)行迭代優(yōu)化,為輸入圖像生成標(biāo)題。為此,MaGiC 使用生成的詞的 CLIP 嵌入和輸入圖像的 CLIP 嵌入來(lái)計(jì)算基于 CLIP 的 “魔法分?jǐn)?shù) (magic score) ”。

用預(yù)訓(xùn)練的凍結(jié)的單模態(tài)圖像和文本編碼器創(chuàng)建一個(gè)相似性搜索空間

ASIF 提出了一種簡(jiǎn)單的方法,可以使用相對(duì)較小的多模態(tài)數(shù)據(jù)集將預(yù)訓(xùn)練的單模態(tài)圖像和文本模型轉(zhuǎn)換為多模態(tài)模型來(lái)用于圖像標(biāo)題生成,無(wú)需附加訓(xùn)練。ASIF 背后的關(guān)鍵直覺(jué)是相似圖像的標(biāo)題也彼此相似。因此,我們可以通過(guò)使用小型數(shù)據(jù)集里的真實(shí)多模態(tài)對(duì)的來(lái)構(gòu)建一個(gè)相對(duì)表示空間,然后在該空間執(zhí)行基于相似性的搜索。

MaGic 論文地址:
https://arxiv.org/abs/2205.02655ASIF?

論文地址:
https://arxiv.org/abs/2210.01738

數(shù)據(jù)集

視覺(jué)語(yǔ)言模型通常根據(jù)預(yù)訓(xùn)練目標(biāo)在結(jié)構(gòu)各異的大型圖像和文本數(shù)據(jù)集上進(jìn)行訓(xùn)練。在對(duì)它們進(jìn)行預(yù)訓(xùn)練后,再使用特定于任務(wù)的數(shù)據(jù)集進(jìn)一步針對(duì)各種下游任務(wù)進(jìn)行微調(diào)。本節(jié)概述了一些用于訓(xùn)練和評(píng)估視覺(jué)語(yǔ)言模型的流行的預(yù)訓(xùn)練和下游數(shù)據(jù)集。

預(yù)訓(xùn)練數(shù)據(jù)集

一般來(lái)講,我們從網(wǎng)上收集大量的多模態(tài)數(shù)據(jù)并將它們組織成圖像 / 視頻 - 文本對(duì)數(shù)據(jù)集。這些數(shù)據(jù)集中的文本數(shù)據(jù)可以是人工生成的標(biāo)題、自動(dòng)生成的標(biāo)題、圖像元數(shù)據(jù)或簡(jiǎn)單的目標(biāo)類別標(biāo)簽。此類大型數(shù)據(jù)集有 PMD 和 LAION-5B 等。PMD 數(shù)據(jù)集結(jié)合了多個(gè)較小的數(shù)據(jù)集,例如 Flickr30K、COCO 和 Conceptual Captions 數(shù)據(jù)集。COCO 檢測(cè)和圖像標(biāo)題 (>330K 圖像) 數(shù)據(jù)集分別由圖像實(shí)例和其所含目標(biāo)的文本標(biāo)簽及描述對(duì)組成。Conceptual Captions (> 3.3M images) 和 Flickr30K (> 31K images) 數(shù)據(jù)集中的圖像以及它們的對(duì)應(yīng)的用自然語(yǔ)言描述圖像的標(biāo)題都是從網(wǎng)上爬取的。

即使是那些人工生成標(biāo)題的圖像文本數(shù)據(jù)集 (例如 Flickr30K) 也存在固有的噪聲,因?yàn)橛脩舨⒉豢偸菫槠鋱D像編寫描述性或反應(yīng)圖像內(nèi)容的標(biāo)題。為了克服這個(gè)問(wèn)題,LAION-5B 等數(shù)據(jù)集利用 CLIP 或其他預(yù)訓(xùn)練的多模態(tài)模型來(lái)過(guò)濾噪聲數(shù)據(jù)并創(chuàng)建高質(zhì)量的多模態(tài)數(shù)據(jù)集。此外,一些視覺(jué)語(yǔ)言模型,如 ALIGN,提出了進(jìn)一步的預(yù)處理步驟并創(chuàng)建了自己的高質(zhì)量數(shù)據(jù)集。還有些視覺(jué)語(yǔ)言數(shù)據(jù)集包含了視頻和文本雙模態(tài),例如 LSVTD 和 WebVid 數(shù)據(jù)集,雖然它們規(guī)模較小。

上文提到的數(shù)據(jù)集鏈接:

PMD:
https://hf.co/datasets/facebook/pmd

LAION-5B:
https://laion.ai/blog/laion-5b/

Flickr30K:
https://www.kaggle.com/datasets/hsankesara/flickr-image-dataset

COCO:
https://cocodataset.org/

Conceptual Captions:
https://ai.google.com/research/ConceptualCaptions/

LSVTD:
https://davar-lab.github.io/dataset/lsvtd.html

WebVid:
https://github.com/m-bain/webvid

下游數(shù)據(jù)集

預(yù)訓(xùn)練視覺(jué)語(yǔ)言模型通常還會(huì)針對(duì)各種下游任務(wù)進(jìn)行訓(xùn)練,例如視覺(jué)問(wèn)答、文本引導(dǎo)目標(biāo)檢測(cè)、文本引導(dǎo)圖像修復(fù)、多模態(tài)分類以及各種獨(dú)立的 NLP 和計(jì)算機(jī)視覺(jué)任務(wù)。

針對(duì)問(wèn)答類下游任務(wù)進(jìn)行微調(diào)的模型,例如 ViLT 和 GLIP,一般使用 VQA (視覺(jué)問(wèn)答) 、VQA v2、NLVR2、OKVQA、TextVQA、TextCaps 和 VizWiz 數(shù)據(jù)集。這些數(shù)據(jù)集的圖像通常都配有多個(gè)開(kāi)放式問(wèn)題和答案。此外,VizWiz 和 TextCaps 等數(shù)據(jù)集也可用于圖像分割和目標(biāo)定位這些下游任務(wù)。其他一些有趣的多模態(tài)下游數(shù)據(jù)集有,用于多模態(tài)分類的 Hateful Memes,用于視覺(jué)蘊(yùn)含預(yù)測(cè)的 SNLI-VE,以及用于視覺(jué)語(yǔ)言組合推理的 Winoground。

請(qǐng)注意,視覺(jué)語(yǔ)言模型也可用于各種經(jīng)典的 NLP 和計(jì)算機(jī)視覺(jué)任務(wù),例如文本或圖像分類。此時(shí),通常使用單模態(tài)數(shù)據(jù)集如 SST2、ImageNet-1k 來(lái)完成此類下游任務(wù)。此外,COCO 和 Conceptual Captions 等數(shù)據(jù)集也常用于預(yù)訓(xùn)練模型以及標(biāo)題生成等下游任務(wù)。

相關(guān)模型及論文地址:

ViLT:
https://arxiv.org/abs/2102.03334

GLIP:
https://arxiv.org/abs/2112.03857

VQA:
https://visualqa.org/

VQA v2:
https://visualqa.org/

NLVR2:
https://lil.nlp.cornell.edu/nlvr/

OKVQA:
https://okvqa.allenai.org/

TextVQA:
https://hf.co/datasets/textvqa

TextCaps:
https://textvqa.org/textcaps/

VizWiz:
https://vizwiz.org/

Hateful Memes:
https://hf.co/datasets/limjiayi/hateful_memes_expanded

SNLI-VE:
https://github.com/necla-ml/SNLI-VE

Winoground:
https://hf.co/datasets/facebook/winoground

SST2:
https://hf.co/datasets/sst2

ImageNet-1k:
https://hf.co/datasets/imagenet-1k

在 ?? Transformers 中支持視覺(jué)語(yǔ)言模型

使用 Hugging Face Transformers,你可以輕松下載、運(yùn)行和微調(diào)各種預(yù)訓(xùn)練視覺(jué)語(yǔ)言模型,或者混合搭配預(yù)訓(xùn)練視覺(jué)模型和預(yù)訓(xùn)練語(yǔ)言模型來(lái)搭建你自己的模型。?? Transformers 支持的一些視覺(jué)語(yǔ)言模型有:

CLIP:https://hf.co/docs/transformers/model_doc/clip

FLAVA:?
https://hf.co/docs/transformers/main/en/model_doc/flava

GIT:?
https://hf.co/docs/transformers/main/en/model_doc/git

BridgeTower:

https://hf.co/docs/transformers/main/en/model_doc/bridgetower

GroupViT:?
https://hf.co/docs/transformers/v4.25.1/en/model_doc/groupvit

BLIP:?
https://hf.co/docs/transformers/main/en/model_doc/blip

OWL-ViT:?
https://hf.co/docs/transformers/main/en/model_doc/owlvit

CLIPSeg:?
https://hf.co/docs/transformers/main/en/model_doc/clipseg

X-CLIP:
https://hf.co/docs/transformers/main/en/model_doc/xclip

VisualBERT:?
https://hf.co/docs/transformers/main/en/model_doc/visual_bert

ViLT:?
https://hf.co/docs/transformers/main/en/model_doc/vilt

LiT (VisionTextDualEncoder?的一個(gè)實(shí)例):?

https://hf.co/docs/transformers/main/en/model_doc/vision-text-dual-encoder

TrOCR (VisionEncoderDecoderModel?的一個(gè)實(shí)例):??
https://hf.co/docs/transformers/main/en/model_doc/trocr

VisionTextDualEncoder:?
https://hf.co/docs/transformers/main/en/model_doc/vision-text-dual-encoder

VisionEncoderDecoderModel:? ? ?
https://hf.co/docs/transformers/main/en/model_doc/vision-encoder-decoder

這里 CLIP、FLAVA、BridgeTower、BLIP、LiT 和 VisionEncoderDecoder 等模型會(huì)生成聯(lián)合圖像 - 文本嵌入,可用之于零樣本圖像分類等下游任務(wù),而其他模型則針對(duì)有趣的下游任務(wù)進(jìn)行訓(xùn)練。此外,F(xiàn)LAVA 是基于單模態(tài)和多模態(tài)兩個(gè)預(yù)訓(xùn)練目標(biāo)訓(xùn)練的,因此可用于單模態(tài)視覺(jué)或語(yǔ)言任務(wù)以及多模態(tài)任務(wù)。

例如,OWL-ViT 使能 了零樣本 - 文本引導(dǎo)目標(biāo)檢測(cè)和單樣本 - 圖像引導(dǎo)目標(biāo)檢測(cè)任務(wù),CLIPSeg 和 GroupViT 使能 了文本和圖像引導(dǎo)的圖像分割任務(wù),VisualBERT、GIT 和 ViLT 使能 了視覺(jué)問(wèn)答以及其他各種任務(wù)。X-CLIP 是一種使用視頻和文本模態(tài)進(jìn)行訓(xùn)練的多模態(tài)模型,它能夠 使能 類似于 CLIP 的零樣本圖像分類的視頻分類任務(wù)。

幾個(gè)相關(guān)的 Hugging Face Spaces 體驗(yàn)地址:

OWL-ViT:
https://hf.co/spaces/adirik/OWL-ViT

CLIPSeg:
https://hf.co/spaces/nielsr/CLIPSeg

ViLT:
https://hf.co/spaces/nielsr/vilt-vqa

X-CLIP:??
https://hf.co/spaces/fcakyon/zero-shot-video-classification

與其他模型不同,VisionEncoderDecoderModel?是一個(gè)標(biāo)準(zhǔn)化的模型,可用于初始化任意圖像轉(zhuǎn)文本模型,這類模型可以使用任何預(yù)訓(xùn)練的基于 Transformer 的視覺(jué)模型作為編碼器 (例如 ViT、BEiT、DeiT、Swin) 以及任何預(yù)訓(xùn)練的語(yǔ)言模型作為解碼器 (例如 RoBERTa、GPT2、BERT、DistilBERT)。事實(shí)上,TrOCR 是這個(gè)標(biāo)準(zhǔn)類的一個(gè)實(shí)例。

讓我們繼續(xù)試驗(yàn)其中的一些模型。我們將使用 ViLT 進(jìn)行視覺(jué)問(wèn)答,使用 CLIPSeg 進(jìn)行零樣本圖像分割。首先,我們要安裝 ??Transformers:?pip install transformers。

基于 ViLT 的 VQA

讓我們從 ViLT 開(kāi)始,下載一個(gè)在 VQA 數(shù)據(jù)集上預(yù)訓(xùn)練的模型。我們可以簡(jiǎn)單地初始化相應(yīng)的模型類然后調(diào)用 “from_pretrained ()” 方法來(lái)下載想要的 checkpoint。

接下來(lái),我們隨便下載一張有兩只貓的圖像,并對(duì)該圖像和我們的查詢問(wèn)題進(jìn)行預(yù)處理,將它們轉(zhuǎn)換為模型期望的輸入格式。為此,我們可以方便地使用相應(yīng)的預(yù)處理器類 (ViltProcessor) 并使用相應(yīng) checkpoint 的預(yù)處理配置對(duì)其進(jìn)行初始化。

最后,我們可以使用預(yù)處理后的圖像和問(wèn)題作為輸入進(jìn)行推理,并打印出預(yù)測(cè)答案。但是,要牢記的重要一點(diǎn)是確保你的文本輸入與訓(xùn)練時(shí)所用的問(wèn)題模板相似。你可以參考 論文和數(shù)據(jù)集 來(lái)了解如何生成這些問(wèn)題。

論文地址:
https://arxiv.org/abs/2102.03334

直截了當(dāng),對(duì)吧?讓我們用 CLIPSeg 做另一個(gè)演示,看看我們?nèi)绾斡脦仔写a執(zhí)行零樣本圖像分割。

使用 CLIPSeg 做零樣本圖像分割

我們將從初始化?CLIPSegForImageSegmentation?及其相應(yīng)的預(yù)處理類開(kāi)始,并加載我們的預(yù)訓(xùn)練模型。

接下來(lái),我們將使用相同的輸入圖像,并用描述待分割目標(biāo)的文本來(lái)查詢模型。與其他預(yù)處理器類似,CLIPSegProcessor?將輸入轉(zhuǎn)換為模型期望的格式。由于我們要分割多個(gè)目標(biāo),我們分別對(duì)每個(gè)描述文本都使用相同的輸入圖像。

與 ViLT 類似,重要的是要參考 原作,看看他們用什么樣的文本提示來(lái)訓(xùn)練模型,以便在推理時(shí)獲得最佳性能。雖然 CLIPSeg 在簡(jiǎn)單的對(duì)象描述 (例如 “汽車”) 上進(jìn)行訓(xùn)練的,但其 CLIP 主干是在設(shè)計(jì)好的文本模板 (例如 “汽車圖像”、“汽車照片”) 上預(yù)訓(xùn)練的,并在隨后的訓(xùn)練中凍結(jié)。輸入經(jīng)過(guò)預(yù)處理后,我們可以執(zhí)行推理以獲得每個(gè)文本查詢的二值分割圖。

上述論文地址:
https://arxiv.org/abs/2112.10003

讓我們可視化一下結(jié)果,看看 CLIPSeg 的表現(xiàn)如何 (代碼改編自 這篇文章)

文章鏈接:
https://hf.co/blog/clipseg-zero-shot

CLIPSeg 結(jié)果

太棒了,不是嗎?

視覺(jué)語(yǔ)言模型支持大量有用且有趣的用例,并不僅限于 VQA 和零樣本分割。我們鼓勵(lì)你嘗試將本節(jié)中提到的模型用于不同的應(yīng)用。有關(guān)示例代碼,請(qǐng)參閱模型的相應(yīng)文檔。

新興研究領(lǐng)域

伴隨著視覺(jué)語(yǔ)言模型的巨大進(jìn)步,我們看到了新的下游任務(wù)和應(yīng)用領(lǐng)域的出現(xiàn),例如醫(yī)學(xué)和機(jī)器人技術(shù)。例如,視覺(jué)語(yǔ)言模型越來(lái)越多地被用于醫(yī)療,產(chǎn)生了諸如 Clinical-BERT 之類的工作來(lái)根據(jù)放射照片來(lái)進(jìn)行醫(yī)學(xué)診斷和報(bào)告生成,以及 MedFuseNet 來(lái)用于醫(yī)學(xué)領(lǐng)域的視覺(jué)問(wèn)答。

我們還看到大量將聯(lián)合視覺(jué)語(yǔ)言表示應(yīng)用于各種領(lǐng)域的工作,如用于圖像處理 (例如,StyleCLIP、StyleMC,DiffusionCLIP)、基于文本的視頻檢索 (例如,X-CLIP) 、基于文本的操作 (例如,Text2Live 以及 基于文本的 3D 形狀和紋理操作 (例如,AvatarCLIP,CLIP-NeRF, Latent3D, CLIPFace, Text2Mesh)。在類似的工作中,MVT 提出了一種聯(lián)合 3D 場(chǎng)景 - 文本表示模型,可用于各種下游任務(wù),例如 3D 場(chǎng)景補(bǔ)全。

雖然機(jī)器人研究尚未大規(guī)模利用視覺(jué)語(yǔ)言模型,但我們看到 CLIPort 等工作利用聯(lián)合視覺(jué)語(yǔ)言表示進(jìn)行端到端模仿學(xué)習(xí),并宣稱比之前的 SOTA 有了很大的改進(jìn)。我們還看到,大型語(yǔ)言模型越來(lái)越多地被用于機(jī)器人任務(wù),例如常識(shí)推理、導(dǎo)航和任務(wù)規(guī)劃。例如,ProgPrompt 提出了一個(gè)使用大語(yǔ)言模型 (Large Language Model,LLM) 生成情境機(jī)器人任務(wù)計(jì)劃的框架。同樣,SayCan 使用 LLM 根據(jù)給定的環(huán)境及環(huán)境中物體的視覺(jué)描述,選擇最合理的動(dòng)作。盡管這些進(jìn)展令人印象深刻,但由于目標(biāo)檢測(cè)數(shù)據(jù)集的限制,機(jī)器人研究仍然局限在有限的環(huán)境和目標(biāo)集中。隨著 OWL-ViT 和 GLIP 等開(kāi)放集目標(biāo)檢測(cè)模型的出現(xiàn),我們可以期待多模態(tài)模型與機(jī)器人導(dǎo)航、推理、操作和任務(wù)規(guī)劃框架的集成會(huì)更緊密。

新型研究領(lǐng)域的一些重要參考:

Clinical-BERT:
https://ojs.aaai.org/index.php/AAAI/article/view/20204

MedFuseNet:
https://www.nature.com/articles/s41598-021-98390-1

StyleCLIP:
https://arxiv.org/abs/2103.17249

StyleMC:
https://arxiv.org/abs/2112.08493

DiffusionCLIP:
https://arxiv.org/abs/2110.02711

X-CLIP:
https://arxiv.org/abs/2207.07285

Text2Live:
https://arxiv.org/abs/2204.02491

AvatarCLIP:
https://arxiv.org/abs/2205.08535

CLIP-NeRF:
https://arxiv.org/abs/2112.05139

Latent3D:
https://arxiv.org/abs/2202.06079

CLIPFace:
https://arxiv.org/abs/2212.01406

Text2Mesh:
https://arxiv.org/abs/2112.03221

MVT:
https://arxiv.org/abs/2204.02174

CLIPort:
https://arxiv.org/abs/2109.12098

ProgPrompt:
https://arxiv.org/abs/2209.11302

SayCan:
https://say-can.github.io/assets/palm_saycan.pdf

OWL-ViT:
https://arxiv.org/abs/2205.06230

GLIP:
https://arxiv.org/abs/2112.03857

結(jié)論

近年來(lái),多模態(tài)模型取得了令人難以置信的進(jìn)步,視覺(jué)語(yǔ)言模型在性能、用例以及應(yīng)用的多樣性方面取得了顯著的飛躍。在這篇文章中,我們討論了視覺(jué)語(yǔ)言模型的最新進(jìn)展,可用的多模態(tài)數(shù)據(jù)集以及我們可以使用哪些預(yù)訓(xùn)練策略來(lái)訓(xùn)練和微調(diào)此類模型。我們還展示了如何將這些模型集成到 ?? Transformers 中,以及如何使用它們通過(guò)幾行代碼來(lái)執(zhí)行各種任務(wù)。

我們將繼續(xù)集成最具影響力的計(jì)算機(jī)視覺(jué)和多模態(tài)模型,并希望收到你的回音。要了解多模態(tài)研究的最新消息,歡迎在 Twitter 上關(guān)注我們: @adirik,@NielsRogge,@apsdehal,@a_e_roberts,@RisingSayak 和 @huggingface。

致謝: 我們感謝 Amanpreet Singh 和 Amy Roberts 的嚴(yán)格審查。此外,還要感謝 Niels Rogge、Younes Belkada 和 Suraj Patil,以及 Hugging Face 的許多其他人,他們?yōu)榇龠M(jìn)基于 Transformers 的多模態(tài)模型的使用奠定了基礎(chǔ)。

英文原文:?https://huggingface.co/blog/vision_language_pretraining

作者: Alara Dirik, Sayak Paul

譯者: Matrix Yao (姚偉峰),英特爾深度學(xué)習(xí)工程師,工作方向?yàn)?transformer-family 模型在各模態(tài)數(shù)據(jù)上的應(yīng)用及大規(guī)模模型的訓(xùn)練推理。

審校、排版: zhongdongy (阿東)

深入了解視覺(jué)語(yǔ)言模型的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
嘉荫县| 淮安市| 黄山市| 安国市| 克拉玛依市| 屏山县| 勐海县| 高密市| 正定县| 锡林郭勒盟| 岢岚县| 诸暨市| 利津县| 许昌县| 达孜县| 伽师县| 凤凰县| 内丘县| 前郭尔| 图木舒克市| 泗阳县| 长宁区| 建始县| 彩票| 巴林左旗| 雷山县| 新野县| 阿城市| 天峨县| 张家界市| 礼泉县| 永昌县| 皋兰县| 洪湖市| 宝山区| 南开区| 大埔区| 合肥市| 盘山县| 苍山县| 白河县|