性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

徐土豆
認(rèn)證:優(yōu)質(zhì)創(chuàng)作者
所在專題目錄 查看專題
增強(qiáng)型語言模型——走向通用智能的道路?!
【論文極速讀】Prompt Tuning——一種高效的LLM模型下游任務(wù)適配方式
【論文極速讀】EMT——評估多模態(tài)LLM中的災(zāi)難性遺忘問題
LVM,視覺大模型的GPT時刻?
BLIP2——采用Q-Former融合視覺語義與LLM能力的方法
【論文極速讀】Flamingo:一種交織圖文的視覺語言大模型方法
作者動態(tài) 更多
大模型推理時的尺度擴(kuò)展定律
5小時前
世界多胞體與世界模型
5天前
獎勵模型中的尺度擴(kuò)展定律和獎勵劫持
6天前
MeCo——給預(yù)訓(xùn)練數(shù)據(jù)增加源信息,就能減少33%的訓(xùn)練量并且提升效果
1星期前
DoReMi——一種通過代理模型估計大模型預(yù)訓(xùn)練最佳數(shù)據(jù)配比的方法
2星期前

BLIP2——采用Q-Former融合視覺語義與LLM能力的方法

筆者最近忙于工作,已經(jīng)很久沒空更新博客,剛好最近在回顧一些論文,順便將其進(jìn)行筆記。BLIP2的目的是希望將現(xiàn)有可用的(預(yù)訓(xùn)練好的)視覺編碼器和LLM中進(jìn)行融合得到MLLM,而如何將視覺語義向量和LLM進(jìn)行融合是一件極具有挑戰(zhàn)性的工作。LLM是以文本語義為目標(biāo)進(jìn)行訓(xùn)練的,而視覺編碼器是以視覺語義為目的進(jìn)行訓(xùn)練的,視覺語義即便經(jīng)過了語義對齊,如通過CLIP等方式進(jìn)行跨模態(tài)語義對齊,其語義和LLM之間也會存在較大的區(qū)別,如何融合這兩種語義信息,是MLLM模型必須解決的問題,而BLIP2 [1]就提出了采用Q-Former的方法進(jìn)行解決。

不過在深入介紹BLIP2的內(nèi)容之前,我們不妨先賣個關(guān)子,先給自己10分鐘思考,如果讓我們設(shè)計一個簡單的融合視覺語義和LLM語義的方法,我們會怎么做呢?筆者能想到的方法,會類似于LLaVA [2],通過Image/Video Caption模型對圖片/視頻進(jìn)行文字描述(場景、事件、實(shí)體等等),然后利用LLM,在合適的prompt下對這段文字描述進(jìn)行總結(jié)后,輸入到LLM中作為輸入,從而間接地引入了視覺語義信息到LLM中,流程可見Fig 1.所示。這種通過視覺Captioner間接地將視覺語義轉(zhuǎn)換成文本語義(語義轉(zhuǎn)換階段),然后通過Prompt+LLM的方式更好地適配文本語義(語義適配階段),最后將其作為目標(biāo)LLM的輸入從而構(gòu)成MLLM的方法(語義融合階段)。這種思路直接且容易操作,但是其缺陷也很明顯,這里的每個階段都存在信息損失,最終的MLLM模型對原始視覺的細(xì)粒度信息無法感知,這顯然嚴(yán)重限制了MLLM的上限。

Fig 1. 一種樸素的,通過Captioner間接地將視覺語義轉(zhuǎn)換成文本語義,通過prompt+LLM的方式進(jìn)行合適的語義適配后,作為目標(biāo)LLM的輸入,從而構(gòu)成了MLLM。

不過這種思路是可以進(jìn)行擴(kuò)展的,其實(shí)在以上的三個階段中,信息損失最為嚴(yán)重的就是語義轉(zhuǎn)換階段和語義適配階段,如果我們對視覺語義的轉(zhuǎn)換不是以文字描述的形式,而是語義向量的形式,會不會信息損失控制得最少呢?同時,對于語義適配的過程,我們不采用“硬prompt”,而是可學(xué)習(xí)的“軟prompt”是不是也能進(jìn)一步提升效果呢?其實(shí)這也就是BLIP2中的Q-Former的主要思路了,Q-Former主體如Fig 2.所示,圖片通過預(yù)訓(xùn)練好的圖片編碼器進(jìn)行特征提取后得到視覺語義 。我們給定K個可學(xué)習(xí)的"軟prompt",在此處稱之為"Learnable Queries",符號表示為,這些prompt的作用類似于prompt tuning [3]中進(jìn)行下游任務(wù)遷移的作用,是為了更好的進(jìn)行視覺語義到文本語義的遷移,從而產(chǎn)出的Transferred vision representation可表示為 ,則可以作為輸入,喂給后續(xù)的LLM。為了讓 包含有充分的視覺語義,Q-Former采用了交叉注意力機(jī)制(Cross Attention, xattn)融合圖片語義和可學(xué)習(xí)Q,公式如(1)所示。

