Gowal S., Dvijotham K., Stanforth R., Bunel R., Qin C., Uesato J., Arandjelovic R., Mann T. & Kohli P. Scalable verified training for provably robust image classification. In IEEE International Conference on Computer Vision (ICCV), 2019.
Zhang H., Weng T., Chen P., Hsieh C. & Daniel L. Efficient Neural Network Robustness Certification with General Activation Functions. In Advances in Neural Information Processing Systems (NIPS), 2018.
Zhang H., Chen H., Xiao C., Gowal S., Standforth R., Li B., Boning D. & Hsieh C. Towards Stable and Efficient Training of Verifiably Robust Neural Networks. International Conference on Learning Representations (ICLR), 2020.
概
一種可驗證的提高網絡魯棒性的方法.
主要內容
IBP
假設第k層表示為:
\[z_k = h_k(z_{k-1}) = \sigma_k (W_k z_{k-1} + b_k), \: k=1,2,\cdots, K. \]
一般的分類網絡, 要求:
\[e_y^Tz_K \ge e_j z_K, \: \forall j \not= y, \]
其中\(e_j\)只有第\(j\)個元素為1, 其余均為0.
相應的, 如果考慮魯棒性, 則需要
\[\forall z_0 \in \mathcal{X}(x_0):= \{x| \|x-x_0\|_{\infty} < \epsilon \}, \]
\[[z_K]_y = e_y^Tz_K \ge e_j^T z_K = [z_K]_j, \: \forall j \not= y, \]
成立.
現在, 假設已知
\[\underline{z}_{k-1} \le z_{k-1} \le \overline{z}_{k-1}, \]
並令
\[\mu_{k-1} = \frac{\overline{z}_{k-1} + \underline{z}_{k-1}}{2} \\ r_{k-1} = \frac{\overline{z}_{k-1} - \underline{z}_{k-1}}{2} \\ \mu_k = W_k \mu_{k-1} + b \\ r_k = |W_k|r_{k-1} \\ \]
則
\[\mu_k - r_k \le W_k z_{k-1} + b \le \mu_k + r_k, \]
其中\(|\cdot|\)是element-wise的絕對值.
注:
\[\max_{x \in [\underline{x}, \overline{x}]} \quad a \cdot x \Rightarrow x = \left \{ \begin{array}{ll} \overline{x}, & a \ge 0 \\ \underline{x}, & a < 0 \end{array} \right . \Rightarrow a \cdot x = \frac{a(\overline{x}+\underline{x})}{2} + \frac{|a|(\overline{x}-\underline{x})}{2}. \]
倘若激活函數\(\sigma\)是單調的, 進而有
\[\underline{z}_k = \sigma_k(\mu_k - r_k), \: \overline{z}_k = \sigma_k (\mu_k + r_k) \\ \underline{z}_k \le z_k \le \overline{z}_k. \]
以此類推, 我們可以獲得:
\[\underline{z}_K \le z_K \le \overline{z}_K. \]
可知:
\[[z_K]_j - [z_K]_y \le [\overline{z}_K]_j - [\underline{z}_K]_y, \]
顯然, 如果下式
\[[\overline{z}_K]_j - [\underline{z}_K]_y \le 0, \: \forall j\not= y \]
成立, 則該模型對於\(x_0\)在\(\epsilon\)下就是魯棒的.
故定義
\[[z_{*}]_j = \left \{ \begin{array}{ll} [\overline{z}_K]_j, & j \not = y \\ [\underline{z}_K]_j, & j \not = y \\ \end{array} \right. \]
並通過下列損失:
\[\mathcal{L} = \kappa \cdot \ell (z_K, y) + (1 - \kappa) \cdot \ell(z_*, y), \]
其中\(\ell\)是softmax交叉熵損失.
注:
\[\max_{\|x - x_0\|_{\infty}<\epsilon} \ell (z_K(x), y) \le \ell(z_*, y). \]
這是因為
\[\begin{array}{ll} \ell(z_K(x), y) &= -\log \frac{\exp (z_y)}{\sum_j \exp(z_j)} \\ &= -\log \frac{1}{\sum_j \exp(z_j-z_y)} \\ &\le -\log \frac{1}{\sum_{j\not= y} \exp(\overline{z}_j-\underline{z}_y) + 1} \\ &\le -\log \frac{\exp(\underline{z}_y)}{\sum_{j\not =y} \exp(\overline{z}_j) + \exp(\underline{z}_y)} \\ &= \ell(z_*, y). \end{array} \]
故我們優化的是一個上界.
CROWN

注: 此圖來自[Lyu Z. et al. Towards Evaluating and Training Verifiably Robust Neural Networks].
CROWN的區別, 實際上就是其對激活函數的一個relaxation, 比如
\[\underline{x} \le x \le \overline{x} \Rightarrow \\ ax\le \mathrm{ReLU}(x) \le \frac{\overline{x}}{\overline{x} - \underline{x}} \cdot x -\frac{\overline{x}\underline{x}}{\overline{x} - \underline{x}}. \]
其中\(a \in [0, 1]\).
這個界可視化就是上面的圖.
注: 作者說是要back propagation, 但是感覺forward也可以...
CROWN-IBP
上面二者的結合, 假設由上面二者分別推導出兩個界, 並得到
\[z_*, z_*', \]
相應的損失函數為
\[\mathcal{L} = \kappa \cdot \ell (z_K, y) + (1 - \kappa) \cdot \ell(\beta \cdot z_* + (1 - \beta) \cdot z_*', y). \]
這么做的原因是, 作者認為IBP在最開始的時候估計的界是非常loose的, 所以一開始的訓練是很不穩定的, 故采取了這么一個折中的方案.
訓練的技巧
- \(\kappa\) 從\(\kappa_{start}\)線性下降到\(\kappa_{end}\), 即訓練開始先着重於clean的部分;
- \(\beta\) 同樣從\(0\)增大至\(1\)(ramp-up).
- \(\epsilon\)則是從0慢慢增大(ramp-up), 且如果我們測試關系的是\(8/255\), 訓練的時候實際增大到\(8.8/255\), 即\(1.1\epsilon\), 原因是發現IBP的方法對於\(\epsilon\)比較小的情況的效果不是特別好和穩定;
寫在最后
首先, 這些理論的保證並沒有太好的效果, 和經驗的方法依舊差距甚遠, 個人覺得有趣的地方在於, 網絡在不接觸對抗訓練的基礎上依然能夠獲得魯棒性.
另外, IBP的估計的界雖然遠不及一些別的方法包括CROWN, 但是其表現出來的效果卻好上很多, 這是非常有意思的一點.
雖然這一點在深度學習里頭似乎也是比較常見的現象.
代碼
IBP
CROWN-IBP