天天看點

FashionBERT 電商領域多模态研究:如何做圖文拟合?

FashionBERT 電商領域多模态研究:如何做圖文拟合?

背景

随着 Web 技術發展,網際網路上包含大量的多模态資訊(包括文本,圖像,語音,視訊等)。從海量多模态資訊搜尋出重要資訊一直是學術界研究重點。多模态比對核心就是圖文比對技術 (Text and Image Matching),這也是一項基礎研究,在非常多的領域有很多應用,例如圖文檢索 (Cross-modality IR),圖像标題生成 (Image Caption),圖像問答系統 (Vision Question Answering), 圖像知識推理 (Visual Commonsense Reasoning)。但是目前學術界研究重點放在通用領域的多模态研究,針對電商領域的多模态研究相對較少,然而電商領域也非常需要多模态比對模型,應用場景特别多。本文重點關注電商領域圖文多模态技術研究。

多模态比對研究簡史

跨模态研究核心重點在于如何将多模态資料比對上,即如何将多模态資訊映射到統一的表征空間。早期研究主要分成兩條主線:Canonical Correlation Analysis (CCA) 和Visual Semantic Embedding (VSE)。

CCA 系列方法

主要是通過分析圖像和文本的 correlation,然後将圖像和文本到同一空間。這一系列的問題論文完美,但是效果相對深度學習方法還是有待提高的。雖然後期也有基于深度學習的方案 (DCCA),但是對比後面的 VSE 方法還有一定差距。

VSE 系統方法

将圖像和文本分别表示成 Latent Embedding,然後将多模态 Latent Embedding 拟合到同一空間。VSE 方法又延伸出來非常多的方法例如 SCAN,PFAN。這些方法在通用圖文比對上已經拿到不錯效果。

随着 pre-training 和 self-supervised 技術在 CV 和 NLP 領域的應用。2019 年開始,有學者開始嘗試基于大規模資料,使用預訓練的 BERT 模型将圖文資訊拟合同一空間。這些方法在通用領域取得很好的效果,這一系列的方法可以參看 VLBERT 這篇 Paper。

基于 BERT 的預訓練圖文模型的主要流程:

1)利用圖像目标檢測技術先識别圖像中的 Region of Interests(RoIs)。

2)把 ROI 當做圖像的 token,和文本 token 做 BERT 多模态融合,這裡面有兩個方案:

  • Single-stream:以 VLBERT 為代表,直接将圖像 token 和文本 token 放入到 BERT 做多模态融合。
  • Cross-stream:以 ViLBERT 為代表,将圖像 token 和文本 token 先做初步的互動,然後在放入到 BERT。

我們嘗試了 ViLBERT 方法,發現在通用領域效果确實不錯。但是在電商領域,由于提取的 ROI 并不理想,導緻效果低于預期。主要原因在于:

1)電商圖像 ROI 太少

電商圖像産品單一,背景簡單提取 ROI 很少,如圖 1(c)。統計來看,通用領域 MsCoCo 資料,每張圖像可以提取 19.8 個 ROI,但是電商隻能提取 6.4 個 ROI。當然我們可以強制提取最小的 ROI,比如 ViLBERT 要求在 10~36 個,VLBERT 要求 100 個。但是當設定最小提取的 ROI 後,又提取了太多了重複的 ROI,可以看圖 1(e)。

2)電商 ROI 不夠 fine-grained

電商圖像單一,提取的 RoIs 主要是 object-level 的産品 (例如,整體連衣裙,T-shirt 等) 。相對文本來說,不夠細粒度 fine-grain,比如文本裡面可以描述主體非常細節屬性 (如,圓領,九分褲,七分褲等等)。這就導緻圖像 ROI 不足以和文本 token 比對,大家可以對比一下電商領域的圖 1(c) 和圖 1(d)。再看下通用領域的圖 1(a) 和圖 1(b),你會發現通用領域簡單一些,隻要能将圖像中的主體和文本 token alignment 到一起,基本不會太差。