總結(jié)來看,Q-Former和Fig 1.提到的樸素方法其實(shí)可以類比,Learnable Queries可以類比為對文字描述進(jìn)行總結(jié)的prompt詞, 而產(chǎn)出的Transferred vision representation可以類比經(jīng)過LLM總結(jié)后的文字描述。

Fig 2. BLIP2中的Q-Former的基本組成。

Q-Former進(jìn)行視覺語義表征遷移的方式,其實(shí)是受啟發(fā)自Flamingo [4] 中的Perceiver Resampler的設(shè)計,此處畢竟不是Flamingo的主場因此不打算對其進(jìn)行展開介紹,但是筆者覺得有必要對Perceiver Resampler的設(shè)計進(jìn)行簡述,會加深讀者對Q-Former的理解,如Fig 3所示,由于Flamingo是對圖片、視頻進(jìn)行處理的,因此Perceiver Resampler需要將可能變長的視頻幀信息轉(zhuǎn)化為固定大小長度的特征,否則過長的視頻幀會大大加大后續(xù)LLM的計算負(fù)擔(dān)。Perceiver Resampler考慮采用learnable latent queries作為交叉注意力中的Q,而將視頻幀/圖片幀進(jìn)行特征提取后展開表示為 ,和Q拼接起來作為交叉注意力中的K和V,通過這種方法將learnable latent queries對應(yīng)位置的Transformer輸出作為視覺特征聚合表示,這樣變長的視頻幀特征就規(guī)整為了固定大小的特征,方便了后續(xù)的處理。

Fig 3. Flamingo中Perceiver Resampler的設(shè)計。

到此為止我們算是對Q-Former的設(shè)計初衷和設(shè)計進(jìn)行了介紹,接下來才開始對BLIP2這篇工作進(jìn)行整體介紹,我們要如何訓(xùn)練Q-Former呢?BLIP2的訓(xùn)練分為兩個階段,如下所示。

第一階段,訓(xùn)練Q-Former實(shí)現(xiàn)跨模態(tài)表征的語義融合第二階段,將訓(xùn)練好的Q-Former和LLM進(jìn)行結(jié)合,實(shí)現(xiàn)MLLM在第一階段中,為了對Q-Former進(jìn)行充分訓(xùn)練,作者精妙地設(shè)計了三種類型的損失,分別是對比損失(Image-Text Contrastive Learning, ITC),匹配損失(Image-Text Matching, ITM)和生成損失(Image-Grounded Text Generation, ITG),如Fig 4.所示,Q-Former的訓(xùn)練數(shù)據(jù)是圖片——文本對,其中視覺輸入Q和文本輸入T共用一個自注意層,即是將Q和T拼接起來后輸入到自注意層中,通過不同的mask去選擇QT之間是否需要注意力交互,mask的具體生效機(jī)制見 [5]。讓我們回到Q-Former,我們將文本輸入[CLS]對應(yīng)Transformer的輸出記為 其中N NN為batch size, ,那么以下是各種損失的組成:

1、 對比損失 ITC:

sim_matrix = matmul(E_V, E_T, transposed_Y=True) # output (N, K, N)
sim_matrix = reduce_max(sim_matrix, axis=1) # output (N, N), maxpool for a best text-vision matching
dig_label = tensor(list(range(0, batch_size))).reshape(batch_size, 1)
itc_loss = cross_entropy_with_softmax(sim_matrix, dig_label)

2、匹配損失 ITM:

pos_score = model(Q, T) # positive sample score, output (N, 1)
neg_score = model(Q, T_neg) # negative sample score, output (N, 1), T_neg could be the hard negative sampled at ITC stage
itm_loss = mse(pos_score, 1) + mse(neg_score, 0)

其中的T_neg為負(fù)樣本文本,可以參考ALBEF [6] 的工作進(jìn)行難負(fù)樣本采樣,在此不贅述。

3、生成損失 ITG:

logits = model(Q, T, mask) # output (N, S, 1)
itg_loss = cross_entropy_with_softmax(logits, gt_char_label)

由于自注意力層的輸入是QT的拼接,在不同損失中需要考慮不同的掩膜類型,mask的作用形式見公式(1)所示。在ITC損失中,Q見到T或者T見到Q都會帶來信息泄漏,因此需要控制mask使得Q只能和自身交互,T同樣,mask形態(tài)如Fig 4 (b3)所示。在ITM損失中,Q和T需要進(jìn)行交互以進(jìn)行細(xì)粒度學(xué)習(xí),因此其掩膜為全unmask狀態(tài)。ITG損失中,由于提前見到文本T的全文將會帶來信息泄漏,因此需要保證預(yù)測當(dāng)前token的時候,只能和該token之前的token進(jìn)行交互,而Q則全文皆可見,因此mask形態(tài)如Fig 4 (b2)所示。

