CLIP 長文本能力被解鎖,圖像檢索任務表現顯著提升!
一些關鍵細節也能被捕捉到。上海交大聯合上海 AI 實驗室提出新框架Long-CLIP。
△棕色文本爲區分兩張圖的關鍵細節
Long-CLIP 在保持 CLIP 原始特征空間的基礎上,在圖像生成等下遊任務中即插即用,實現長文本細粒度圖像生成——
長文本 - 圖像檢索提升 20%,短文本 - 圖像檢索提升 6%。
解鎖 CLIP 長文本能力
CLIP 對齊了視覺與文本模态,擁有強大的 zero-shot 泛化能力。因此,CLIP 被廣泛應用在各種多模态任務中,如圖像分類、文本圖像檢索、圖像生成等。
但 CLIP 的一大弊病是在于長文本能力的缺失。
首先,由于采用了絕對位置編碼,CLIP 的文本輸入長度被限制在了 77 個 token。不僅如此,實驗發現 CLIP 真正的有效長度甚至不足 20 個 token,遠遠不足以表征細粒度信息。
文本端的長文本缺失也限制了視覺端的能力。由于僅包含短文本,CLIP 的視覺編碼器也隻會提取一張圖片中最主要的成分,而忽略了各種細節。這對跨模态檢索等細粒度任務是十分不利的。
同時,長文本的缺乏也使 CLIP 采取了類似 bag-of-feature(BOF)的簡單建模方式,不具備因果推理等複雜能力。
針對這一問題,研究人員提出了 Long-CLIP 模型。
具體提出了兩大策略:保留知識的位置編碼擴充(Knowledge-Preserving Stretching of Positional Embedding)與加入核心成分對齊(Primary Component Matching)的微調策略。
保留知識的位置編碼擴充
一個簡單的擴充輸入長度、增強長文本能力的方法是先以固定的比率 λ 1 對位置編碼進行插值,再通過長文本進行微調。
研究者們發現,CLIP 的不同位置編碼的訓練程度是不同的。由于訓練文本很可能以短文本爲主,較低位的位置編碼訓練較爲充分,能夠精确地表征絕對位置,而較高位的位置編碼則僅能表征其大緻的相對位置。因此,對不同位置的編碼進行插值的代價是不同的。
基于以上觀察,研究者保留了前 20 個位置編碼,而對于剩下的 57 個位置編碼,則以一個更大的比率 λ 2 進行插值,計算公式可表示爲:
實驗表明,相較于直接插值,該策略可以在支持更長的總長度的同時大幅提升在各個任務上的性能。
加入核心屬性對齊的微調
僅僅引入長文本微調會使模型走入另一個誤區,即一視同仁地囊括所有細節。針對這一問題,研究者們在微調中引入核心屬性對齊這一策略。
具體而言,研究者們利用主成分分析(PCA)算法,從細粒度的圖像特征中提取核心屬性,将其餘屬性過濾後重建粗粒度圖像特征,并将其與概括性的短文本進行對齊。這一策略既要求模型不僅能夠包含更多的細節(細粒度對齊),同時還能識别并建模其中最爲核心的屬性(核心成分提取與粗粒度對齊)。
△加入核心屬性對齊的微調流程即插即用在各種多模态任務中
在圖文檢索、圖像生成等領域,Long-CLIP 可即插即用地替換 CLIP。
比如圖文檢索,Long-CLIP 能夠在圖像與文本模态捕捉更多細粒度信息,從而可以增強相似圖像和文本的區分能力,大幅提升圖文檢索的表現。
無論是在傳統的短文本檢索(COCO、Flickr30k),還是在長文本檢索任務上,Long-CLIP 在召回率上均有顯著提升。
△短文本 - 圖像檢索實驗結果
△長文本 - 圖像檢索實驗結果
△長文本 - 圖像檢索可視化,棕色文本爲區分兩張圖片的關鍵細節
除此之外,CLIP 的文本編碼器常被用于文本到圖像生成模型中,如 stable diffusion 系列等。但由于長文本能力的缺失,用于生成圖像的文本描述通常都十分簡短,無法個性化地訂制各種細節。
Long-CLIP 可以突破 77 個 token 的限制,實現篇章級别的圖像生成(右下)。
也可以在 77 個 token 内建模更多地細節,實現細粒度圖像生成(右上)。
論文鏈接:
https://arxiv.org/abs/2403.15378
代碼鏈接:
https://github.com/beichenzbc/Long-CLIP