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

徐土豆
認(rèn)證:優(yōu)質(zhì)創(chuàng)作者
作者動(dòng)態(tài)
世界多胞體與世界模型
5天前
獎(jiǎng)勵(lì)模型中的尺度擴(kuò)展定律和獎(jiǎng)勵(lì)劫持
6天前
MeCo——給預(yù)訓(xùn)練數(shù)據(jù)增加源信息,就能減少33%的訓(xùn)練量并且提升效果
1星期前
DoReMi——一種通過代理模型估計(jì)大模型預(yù)訓(xùn)練最佳數(shù)據(jù)配比的方法
2星期前
CatLIP,加速2.7倍!采用分類損失的CLIP水準(zhǔn)的預(yù)訓(xùn)練視覺編碼器
2星期前

LexLIP——圖片搜索中的多模態(tài)稀疏化召回方法

圖片搜索場(chǎng)景,指的是輸入文本去檢索相關(guān)的圖片,是一種典型的跨模態(tài)檢索場(chǎng)景。在圖片搜索中,強(qiáng)烈依賴于圖片的視覺信息,多模態(tài)能力是必要的,典型的第一階段檢索方式(也即是召回階段)采用的是稠密檢索,如Fig 1所示,目前主流的管道是:

  1. 以圖文匹配為目標(biāo),采用基于CLIP等大規(guī)模對(duì)比學(xué)習(xí)的方式訓(xùn)練圖片和文本塔
  2. 對(duì)索引庫中的所有待索引圖片進(jìn)行圖片稠密特征刷取,在線上部署文本塔以提取query的稠密特征
  3. 將文本塔和圖片塔的稠密向量進(jìn)行度量計(jì)算(如余弦相似度),得到圖文之間的相似度

當(dāng)然,在真實(shí)的業(yè)務(wù)場(chǎng)景中,還會(huì)采用ANN(近似最近鄰)等技術(shù)對(duì)大規(guī)模的圖文相似度計(jì)算進(jìn)行速度和效果的折中。我們能從以上的描述中,感受到稠密檢索的幾個(gè)缺陷:

  1. 儲(chǔ)存代價(jià)高:以一個(gè)512維度的特征向量,如果是float32形式儲(chǔ)存,那么10億左右的圖片量級(jí)就需要接近2T的儲(chǔ)存。
  2. 檢索速度慢:對(duì)2個(gè)維度為d的稠密向量進(jìn)行相似度計(jì)算需要d次浮點(diǎn)乘法運(yùn)算和加法運(yùn)算。
  3. 可解釋性差:采用稠密檢索的方式,無法提供足夠好的可解釋性,去解釋為何一對(duì)圖文之間為何打分高/低,這對(duì)于業(yè)務(wù)場(chǎng)景中需要定期解case的需求而言,是一個(gè)不利因素。

這讓我們想到為何不采用稀疏的檢索方式呢,比如在傳統(tǒng)的文本檢索任務(wù)中,會(huì)采用基于BM25的方式給文檔和query進(jìn)行詞頻統(tǒng)計(jì),然后基于詞的字面精準(zhǔn)匹配去計(jì)算相似度打分,這種方式儲(chǔ)存代價(jià)低、檢索速度快且具有更好的可解釋性。 然而,圖片搜索中的圖片無法通過傳統(tǒng)的方法將其進(jìn)行“詞頻統(tǒng)計(jì)”,而LexLIP(Lexicon-Bottlenecked Language Image Pre-Training, 基于詞典瓶頸的圖文預(yù)訓(xùn)練) [1] 這篇文章就是考慮將圖片也像文本一樣進(jìn)行“詞頻統(tǒng)計(jì)”,從而使得圖片搜索也可以采用稀疏檢索,如Fig 2所示。 讓我們進(jìn)一步深究下這篇文章是怎么做的。

Fig 1. 稠密檢索方式 vs 稀疏檢索方式。

首先我們反過來,先看到當(dāng)LexLIP整個(gè)模型訓(xùn)練完后,是如何使用的。 如Fig 2所示,訓(xùn)練好的視覺編碼器會(huì)對(duì)索引庫中的所有圖片進(jìn)行特征計(jì)算(俗稱刷庫),然后每一個(gè)圖片中的關(guān)鍵實(shí)體元素,將會(huì)被分解到文本詞表中,并且詞會(huì)有對(duì)應(yīng)的詞權(quán)(weight),筆者將其稱之為視覺詞(visual word)。待刷完庫后,可以構(gòu)建倒排索引鏈表,此時(shí)可以知道詞表中的每個(gè)詞都在哪些圖片中出現(xiàn)過,并且詞權(quán)是多少。用戶在使用時(shí)候,對(duì)于輸入的query文本也進(jìn)行詞權(quán)計(jì)算,用Lq表示query中出現(xiàn)的詞,然后去查詢構(gòu)建好的圖片倒排索引庫Ls,那么l∈Lq∩Ls就是查詢到詞的倒排列表的歸并拉鏈 (歸并倒排拉鏈的介紹可見 https://blog.csdn.net/LoseInVain/article/details/116377189 中信息召回一節(jié)Fig 4.1。),用Wx(l),x=q,s表示其詞權(quán),那么可知基于詞精準(zhǔn)匹配的相似度可由公式(1)計(jì)算。

(1)score=∑l∈Lq∩LsWq(l)×Ws(l)

可以發(fā)現(xiàn),這個(gè)過程中,由于不需要儲(chǔ)存稠密特征向量,只需要儲(chǔ)存構(gòu)建好的倒排列表字典,儲(chǔ)存代價(jià)是非常低的。在計(jì)算相似度這塊,由于只需要對(duì)少許的詞進(jìn)行詞權(quán)乘法,計(jì)算代價(jià)也是很小的。在可解釋性這塊,由于通過文本去表達(dá)圖片的關(guān)鍵信息,因此通過觀察圖片對(duì)應(yīng)的視覺詞以及詞權(quán)的大小,能夠解釋為何一個(gè)query能和該圖片構(gòu)成/不構(gòu)成相關(guān)關(guān)系(因?yàn)榇藭r(shí)無論query還是圖片都是用文本表示了)。因此,LexLIP這個(gè)工作通過將圖片表示為視覺詞和詞權(quán),實(shí)現(xiàn)了圖片搜索中的多模態(tài)稀疏檢索。

Fig 2. LexLIP中的檢索過程。

這個(gè)就是LexLIP的檢索過程,那么這個(gè)模型是怎么訓(xùn)練的呢? 從直觀上看,這個(gè)模型應(yīng)該具有幾大塊:

  1. 文本編碼器和詞權(quán)計(jì)算器(lexicon-bottleneck): 用于對(duì)文本側(cè)進(jìn)行稠密編碼,然后通過詞權(quán)計(jì)算器對(duì)文本稠密特征處理,得到詞權(quán)。
  2. 視覺編碼器和視覺詞權(quán)計(jì)算器:用于對(duì)圖片進(jìn)行稠密編碼,然后通過視覺詞權(quán)計(jì)算器對(duì)視覺稠密特征處理,得到視覺詞權(quán)。

因此,這個(gè)模型的訓(xùn)練需要考慮文本、圖片雙塔的編碼器如何訓(xùn)練,也需要考慮各自的詞權(quán)計(jì)算模塊怎么訓(xùn)練。如Fig 3.所示,讓我們看下這個(gè)模型訓(xùn)練是怎么做的。在圖片側(cè)的編碼器采用的是ViT,需要對(duì)圖片進(jìn)行切塊,切塊后結(jié)果記為x=[x1,?,xm],那么經(jīng)過ViT處理后的圖片稠密向量可表示為公式(2-a),然后用一個(gè)LM頭將其映射到詞表空間,詞表大小為|V|,如公式(2-b)所示。為了避免一些詞權(quán)特別大將其他詞權(quán)的作用掩蓋了,在公式(2-c)采用log?(1+x)的方式進(jìn)行了對(duì)數(shù)尺度放縮,MaxPool(⋅)則是沿著序列軸方向的最大池化,這個(gè)操作也容易理解,就是將整個(gè)文本/圖片序列中最為“重要”的信息給提取出來了。

(2)Hv=Transv([CLSv;x])∈R(m+1)×d(a)Sx(enc)v=LM_headv(Hv)∈R(m+1)×|V|(b)pv=log?(1+MaxPool(max(Sx(enc)v,0)))∈R|V|(c)

相似的,對(duì)于文本側(cè)y的處理,也是和圖片側(cè)一樣的,如公式(3)所示。

