
該方法的核心部分有如下三點:
- 對抗的預訓練和微調機制;
- 在映射空間添加干擾;
- 增強的對抗訓練方法;
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 任務上,都取得了一定程度上的提升: