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