(3)Hl=Transl([CLSl;y])∈R(m+1)×d(a)Sx(enc)l=LM_headl(Hl)∈R(m+1)×|V|(b)pl=log?(1+MaxPool(max(Sx(enc)l,0)))∈R|V|(c)

在訓(xùn)練階段,有三種類型的損失函數(shù):

  • Text MLM: 文本的MLM預(yù)訓(xùn)練任務(wù),即是將輸入文本y進(jìn)行一定概率的掩膜(即是以一定概率p將文本tokens用特殊token [MASK]替代,或者是詞表V中的隨機(jī)一個(gè)token。) 得到 ,然后通過上下文去預(yù)測(cè)被掩膜的token,如公式(4)所示。這個(gè)目標(biāo)主要是建模文本編碼器本身的能力。(4)Lmlm=−∑D∑j∈M(enc)log?(P(wj=yj|y¯))(a)P(wj)=softmax(Sy¯(enc)l[i,:])(b)
  • LexMLM: 這個(gè)損失用于建模詞權(quán)計(jì)算的能力,也即是原文中提到的"lexicon-bottleneck",其中的lexicon表示詞典,bottleneck表示瓶頸,也即是通過這個(gè)模塊,能將稠密向量的關(guān)鍵信息“封鎖”到稀疏的詞典表示中,就像是瓶頸一樣,算是很形象了。這塊的建模比較復(fù)雜, 首先需要進(jìn)行規(guī)范化,如公式(5)所示,注意到文本側(cè)的輸入是掩膜后的文本。(5)av=Norm(MaxPool(Sx(enc)v))∈R[0,1]|V|(a)al=Norm(MaxPool(Sy¯(enc)l))∈R[0,1]|V|(b)

由于這是一個(gè)跨模態(tài)模型,要求詞權(quán)也具有跨模態(tài)建模的能力,在傳統(tǒng)的多模態(tài)融合模型UNITER(見博文 [2] )中,是采用跨模態(tài)的MLM去建模不同模態(tài)之間的語義關(guān)聯(lián),在本工作中也是采取了類似的方法,考慮到LexLIP的底座是一個(gè)雙塔模型,因此也引入了一個(gè)弱化的Transformer(被稱之為Weakened Language Decoder)作為跨模態(tài)關(guān)聯(lián)。

模型學(xué)習(xí)好了的情況下,現(xiàn)在的a(⋅)應(yīng)該蘊(yùn)含有充分的圖片或者文本的信息,足以用于推測(cè)出被掩膜掉的文本token。 考慮到文本側(cè)輸入的文本已經(jīng)是進(jìn)行過掩膜的輸入(掩膜概率30%), 也就是al本身的信息已經(jīng)是帶噪的, 因此需要構(gòu)建出帶噪程度更大的文本輸入,因此作者構(gòu)建了掩膜程度更高(比如50%)的文本y^,打算以某種形式去建模,讓模型通過av或者al的信息就能去預(yù)估出y^中被掩膜的token,去用于預(yù)估掩膜token的模型是弱化Transformer(只有2層),而輸入應(yīng)該是a(⋅),這個(gè)是大概的思路。

不過我們需要考慮一下細(xì)節(jié),a(⋅)的是一個(gè)維度為|V|的語義向量,而詞表大小通常是很大的(比如32000),直接將這個(gè)那么長的向量喂到弱化Transformer中不是一個(gè)好的做法,因此作者考慮采用了連續(xù)詞袋(Continuous Bag-of-Words, CBoW)的做法, 將長度為|V|,蔓延整個(gè)詞表大小的向量轉(zhuǎn)化為了維度固定為d的向量,如Fig 6所示,此處的sg(⋅)表示梯度停止,而W(te)∈R|V|×d是文本編碼器的token embedding矩陣。

(6)b(⋅)=a(⋅)sg(W(te))∈Rd

爾后將b(⋅)y^拼接起來,送到弱化Transformer中進(jìn)行解碼即可,如公式(7)所示

(7)Sy^(dec)v=Decoderv([bv;y^])∈R(n+1)×|V|(a)Sy^(dec)l=Decoderl([bl;y^])∈R(n+1)×|V|(b)

