視覺語言模型
視覺語言模型(vision-language model,VLM)是一種能同時接收圖片與文字、並把兩者一起進行推理的單一模型,而不是把「看」與「讀寫」當成兩個各自獨立的問題。想像你拿一張照片給朋友看,並問「左邊那個人在做什麼?」——你的朋友必須觀看影像、理解你的句子、把「左邊」這個詞對應到圖片中的某個位置,再用文字回答。VLM 就是被訓練來完成這種「邊看邊說」的聯合任務的軟體。
具體而言,一個 VLM 至少有兩個部分:一個視覺編碼器(vision encoder),把影像轉成一串數值向量(例如視覺 Transformer,ViT,會把影像切成許多小方塊 patch,每個 patch 產生一個向量);以及一個語言元件,用來處理文字 token(也是一個 Transformer)。兩者被連接起來,讓資訊能跨「模態(modality)」流動——影像與文字就是兩個模態。連接方式可以是對比式對齊(如 CLIP,把影像與文字推進一個共享的嵌入空間),也可以是深度融合(讓文字 token 透過跨模態注意力去關注影像特徵);輸出可以是相似度分數、類別、邊界框,或生成的文字。
VLM 是現代多數多模態任務的總稱框架:影像描述、視覺問答、影像文字檢索、零樣本分類、視覺定位、多模態對話,都是一個夠通用的 VLM 能做的事。這個領域已經從「為每個任務各做一個網路」的專用模型,走向廣泛的預訓練基礎模型(CLIP、BLIP、Flamingo、LLaVA,以及驅動 GPT-4V、Gemini 等系統的多模態大型語言模型)——它們在巨量的影像文字語料上預訓練,之後只用很少或甚至不用特定任務資料就能適配各種任務。
「視覺語言模型」是個廣義詞,並非單一架構。CLIP 式的雙編碼器(擅長檢索與零樣本配對)和 LLaVA 這類生成式 MLLM(擅長開放式描述與對話)都是 VLM,但本質差異很大:前者只評估影像與文字的匹配程度,後者則是真的以影像為條件去產生文字。閱讀論文時務必先弄清它指的是哪一種。