3)電商圖像 ROI 噪音太大

如圖 1(f) 中提取的模特頭,頭發,手指,對于商品比對來說用處不大。

這也就解釋了,電商領域也采用現有的 ROI 方式,并不能得到非常理想的結果。如果說,針對電商領域重新訓練一個電商領域的 ROI 提取模型,需要大量的資料标注工作。那麼有沒有簡單易行的方法做圖文比對拟合。

FashionBERT 電商領域多模态研究:如何做圖文拟合?
FashionBERT 電商領域多模态研究:如何做圖文拟合?
FashionBERT 電商領域多模态研究:如何做圖文拟合?

圖1: 電商領域 ROI 問題

FashionBERT 圖文比對模型

本文我們提出了 FashionBERT 圖文比對模型,核心問題是如何解決電商領域圖像特征的提取或者表達。Google 在 2019 年年中發表了一篇文章圖像自監督學習模型 selfie,主要思路是将圖像分割成子圖,然後預測子圖位置資訊。進而使模型達到了解圖像特征的目的,這個工作對我們啟發很大。我們直接将圖像 split 相同大小的 Patch,然後将 Patch 作為圖像的 token,和文本進行拟合,如圖二所示。使用 Patch 的好處:

  • 圖像 Patch 包含了所有圖像的細節資訊。
  • 圖像 Patch 不會出現重複的 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 經過 ResNet 提取 patch 的圖像特征,我們提取 2048 維圖像特征。Patch mask 政策,我們随機 masked 10% 的 patch,masked 的 patch 用 0 代替。同時在 Segment 字段我們分别用 "T" 和 "I" 區分文 本token 輸入和圖像 patch 輸入。

Cross-modality FashionBERT

采用預訓練的 BERT 為網絡,這樣語言模型天然包含在 FashionBERT 中。模型可以更加關注圖文比對融合。

FashionBERT 電商領域多模态研究:如何做圖文拟合?

圖2: FashionBERT 主要架構

FashionBERT 模型在 pretrain 階段,總共包含了三個任務:

1 Masked Language Modeling (MLM)

預測 Masked Text Token,這個任務訓練和參數我們保持和原始的 BERT 一緻。

2 Masked Patch Modeling (MPM)

預測 Masked Patch,這個任務和 MLM 類似。但是由于圖像中沒有 id 化的 token。這裡我們用 patch 作為目标,希望 BERT 可以重構 patch 資訊,這裡我們選用了 KLD 作為 loss 函數。

3 Text and Image Alignment

和 Next Sentence Prediction 任務類似,預測圖文是否比對。正樣本是産品标題和圖檔,負樣本我們随機采樣同類目下其他産品的圖檔作為負樣本。

這是一個多任務學習問題,如何平衡這些任務的學習權重呢?另外,還有一個問題,目前很多實驗指出 BERT 中 NSP 的效果并不一定非常有效,對最終的結果的影響不是特别明朗。但是對于圖文比對來說,Text and Image Alignment 這個 loss 是至關重要的。那麼如何平衡這幾個任務的學習呢?這裡我們提出 adaptive loss 算法,我們将學習任務的權重看做是一個新的優化問題,如圖 3 所示。FashionBERT 的 loss 是整體 loss 的加和,由于隻有三個任務,其實我們可以直接得到任務權重 W 的解析解(具體的求解過程可以參考我們論文,這裡不再贅述)。

FashionBERT 電商領域多模态研究:如何做圖文拟合?

圖3: Adaptive Loss

整個 w 的學習過程可以看做是一個學生想學習三門功課,w 的作用是控制學習的關注度,一方面控制别偏科,一方面總成績要達到最高。具體 adaptive loss 算法,可以參看論文。從實際的效果來看 w,随着訓練的疊代關注不同的任務,達到對任務做平衡的目的。

業務應用