Fig 4. Q-Former的訓(xùn)練過程有ITC、ITM和ITG三種損失構(gòu)成。

待第一階段訓(xùn)練好后,可將第一階段的產(chǎn)出 通過FC層連接到LLM作為視覺語義輸入,如Fig 5.所示,即為第二階段訓(xùn)練。此時根據(jù)LLM的類型(decoder-only模型、encoder-decoder模型)可選擇不同的建模方式,在decoder-only模型中,給定后直接對文本進(jìn)行預(yù)測,而在encoder-decoder模型中,則需要將文本信息劃分為兩段A/B,LLM encoder只喂和文本A,在LLM decoder模型中對文本B進(jìn)行預(yù)測。此時,由于LLM的參數(shù)固定,只需要更新FC層的參數(shù)即可。

Fig 5. BLIP2第二階段訓(xùn)練,聯(lián)合LLM進(jìn)行生成式目標(biāo)預(yù)訓(xùn)練。

作者在實(shí)驗(yàn)中,對BLIP2的zero-shot能力進(jìn)行測試,如Fig 6.所示,在多個任務(wù)上,BLIP2在引入更少額外待學(xué)習(xí)參數(shù)的前提下達(dá)到了更好的zero-shot效果。如Fig 7.所示,BLIP2在VQA任務(wù)中和多個SOTA模型性能的對比,我們不難發(fā)現(xiàn)底座的視覺模型參數(shù)量更大(ViT-L -> ViT-g),LLM參數(shù)量更大(OPT 2.7B -> OPT 6.7B),隨之帶來了BLIP2性能的穩(wěn)定提升。我們同時肯定也會好奇,Q-Former這種引入視覺語義向量的方式帶來的收益,作者也對第一階段的訓(xùn)練進(jìn)行了消融試驗(yàn),如Fig 8.所示,引入了第一階段進(jìn)行語義遷移后,能帶來明顯的性能提升。

Fig 6. BLIP2在更少待學(xué)習(xí)參數(shù)的前提下,在多個任務(wù)上達(dá)到了更好的zero-shot效果。

Fig 7. BLIP2在VQA任務(wù)中,和各種SOTA模型的對比,我們發(fā)現(xiàn)底座的視覺模型參數(shù)量更大(ViT-L -> ViT-g),LLM參數(shù)量更大(OPT 2.7B -> OPT 6.7B),隨之帶來了BLIP2性能的穩(wěn)定提升。

Fig 8. 以VQA試驗(yàn)為例,進(jìn)行消融試驗(yàn),驗(yàn)證Q-Former第一階段訓(xùn)練帶來的收益。

BLIP2引入Q-Former進(jìn)行視覺語義到文本語義遷移的方式是具有啟發(fā)性的,但是作者在論文中也說明了當(dāng)前BLIP2的一些缺陷,由于訓(xùn)練過程中仍然是單個圖片—文本對的形式進(jìn)行的,BLIP2模型缺少in-context learning的能力,同時由于采用了固定的LLM模型,BLIP2集成了LLM的固有缺陷,比如幻覺、毒害性等,后續(xù)如何進(jìn)行MLLM的聯(lián)合訓(xùn)練仍然是一個很值得關(guān)注的開放性問題。

Reference

[1]. Li, Junnan, Dongxu Li, Silvio Savarese, and Steven Hoi. “Blip-2: Bootstrapping language-image pre-training with frozen image encoders and large language models.” arXiv preprint arXiv:2301.12597 (2023). aka BLIP2

[2]. Liu, Haotian, Chunyuan Li, Qingyang Wu, and Yong Jae Lee. “Visual instruction tuning.” arXiv preprint arXiv:2304.08485 (2023). aka LLaVA

[3]. Lester, Brian, Rami Al-Rfou, and Noah Constant. “The power of scale for parameter-efficient prompt tuning.” arXiv preprint arXiv:2104.08691 (2021). aka Prompt Tuning.

[4]. Alayrac, Jean-Baptiste, Jeff Donahue, Pauline Luc, Antoine Miech, Iain Barr, Yana Hasson, Karel Lenc et al. “Flamingo: a visual language model for few-shot learning.” Advances in Neural Information Processing Systems 35 (2022): 23716-23736. aka Flamingo

[5]. https://blog.csdn.net/LoseInVain/article/details/116137177, 《Transformer代碼隨記》

[6]. https://blog.csdn.net/LoseInVain/article/details/122735603, 《圖文多模態(tài)語義融合前的語義對齊——一種單雙混合塔多模態(tài)模型》

聲明:本內(nèi)容為作者獨(dú)立觀點(diǎn),不代表電子星球立場。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請聯(lián)系:editor@netbroad.com
覺得內(nèi)容不錯的朋友,別忘了一鍵三連哦!
贊 2
收藏 3
關(guān)注 52
成為作者 賺取收益
全部留言
0/200
成為第一個和作者交流的人吧