多模態(tài)匹配研究簡史
跨模態(tài)研究核心重點在于如何將多模態(tài)數(shù)據(jù)匹配上,即如何將多模態(tài)信息映射到統(tǒng)一的表征空間。早期研究主要分成兩條主線:Canonical Correlation Analysis (CCA) 和Visual Semantic Embedding (VSE)。
CCA 系列方法
主要是通過分析圖像和文本的 correlation,然后將圖像和文本到同一空間。這一系列的問題論文完美,但是效果相對深度學(xué)習(xí)方法還是有待提高的。雖然后期也有基于深度學(xué)習(xí)的方案 (DCCA),但是對比后面的 VSE 方法還有一定差距。
VSE 系統(tǒng)方法
將圖像和文本分別表示成 Latent Embedding,然后將多模態(tài) Latent Embedding 擬合到同一空間。VSE 方法又延伸出來非常多的方法例如 SCAN,PFAN。這些方法在通用圖文匹配上已經(jīng)拿到不錯效果。
隨著 pre-training 和 self-supervised 技術(shù)在 CV 和 NLP 領(lǐng)域的應(yīng)用。2019 年開始,有學(xué)者開始嘗試基于大規(guī)模數(shù)據(jù),使用預(yù)訓(xùn)練的 BERT 模型將圖文信息擬合同一空間。這些方法在通用領(lǐng)域取得很好的效果,這一系列的方法可以參看 VLBERT 這篇 Paper。
基于 BERT 的預(yù)訓(xùn)練圖文模型的主要流程:
1)利用圖像目標(biāo)檢測技術(shù)先識別圖像中的 Region of Interests(RoIs)。
2)把 ROI 當(dāng)做圖像的 token,和文本 token 做 BERT 多模態(tài)融合,這里面有兩個方案:
Single-stream:以 VLBERT 為代表,直接將圖像 token 和文本 token 放入到 BERT 做多模態(tài)融合。
Cross-stream:以 ViLBERT 為代表,將圖像 token 和文本 token 先做初步的交互,然后在放入到 BERT。
我們嘗試了 ViLBERT 方法,發(fā)現(xiàn)在通用領(lǐng)域效果確實不錯。但是在電商領(lǐng)域,由于提取的 ROI 并不理想,導(dǎo)致效果低于預(yù)期。主要原因在于:
1)電商圖像 ROI 太少
電商圖像產(chǎn)品單一,背景簡單提取 ROI 很少,如圖 1(c)。統(tǒng)計來看,通用領(lǐng)域 MsCoCo 數(shù)據(jù),每張圖像可以提取 19.8 個 ROI,但是電商只能提取 6.4 個 ROI。當(dāng)然我們可以強制提取最小的 ROI,比如 ViLBERT 要求在 10~36 個,VLBERT 要求 100 個。但是當(dāng)設(shè)定最小提取的 ROI 后,又提取了太多了重復(fù)的 ROI,可以看圖 1(e)。
2)電商 ROI 不夠 fine-grained
電商圖像單一,提取的 RoIs 主要是 object-level 的產(chǎn)品 (例如,整體連衣裙,T-shirt 等) 。相對文本來說,不夠細(xì)粒度 fine-grain,比如文本里面可以描述主體非常細(xì)節(jié)屬性 (如,圓領(lǐng),九分褲,七分褲等等)。這就導(dǎo)致圖像 ROI 不足以和文本 token 匹配,大家可以對比一下電商領(lǐng)域的圖 1(c) 和圖 1(d)。再看下通用領(lǐng)域的圖 1(a) 和圖 1(b),你會發(fā)現(xiàn)通用領(lǐng)域簡單一些,只要能將圖像中的主體和文本 token alignment 到一起,基本不會太差。
3)電商圖像 ROI 噪音太大
如圖 1(f) 中提取的模特頭,頭發(fā),手指,對于商品匹配來說用處不大。
這也就解釋了,電商領(lǐng)域也采用現(xiàn)有的 ROI 方式,并不能得到非常理想的結(jié)果。如果說,針對電商領(lǐng)域重新訓(xùn)練一個電商領(lǐng)域的 ROI 提取模型,需要大量的數(shù)據(jù)標(biāo)注工作。那么有沒有簡單易行的方法做圖文匹配擬合。
FashionBERT 圖文匹配模型
本文我們提出了 FashionBERT 圖文匹配模型,核心問題是如何解決電商領(lǐng)域圖像特征的提取或者表達。Google 在 2019 年年中發(fā)表了一篇文章圖像自監(jiān)督學(xué)習(xí)模型 selfie,主要思路是將圖像分割成子圖,然后預(yù)測子圖位置信息。從而使模型達到理解圖像特征的目的,這個工作對我們啟發(fā)很大。我們直接將圖像 split 相同大小的 Patch,然后將 Patch 作為圖像的 token,和文本進行擬合,如圖二所示。使用 Patch 的好處:
圖像 Patch 包含了所有圖像的細(xì)節(jié)信息。
圖像 Patch 不會出現(xiàn)重復(fù)的 ROI 或者太多無用的 ROI。
圖像 Patch 是天然包含順序的,所以解決 BERT 的 sequence 問題。
FashionBERT 整體結(jié)構(gòu)如圖 2,主要包括 Text Embedding, Patch Embedding, Cross-modality FashionBERT,以及 Pretrain Tasks。
Text Embedding
和原始 BERT 一樣,先將句子分成 Token,然后我們采用 Whole Word Masking 技術(shù)將整個 Token 進行 masking。Masking 的策略和原始的 BERT 保持一致。
Patch Embedding
和 Text Embedding 類似,這里我們將圖片平均分成 8*8 個 patch。每個 Patch 經(jīng)過 ResNet 提取 patch 的圖像特征,我們提取 2048 維圖像特征。Patch mask 策略,我們隨機 masked 10% 的 patch,masked 的 patch 用 0 代替。同時在 Segment 字段我們分別用 "T" 和 "I" 區(qū)分文 本token 輸入和圖像 patch 輸入。
Cross-modality FashionBERT
采用預(yù)訓(xùn)練的 BERT 為網(wǎng)絡(luò),這樣語言模型天然包含在 FashionBERT 中。模型可以更加關(guān)注圖文匹配融合。
FashionBERT 模型在 pretrain 階段,總共包含了三個任務(wù):
1 Masked Language Modeling (MLM)
預(yù)測 Masked Text Token,這個任務(wù)訓(xùn)練和參數(shù)我們保持和原始的 BERT 一致。
2 Masked Patch Modeling (MPM)
預(yù)測 Masked Patch,這個任務(wù)和 MLM 類似。但是由于圖像中沒有 id 化的 token。這里我們用 patch 作為目標(biāo),希望 BERT 可以重構(gòu) patch 信息,這里我們選用了 KLD 作為 loss 函數(shù)。
3 Text and Image Alignment
和 Next Sentence Prediction 任務(wù)類似,預(yù)測圖文是否匹配。正樣本是產(chǎn)品標(biāo)題和圖片,負(fù)樣本我們隨機采樣同類目下其他產(chǎn)品的圖片作為負(fù)樣本。
這是一個多任務(wù)學(xué)習(xí)問題,如何平衡這些任務(wù)的學(xué)習(xí)權(quán)重呢?另外,還有一個問題,目前很多實驗指出 BERT 中 NSP 的效果并不一定非常有效,對最終的結(jié)果的影響不是特別明朗。但是對于圖文匹配來說,Text and Image Alignment 這個 loss 是至關(guān)重要的。那么如何平衡這幾個任務(wù)的學(xué)習(xí)呢?這里我們提出 adaptive loss 算法,我們將學(xué)習(xí)任務(wù)的權(quán)重看做是一個新的優(yōu)化問題,如圖 3 所示。FashionBERT 的 loss 是整體 loss 的加和,由于只有三個任務(wù),其實我們可以直接得到任務(wù)權(quán)重 W 的解析解(具體的求解過程可以參考我們論文,這里不再贅述)。
整個 w 的學(xué)習(xí)過程可以看做是一個學(xué)生想學(xué)習(xí)三門功課,w 的作用是控制學(xué)習(xí)的關(guān)注度,一方面控制別偏科,一方面總成績要達到最高。具體 adaptive loss 算法,可以參看論文。從實際的效果來看 w,隨著訓(xùn)練的迭代關(guān)注不同的任務(wù),達到對任務(wù)做平衡的目的。
業(yè)務(wù)應(yīng)用
目前 FashionBERT 已經(jīng)開始在 Alibaba 搜索多模態(tài)向量檢索上應(yīng)用,對于搜索多模態(tài)向量檢索來說,匹配任務(wù)可以看成是一個文文圖匹配任務(wù),即 User Query (Text)-Product Title (Text) - Product Image (Image) 三元匹配關(guān)系。FashionBERT 從上面的模型可以看到是一個基礎(chǔ)的圖文匹配模型,因此我們做了 Continue Pretrain 工作,同時加入 Query,Title,Image Segment 區(qū)分,如圖四所示。和 FashionBERT 最大的區(qū)別在于我們引入三個 segment 類型,“Q”,“T”,“I” 分別代表 Query,Title,Image。
商用機器人 Disinfection Robot 展廳機器人 智能垃圾站 輪式機器人底盤 迎賓機器人 移動機器人底盤 講解機器人 紫外線消毒機器人 大屏機器人 霧化消毒機器人 服務(wù)機器人底盤 智能送餐機器人 霧化消毒機 機器人OEM代工廠 消毒機器人排名 智能配送機器人 圖書館機器人 導(dǎo)引機器人 移動消毒機器人 導(dǎo)診機器人 迎賓接待機器人 前臺機器人 導(dǎo)覽機器人 酒店送物機器人 云跡科技潤機器人 云跡酒店機器人 智能導(dǎo)診機器人 |