損失即是和公式(4)類似的MLM loss,可表示為Li2tLt2i,此處就不贅述了。

  • BaCO(In-Batch lexicon-Contrastive Loss):采用對(duì)比損失去保證進(jìn)行過視覺稠密特征稀疏化后的pv同樣具有良好的語義匹配能力,如公式(8)所示,此處的F(⋅)是一個(gè)控制稀疏度的正則項(xiàng),在SPLADE [3] 這篇文章中引入的,筆者感覺不是很關(guān)鍵,暫時(shí)先不關(guān)注,那么Lbaco=(Lbacoi2t+Lbacot2i)/2。(8)Lbacoi2t=−∑Dlog?(exp?(pv(pl)T)/τ∑j∈Bexp?(pv(pjl)T)/τ)+λF(pv)(a)Lbacot2i=−∑Dlog?(exp?(pv(pl)T)/τ∑j∈Bexp?(pjv(pl)T)/τ)+λF(pl)(a)

就筆者感知而言,其實(shí)不妨將LexMLM看成是ALBEF [4] 中的MLM loss,而BaCO則是ALBEF中的ITC loss,只不過為了適配稀疏特征的特點(diǎn)做了一些優(yōu)化而已,這樣理解這個(gè)論文就會(huì)容易一些。最終的損失為:

(9)Lp1=Lmlm+Li2t+Lt2i+Lbaco

作者在文章中為了提高性能,在上面的基礎(chǔ)上還采用了動(dòng)量學(xué)習(xí) + 大規(guī)模負(fù)樣本隊(duì)列的方式(即是MoCo),去進(jìn)行第二階段的預(yù)訓(xùn)練,這個(gè)筆者在博文 [2] 中也曾經(jīng)介紹過,在此不再累述。

Fig 3. LexLIP的預(yù)訓(xùn)練階段框架,主要分為Text MLM、lexicon bottleneck MLM(LexMLM)、In-batch Contrastive loss這3大塊損失建模。

以上模型就訓(xùn)練好了,然而為了實(shí)現(xiàn)梯度反傳,以上提到的相似度計(jì)算都是在實(shí)數(shù)域進(jìn)行的,比如pv(pl)T, 此時(shí)詞的概率分布彌散在整個(gè)詞表中。這和我們?cè)诠?1)提到的整數(shù)型的詞權(quán)計(jì)算不同,使得無法在目前開源的的基于詞的檢索系統(tǒng)(如Anserini)中使用。因此作者還進(jìn)行了詞權(quán)的“量化”, 將實(shí)數(shù)型的詞權(quán)轉(zhuǎn)化為了離散的整數(shù)詞權(quán)。作者采用的是直接量化,即是 ⌊100×p(⋅)⌋,此時(shí)無論是圖片還是文本都可以轉(zhuǎn)化為若干個(gè)詞以及詞權(quán),然后采用公式(1)高效地進(jìn)行計(jì)算相關(guān)性打分了。

作者進(jìn)行了一些實(shí)驗(yàn)去對(duì)比LexLIP的模型性能和速度,如Fig 4 (a)所示,作者對(duì)比了一些圖文檢索的SOTA模型,能發(fā)現(xiàn)LexLIP在公平比較下,大部分時(shí)候都能達(dá)到SOTA的性能,具體的實(shí)驗(yàn)細(xì)節(jié)就不累述了,讀者有興趣可以自行翻閱論文。 同時(shí),作者還進(jìn)行了大規(guī)模檢索實(shí)驗(yàn),去探索LexLIP的速度和模型性能的均衡表現(xiàn),如Fig 4. (b)所示,其中的BM25,指的是用圖片的caption信息去表示圖片,使得可以采用BM25方法去進(jìn)行圖文檢索,這個(gè)可視為是稀疏檢索的基線,稠密檢索的基線則是采用CLIP。從結(jié)果上看,LexLIP所需的索引儲(chǔ)存量(最多152M)明顯小于稠密索引(2G),甚至比BM25的索引儲(chǔ)存量還少。在保持同樣效果的前提下,QPS是稠密檢索的270倍,在最佳模型效果下,QPS是稠密檢索的5.4倍,并且有著模型效果上的絕對(duì)優(yōu)勢(shì)。和純文本的稀疏檢索基線對(duì)比,在保持相似QPS的情況下,LexLIP的模型效果也是有著明顯優(yōu)勢(shì)(22.3 > 16.8)。這說明LexLIP在模型效果,索引儲(chǔ)存量和檢索速度上都有著明顯優(yōu)勢(shì),是一個(gè)適合業(yè)務(wù)落地的方法。

