ALBEF
研究動機
ALBEF之前的一些方式, 視覺分支基本都是基于 dector的方式(檢出目標框),如下圖所示,由于大量的數據沒有標框,因此視覺預訓練的受限于dector的檢測方式。
創新點
能不能不再采用dector的方式訓練視覺分支模型,ALBEF采用了一種新的方式,能夠在信息融合之前就對齊圖文的特征,即Align Before Fuse
網絡結構
- image encoder : ViT
- text encoder: BERT
- multimodal encoder : 通過 CrossAttention進行模態之間的融合
- Momentum Encoder : 輸出軟分布,有助于過濾圖文不太匹配的噪聲數據 .(不理解的可以看下何凱明的MoCo系列)
損失函數
通過設計ITC(Image-Text Contrastive) Loss,強制在融合之前對齊特征。 通過設計兩個下游任務,圖文匹配(Image Text Match,ITM)和 完形填空(Masked Language Modeling, MLM)進行多模態模型的融合。
關鍵設計??:在融合前加入??圖像-文本對比損失(ITC)??,強制單模態編碼器生成的表示在語義空間對齊(類似CLIP)
BLIP
研究動機
- 對于只有encoder結構的模型,無法做生成(因為沒有生成任務)
- 對于 encoder-decoder結構的模型,可以做生成但是不能做檢索這種理解式的任務。
- 網絡上的圖文對包含很多噪聲,可能并不是真正的匹配圖文對。
網絡結構
如圖所示,相對于 ALBEF結構,增加了一個decoder的模塊,并且把完形填空任務換成了句子生成的任務(Language Model,LM), 并且把Cross Attention換成了Causal Attention,即從Bert形式換成了GPT的形式, 這樣就可以進行生成了。 所以現在整個網絡結構既有理解又有生成任務,做到了理解和生成的架構統一。
數據策略
BLIP2
研究動機
當前的大模型都是基于 大量數據和大模型參數量下進行訓練的, 訓練的很慢,能不能改善一下提高訓練效率呢?
如果把 image encoder 和 text encoder都凍住不進行更新的話,這倆時間的gap可能會比較大,BLIP2在這兩者之間加了一個 小的transformer的結構,即Q-Former,達到了四兩撥千斤的效果。
網絡結構
如圖所示, 這兩個框分別表示理解任務和生成任務
第一階段:Representation Learning
扮演了理解任務,即表征學習階段, 通過一個 可學習Query和txt作為輸入,通過設計 ITC,ITM ,ITGT(基于圖像的文本生成)任務,把視覺特征和語言特征對齊,得到學習好的Query (學好后包含了對齊到語言空間的視覺信息)
第二階段:Generation Learning
把學習好的Query輸入到 Decoder中,做生成任務。
Instruct BLIP
參考鏈接:
https://www.bilibili.com/video/BV15vsueME7J?spm_id_from=333.788.videopod.sections&vd_source=a671b6c09bdc87f50b8d9fbbf85c6245
研究動機
核心問題?:傳統視覺-語言模型(如BLIP-2)在響應復雜指令時表現局限
(例如:“which picture shows the pizza inside the oven?” 需同時理解空間關系與對象狀態)
?關鍵痛點?:
視覺特征與語言指令語義割裂?:凍結的Image Encoder無法感知任務需求
靜態提示輸入:LLM接收的視覺特征與當前指令無關
網絡結構
?視覺特征提取?
圖像輸入預訓練且凍結的ViT?(例如CLIP-ViT),輸出特征向量
?基于指令的Q-Former(創新核心)??
任務指令(如披薩定位問題)與視覺特征共同輸入Q-Former?
通過三層交互:
? ?Self-Attention?:融合指令語義(理解"inside"的空間關系)
? ?Cross-Attention?:篩選與指令相關的視覺特征(聚焦烤箱區域)
? ?Feed Forward?:強化任務適配特征表示
?LLM交互機制?
Q-Former輸出的32個動態Token?(即軟提示)經線性投影后
與指令文本拼接成完整輸入:
[任務指令] + [指令感知視覺特征] → LLM
?響應生成?
凍結的LLM(如FlanT5、Vicuna)基于融合輸入生成自然語言響應
(示例輸出:“left one” 指向左圖中的烤箱披薩)
架構圖實例解析?(圖中披薩定位示例)
當輸入指令:
“which picture shows the pizza inside the oven?”
?Q-Former的運作?流程:
解析指令關鍵詞 → inside(空間關系), oven(目標容器)
通過Cross-Attention聚焦圖像中的烤箱內部區域?
輸出對比特征:左圖(披薩在烤箱內) vs 右圖(披薩在臺面上)
LLM基于特征對比生成響應 → left one
對比BLIP2
# BLIP-2的靜態輸入:
visual_prompt = [固定向量] # 與"oven inside"無關# InstructBLIP的動態生成:
if 指令 == "which shows pizza inside oven?":visual_prompt = focus(烤箱區域, 披薩位置) # 輸出32個位置敏感Token
BLIP-2典型問題?(對比圖中披薩定位任務)
問題:“which picture shows the pizza inside the oven?”
可能響應:“left: pizza on counter, right: pizza in oven”(需用戶自行判斷位置)
?InstructBLIP優化響應?
指令感知處理: Q-Former過濾"inside oven"相關特征
動態Token突出左圖錯誤/右圖正確區域
LLM直接生成:??*"right one"??*
總結:InstructBLIP的核心突破?
?將指令語義深度融入視覺特征提取階段,通過動態軟提示實現: ??“讓模型學會根據問題主動尋找視覺證據”??
而BLIP-2僅是簡單拼接靜態圖像特征與問題文本。
指標對比
X InstructBLIP
核心動機?
?解決多模態割裂問題?:傳統多模態模型需對不同模態數據聯合訓練(如CLIP),計算成本高且模態擴展性差。
?打破模態壁壘?:實現圖像、音頻、視頻、3D等異構模態的統一理解和推理,?僅通過單模態獨立訓練即可涌現跨模態能力?
網絡結構
五種網絡對比
參考
-
https://www.bilibili.com/video/BV1uT411q7ef/?spm_id_from=333.337.search-card.all.click&vd_source=a671b6c09bdc87f50b8d9fbbf85c6245
-
https://www.bilibili.com/video/BV15vsueME7J?spm_id_from=333.788.videopod.sections&vd_source=a671b6c09bdc87f50b8d9fbbf85c6245