---
# System prepended metadata

title: AttReg (Attention Regularization)
tags: [Paper Notes]

---

###### tags: `Paper Notes`
# AttReg (Attention Regularization)
* 原文：Answer Questions with Right Image Regions: A Visual Attention Regularization Approach
* 機構：Shandong University, China University of Petroleum
* 時間：2021 年

### Introduction
* 讓 VQA 模型擁有良好的視覺基礎（visual grounding）是一件很重要的事。而目前 visual grounding measurement（計算 visual features 對 answer 重要程度）大致可分成兩種：Visual Attention、Grad-CAM。
  * Visual Attention：計算 visual features 的 attention weights。越大表示越重要。
  * Grad-CAM：計算 ground truth answer probability 對 visual features 的微分值。越大表示越重要。
  > 之前讀過的 CSS [7] 就屬於 Grad-CAM。
* 然而，在 AttReg 的實驗中發現雖然 Grad-CAM 的方法符合直覺，卻可能是錯的。

### Faithfulness
* faithfulness 定義：visual grounding measurement 計算出重要的 visual features 是否真的能對 answer 產生重大的影響。
* 如 Table 1 所示，分別只保留 Visual Attention / Grad-CAM 認為最重要的前 N% / 後 N% 的 image regions，剩下的都用零向量蓋住。可以發現到 Grad-CAM 的結果非常的弔詭，後 10% / 後 20% 的正確率竟然比前 10% / 前 20% 的還高。也就是說 Grad-CAM 的 faithfulness 比 Visual Attention 還低。
* 簡單的說就是 Grad-CAM 並不適合用來測量 visual regions 的重要程度。

<center><img src="https://i.imgur.com/jXOfXFq.png" width=650></center>

### AttReg
* AttReg（visual Attention Regularization approach）是一個 VQA 模型的訓練方法，步驟如下：
  * Curated Image Construction：
    1. 利用 spaCy POS tagger [14] 對 QA 做詞性標註，並抓出名詞。
    2. 計算 object categories、extrated nouns 的 GloVe embedding 的 cosine similarity。
    3. 抓出 similarity score 最高的前 $M$ 個物件當作 key objects，$V^*$。$|V^{*}|=M$。
       論文中沒提到但我猜應該是 cosine similarity 的平均。
    4. 計算每個物件的 attention weights，$\alpha$。
    5. 將 $\alpha$ 排行低於前 $N\%$ 的物件視為 ignored objects，$V^o$。
    6. $V^* \cap V^o$ 即為 ignored key objects。
    7. 將原始圖片 $I$ 中的 ignored key objects 蓋掉，成為 curated image，$I^m$。
  * Mask-guided Learning Scheme：
    * AttReg 在做的，就是同時用 $<Q, I, \hat{A}>,\ <Q, I^{m}, \hat{A^{m}}>$ 做訓練。
      * $Q$：input question。
      * $I$：input image。
      * $\hat{A}$：ground truth answer。
      * $I^m$：curated image。
      * $\hat{A^{m}}$：$\phi$，也就是零向量。概念：由於 key objects 被忽略了，所以模型理應回答不出來，只能回答 None（零向量）。
    * loss function 定義如下：
      $$
      L_{all} = L_{vqa} + \lambda L_{reg}
      $$
      * $L_{vqa}$： $<Q, I, \hat{A}>$ 的 loss。
      * $L_{reg}$：$<Q, I^{m}, \hat{A^{m}}>$ 的 loss。
      * $\lambda$：用於調節 regularization strength 的超參數。
* $V^*$ 可視為理論上重要的 object，$\alpha$ 可視為模型認為重要的 object 。

### Experiments
* 作者將 AttReg 裝在 UpDn [2]、LMH [7] 上，並用 VQA v2 val、VQA-CP v2 test 評估。實驗結果如 Table 2 所示。跟之前讀過的 CSS [7] 相比，AttReg 在兩個資料集上都贏。

<center><img src="https://i.imgur.com/c28R3IK.png" width=650></center>

* $\lambda$（regularization strength）對效能的影響如 Table 5 所示。

<center><img src="https://i.imgur.com/HLPNoVy.png" width=650></center>

* $M=|V^{*}|、N$ 對效能的影響如 Figure 4 (a) 所示。
  * 資料集：VQA-CP v2。
  * 模型：LMH + AttReg。
* Figure 4 (b) 表示模型在訓練的過程中，在每個 epoch 下的 ignored key objects 數量。可以看到，LMH 在第 7 個 epoch 後 ignored key objects 不減反增。加了 AttReg 後則能減緩這個問題，$\lambda$ 越大越能穩定下降。

<center><img src="https://i.imgur.com/yAg9Gku.png" width=650></center>

### References
[2] Bottom-up and top-down attention for image captioning and visual question answering.
[7] Counterfactual samples synthesizing for robust visual question answering.
[9] Don't take the easy way out: Ensemble based methods for avoiding known dataset biases.
[14] [spaCy](https://doi.org/10.5281/zenodo.1212303): Industrial-strength Natural Language Processing in Python.