目前 FashionBERT 已經開始在 Alibaba 搜尋多模态向量檢索上應用,對于搜尋多模态向量檢索來說,比對任務可以看成是一個文文圖比對任務,即 User Query (Text)-Product Title (Text) - Product Image (Image) 三元比對關系。FashionBERT 從上面的模型可以看到是一個基礎的圖文比對模型,是以我們做了 Continue Pretrain 工作,同時加入 Query,Title,Image Segment 區分,如圖四所示。和 FashionBERT 最大的差別在于我們引入三個 segment 類型,“Q”,“T”,“I” 分别代表 Query,Title,Image。

FashionBERT 電商領域多模态研究:如何做圖文拟合?

圖4: FashionBERT Continue Pretrain

Continue Pretrain 之後的模型可以在非常小的 finetune 資料上就快速拿到非常不錯的效果。目前我們向量檢索模型如下圖 5:

FashionBERT 電商領域多模态研究:如何做圖文拟合?

圖5: 向量檢索 3.0 多模态強互動比對模型

上圖中我們采用雙塔模型 (塔之間參數共享),這樣可以友善線上 Query 向量生成和離線的産品向量生成。另外在 Query 側,我們用共現的 Query 輔助 Query 的特征表達,在産品側,我們用擴充資訊擴大産品語義表達。

實驗效果

公開資料集

我們采用 FashionGen 資料集,對比了主流圖文比對技術,以及最新的 ViLBERT 和 VLBERT,在圖文比對和 Cross-modality Retrieval 效果如下,FashionBERT 取得非常明顯的提升。

FashionBERT 電商領域多模态研究:如何做圖文拟合?

ICBU 資料上

對比 BERT 模型,效果提升也非常明顯。同時由于線上預測性能問題,finetune 模型做了模型約減,我們隻用了 FashionBERT 前兩層,同時引入緩存,動态可變長度 Variable Sequence Length (VSL) 政策,這樣大大提升了 FashionBERT 線上服務性能。如下表所示。

FashionBERT 電商領域多模态研究:如何做圖文拟合?

目前論文已經被資訊檢索領域國際頂級會議 SIGIR20 Industry Track 中接收。預印版本見這裡:

https://arxiv.org/abs/2005.09801

。感興趣的同學後續可以看我們的論文,有更加詳細的對比。

後續規劃

圖文比對方向雖然已經有很長的研究曆史了,但是基于 pretrain BERT 的方式還方興未艾。後續我們計劃在四個方面進行進一步優化:

  • 圖像多尺度變化:多圖像做多尺度變化,擷取不同尺度下圖像細粒度特征。
  • 文本 & 圖像對齊:引入其他資訊或者其他方式,在預訓練過程中對文本 token 和圖像區域做一定的對齊。
  • 行業知識引入:引入行業知識,學習不同行業下圖文比對模型。
  • 視訊了解:做文本,圖像,視訊多模态了解。

相信基于 BERT 的強大拟合能力,多模态資訊的比對融合會越來越智能。

最後想說的是,我們招人!我所在的部門是新零售技術事業群,主要負責 alibaba.com 網站和 APP 的搜尋、推薦、商品等領域相關的算法工作。非常期待具備機器學習 / 自然語言處理 / 圖像處理 / 資料挖掘背景的同學加入。有意向的同學可以把履歷發到我的郵箱中 [email protected]

賈揚清直播分享 | 人工智能算法和系統的進化

賈揚清,曾任 Facebook AI 架構部門總監、Google Brain 研究科學家,Caffe 之父,TensorFlow 的作者之一,加州大學伯克利分校計算機科學博士學位,通過本次分享,介紹人工智能在近幾年當中的算法和相應系統的進化過程,同時從技術角度闡述産品形态和使用者場景。

識别下方二維碼或點選文末“

閱讀原文

”立馬觀看:

FashionBERT 電商領域多模态研究:如何做圖文拟合?

繼續閱讀