1. 程式人生 > 其它 >論文筆記1:Kaleido-BERT: Vision-Language Pre-training on Fashion Domain

論文筆記1:Kaleido-BERT: Vision-Language Pre-training on Fashion Domain

Kaleido-BERT 引入了一種新穎的 kaleido 策略,基於transformer的時尚領域跨模態表示。同時設計了一種 alignment guided masking 策略,使模型更加關注影象-文字之間的語義關係。模型採用 NLP 中標準的 transformer 結構,以此來保證 Kaleido-BERT 的可擴充套件性。它在包括文字檢索(R@l:4.03%),影象檢索(R@l:7.13%),類別識別(ACC:3.28%),時尚字幕(Bleu:1.2)在內的四個下游任務上以大比分獲得了最先進的結果。

一、模型結構

模型主要由五個部分組成:

  1. KPG(Kaleido Patches Generator):KPG生成文字和影象補丁作為 Kaleido-BERT 的輸入,文字被表示成一個 tokens 序列,影象被表示成一個 kaleido 補丁序列。
  2. AAG(Attention-based Alignment Generator):AAG 的作用是在 text tokens 和kaleido patches 之間產生一個預對齊,使得二者能夠在語義上精確對齊。
  3. AGM(Alignment Guided Masking):與現有的隨機掩蔽策略不同,文章提出的 AGM 策略來緩解跨模態建模的困難。
  4. text tokens 和 Kaleido patches 在 Kaleido-BERT 中充分互動,逐漸學習 VL 語義資訊併產生跨模態的細粒度表示。
  5. 最後,除了掩碼語言建模和圖文匹配任務之外,文章還採用了五個新的 kaleido 任務(即旋轉、拼圖、偽裝標記、灰色到彩色和空白到彩色任務)來監督網路。

二、KPG

通過 KPG 將輸入影象轉換為多粒度補丁。首先通過一個顯著性檢測網路來獲取前景掩碼,讓後鎖定主要物件。然後將圖片在不同尺度上進行劃分,這些按不同尺度劃分的塊被稱為 kaleido patches 。最終得到55個 kaleido patches 。最後通過一個標準的 ResNet-50 來生成這些 patches 的embeddings。

三、AAG

AAG 旨在找到 text tokens 和 kaleido patches 之間的粗對齊。文章直接採用了著名的 SAT 網路作為文字生成器,它自動學習描述影象的內容,同時為每個 token 生成注意力熱圖。利用生成的 tokens 和原始 text tokens 的共現,以及 image regions 和 kaleido patches 的重疊區域,進一步構建了原始 text tokens 和 kaleido pathes 之間的對齊。

四、AGM

由於 pre-aligned <token, patch> pair 提供了兩種模態之間顯式的語義關係,這種對齊關係可以在預訓練階段迫使 Kaleido-BERT 更明確的探索跨模態語義資訊。不同於隨機 masking 策略,AGM 優先 masking pre-alignment pair 。對於每一個被選定的 pre-alignment <token, patch> pair,隨機 mask token或者 patch。這會刺激 Kaleido-BERT 通過被給定的模態資訊去學習另一種模態資訊。

當遍歷所有的 pre-alignment pairs 並且沒有足夠的 tokens 或 patches 被選擇時,採用隨機 mask 策略來獨立 mask 未對齊的 tokens 和 patches。 通過這種方式,獲得了 tokens 和 patches 掩碼候選。

AGM 策略適用於 Kaleido patches 的 3 級、4 級、5 級。 不在1、2級上應用這個策略,在大的 patches 上應用這個策略會加大建模的難度。文章在3級 mask 一個 patch,在4級 mask 兩個 patches, 在5級 mask 三個 patches。

五、跨模態 Transformer

文章採用原始 BERT 模型,作為跨模態 Transformer,以此來使 Kaleido-BERT 可以更容易被擴充套件。

  1. text side

    依據 Fashion-BERT 去編碼 token position 序列為0, 1, 2, 3, . . . , N,最終訓練語料庫的每一個 sub-word token是將它本身的 embedding 和segment embedding 以及 position embedding 進行求和得到的,然後通過一個 layer normalization 層。

  2. image side

    通過將位置資訊將每個補丁重組為 5D 特徵([x1, x2, y1, y2, w*h])來編碼位置資訊。之後,補丁和位置特徵都被送入全連線層,以便將它們投影到相同的嵌入空間中。 通過求和三個 FC 的輸出(即 FC(seg_id)、FC(img_feature)、FC(pos_emb))然後將它們通過 LN 層來獲得每個補丁的視覺嵌入。

六、AKPM

AKPM(Aligned Kaleido Patch Modeling):文章提出了五個 kaleido 子任務,分別為:

  1. 旋轉識別
  2. 拼圖解迷
  3. 偽裝預測
  4. 灰色到彩色建模
  5. 空白到彩色建模