Fig 4. LexLIP的SOTA實(shí)驗(yàn)對(duì)比和大規(guī)模檢索實(shí)驗(yàn)。

作者還進(jìn)行了詞權(quán)的可視化,如Fig 5所示,其中詞權(quán)越大則可視化出來的詞尺寸也越大,可以發(fā)現(xiàn)LexLIP這種方法還能提供比較好的可解釋性,這對(duì)于線上應(yīng)用來說也是很友好的。作者還對(duì)本文提到的各種損失函數(shù)進(jìn)行了消融試驗(yàn),結(jié)論就是各種損失函數(shù)都是有效的,不過本文就不繼續(xù)累述了,讀者感興趣的請(qǐng)自行翻閱。

Fig 5. 對(duì)圖片的視覺詞和文本的詞,根據(jù)詞權(quán)大小進(jìn)行可視化,尺寸越大的詞表示詞權(quán)越大。

筆者之前在 《萬字淺析視頻搜索系統(tǒng)中的多模態(tài)能力建設(shè)》 [5] 中曾經(jīng)討論了在真實(shí)的視頻搜索業(yè)務(wù)場(chǎng)景中,多模態(tài)稀疏特征的重要作用。我在看完這篇論文后,感覺這個(gè)工作還是很適合在真實(shí)的圖片搜索場(chǎng)景落地的(甚至是視頻搜索場(chǎng)景也可以),可以作為一個(gè)獨(dú)特的多模態(tài)稀疏召回通路而存在,其特征甚至排序階段也有作用。不過這個(gè)倒底還是不能完全取代稠密檢索的作用,筆者在博文 [6] 中討論過基于CLIP特征的視覺短板問題,在一些需要視覺本身的結(jié)構(gòu)信息,而不是語義信息的情況下,基于CLIP方式訓(xùn)練出來的特征并不夠完備,因此需要引入視覺自監(jiān)督模型的特征,如DINO等。 本文還是在建模跨模態(tài)的語義信息,只是將其做成了視覺的離散特征,因此筆者覺得,可以考慮再引入對(duì)自監(jiān)督視覺特征進(jìn)行稀疏化(比如dVAE、VQ-VAE等)的召回通路,也許這樣就能徹底拋棄稠密檢索的召回通路了哈哈哈。算是拋磚引玉吧,讀者有啥想法歡迎交流~

Reference

[1]. Luo, Ziyang, Pu Zhao, Can Xu, Xiubo Geng, Tao Shen, Chongyang Tao, Jing Ma, Qingwei Lin, and Daxin Jiang. "Lexlip: Lexicon-bottlenecked language-image pre-training for large-scale image-text sparse retrieval." In Proceedings of the IEEE/CVF international conference on computer vision, pp. 11206-11217. 2023. aka LexLIP

[2]. https://fesianxu.github.io/2023/03/04/story-of-multimodal-models-20230304/, 《視頻與圖片檢索中的多模態(tài)語義匹配模型:原理、啟示、應(yīng)用與展望》

[3]. Thibault Formal, Benjamin Piwowarski, and Stephane Clin- ´ chant. SPLADE: sparse lexical and expansion model for first stage ranking. In Fernando Diaz, Chirag Shah, Torsten Suel, Pablo Castells, Rosie Jones, and Tetsuya Sakai, editors, SIGIR ’21: The 44th International ACM SIGIR Conference on Research and Development in Information Retrieval, Virtual Event, Canada, July 11-15, 2021, pages 2288–2292. ACM, 2021 aka SPLADE

[4]. Li, Junnan, Ramprasaath Selvaraju, Akhilesh Gotmare, Shafiq Joty, Caiming Xiong, and Steven Chu Hong Hoi. "Align before fuse: Vision and language representation learning with momentum distillation." Advances in Neural Information Processing Systems 34 (2021). short for ALBEF

[5]. https://fesianxu.github.io/2024/06/30/video-retrieval-multimodal-20240630/, 《萬字淺析視頻搜索系統(tǒng)中的多模態(tài)能力建設(shè)》

[6]. https://fesianxu.github.io/2024/07/06/20240706-visual-shortcome-mllm/, 《基于CLIP特征的多模態(tài)大模型中的視覺短板問題》

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