Large-Scale Adversarial Training for Vision-and-Language Representation Learning


Large-Scale Adversarial Training for Vision-and-Language Representation Learning
2020-06-12 10:25:21
Code
 
本文受到前人對抗訓練方法的啟發,將其用到 vision-language model 的預訓練中。
 

該方法的核心部分有如下三點:

  • 對抗的預訓練和微調機制; 
  • 在映射空間添加干擾;
  • 增強的對抗訓練方法;

 

1. 對抗預訓練與微調

Pre-training

  給定預訓練數據集,包含 image-text pairs,訓練的目標就是在這個大型數據集上學習一些與任務無關的特征。常用的預訓練方法有三種:

  • Masked language modeling 
  • Masked region modeling 
  • Image-Text matching 

Finetuning:

  給定具體的任務和監督學習數據集,可以在上面預訓練模型參數的基礎上針對不同的任務進行微調。

 

Two-stage Adversarial Trainer

預訓練和微調在本質上是緊密聯系的。模型的訓練需要掌握本質的推理技巧,從而促使模態融合,進行跨模態的聯合理解。作者認為:

  • 通過在 pre-training stage,執行對抗訓練, 改善的泛化能力對微調階段也是有益的;
  • 在微調階段,任務相關的微調信號變得可用,對抗微調可以用於進一步的改善性能。

由於 pre-training 和 finetuning 共享同一個數學表達式,同樣的對抗算法可以在兩個階段都采用。

 

2. Perturbations in the Embedding Space

對於 image modality,由於最新的 V-L 模型通過將 pre-trained object detectors 作為輸入,作者就直接在特征空間添加干擾。在預訓練的 V+L model 中,位置映射是用於編碼圖像區域的位置和單詞的索引。本文的方法僅僅改變了 image 和 word embedding 的映射,其他的多模態特征未變。此外,由於 image 和 text 模態的不同,作者僅對其中的一個模態添加擾動。這里加的擾動不能太大,否則會改變原始的語義信息,這是不能接受的。

 

3. “Free” Multimodal Adversarial Training

實驗中用的總體損失函數為:

 

其中,第一項為交叉熵損失函數,第二個為 label-preserving AT loss,第三個是細粒度對抗正則化項。具體來說,AT 損失為:

其中,L 是對抗映射的 交叉熵損失。正則化項為:

 

這里是想使得原始特征 和 添加干擾后的特征,盡可能保持一致。總體算法流程見 Algorithm 1 

 

 

在各種主流 V-L 任務上,都取得了一定程度上的提升:

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM