Towards the Memorization Effect of Neural Networks in Adversarial Training
概
作者將樣本分為 typical 和 atypical (可以理解為較少的和其它類別相近的困難樣本) 兩類. 神經網路對於前者能夠利用語義特徵來區別, 而對於後者往往需要利用記憶. 對於標準訓練來說, 記憶 atypical 的樣本並不會降低網路的泛化能力. 對於對抗訓練來說, 為了記憶 atypical 樣本, 容易造成自然精度的下滑, 所以作者提出BAT來更細緻地對待這些 atypcial 樣本.
主要內容
typcial 和 atypical 樣本
首先定義利用演算法\(\mathcal{A}\)和資料集\(\mathcal{D}\)在樣本\(x_i\)處的'memorization value':
如果該值很大, 說明網路必須記憶這個樣本, 否則難以正確識別出它 (也就是說這個樣本的特徵其實是脫離整個資料集的分佈的).
上面的是對於訓練集中的樣本而言的, 對於測試集合的樣本 \((x_j', y_j')\) 和訓練集中的樣本 $ (x_i, y_i)$ 有:
\[\tag{2} \mathrm{infl}(\mathcal{A}, \mathcal{D}, x_i, x_j') =\mathop{\mathbf{Pr.}} \limits_{F \leftarrow \mathcal{A}(\mathcal{D})} (F(x_j') = y_j') -\mathop{\mathbf{Pr.}} \limits_{F \leftarrow \mathcal{A}(\mathcal{D} \setminus x_i)} (F(x_j') = y_j'). \]給定閾值 \(t\), 我們定義 atpcial 訓練樣本和測試樣本:
\[\mathcal{D}_{\mathrm{atyp}} := \{x_i \in \mathcal{D}| \mathrm{mem}(x_i) > t\}, \\ \mathcal{D}_{\mathrm{atyp}}' := \{x_j' \in \mathcal{D'}| \mathrm{infl}(x_i, x_j') > t, \: \forall x_i \in \mathcal{D}_{\mathrm{atyp}}\}. \]atypical 較差的泛化性
作者選擇了 \(t=0.15\), 然後在整個資料集上進行訓練, 可以發現:
- 無論是自然精度還是魯棒性, 其Training的結果都很好, 這意味這ResNet18WRN28都有足夠的表示能力;
- 隨著訓練精度的上升, 在 \(\mathcal{D}_{\mathrm{atyp}}'\)上的自然精度能夠上升, 但是魯棒性幾乎沒有變換, 說明記憶 atpyical 樣本對於增強魯棒性是無效的.
typcial 和 atypical 樣本在魯棒性上的衝突
這裡, 作者以 typical 樣本為基礎, 逐步新增 atypical 樣本, 可以發現讓網路去記憶這些 atypical 反而會造成對 typical 資料有效性. 作者認為, 這些 atypical 由於本身數目比較少, 然後又和別的類別比較接近, 區分難度大的特點, 導致網路想要去記憶這些樣本反而會學習到更差的特徵.
Benign Adversarial Training (BAT)
作者通過重加權和 Discrimination Loss 來解決這一問題.
cost-sensitive reweighting strategy
\[\left \{ \begin{array}{ll} \exp(-\alpha \cdot q(x_i^{adv})) & \text{if } \mathrm{mem}(x_i) > t \text{ and } \mathrm{argmax}_k F_k(x_i^{adv}) \not = y \\ 1 & \text{otherwise}. \end{array} \right . \]其中
\[q(x_i^{adv}) = \max_{k \not =y} F_k(x_i^{adv}). \]然後分類損失是:
\[\mathop{\arg \min} \limits_F \frac{1}{\sum_{i}w_i} \sum_{i} [w_i \cdot \mathcal{L}(F(x_i^{adv}), y_i)]. \]discrimination loss
\[\mathcal{L}_{DL}(F) = \mathop{\mathbb{E}} \limits_{(x_i, y_i) (x_j, y_j), \{(x_b,y_b)\}_{b=1}^B} \Big[-\log \frac{e^{h^T(x_i^{adv}) h(x_j^{adv}) / \tau}}{\sum_{b=1}^B e^{h^T(x_i^{adv}) h(x_k^{adv}) / \tau}} \Big], \]其中
\[y_i = y_j, \\ y_b \not= y_i, \: b=1,2,\cdots, B, \\ \mathrm{mem}(x_i), \mathrm{mem}(x_j), \mathrm{mem}(x_b) < t. \]即該損失希望 typcial 樣本的特徵 \(h(x_i)\) (倒數第二層) 同類之間相互靠近, 不同類之間相互遠離.
最後的損失是:
\[\mathop{\arg \min} \limits_F \frac{1}{\sum_{i}w_i} \sum_{i} [w_i \cdot \mathcal{L}(F(x_i^{adv}), y_i)] + \beta \cdot \mathcal{L}_{DL}(F). \]實驗設定:
- \(\alpha = 1 | 2, \beta = 0.2\);
- 160 epochs, momentum=0.9, weight decay = 5e-4;
- lr=0.1, [80, 120] x 0.1
- CIFAR: \(8/255\); TinyImageNet: \(4/255\)