Interval Bound Propagation (IBP)
目錄概主要內容IBPCROWNCROWN-IBP訓練的技巧寫在最后代碼
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
ot= 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
ot= 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 {
egin{array}{ll}
overline{x}, & a ge 0 \
underline{x}, & a < 0
end{array}
ight .
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
ot= y
]
成立, 則該模型對于(x_0)在(epsilon)下就是魯棒的.
故定義
[[z_{*}]_j =
left {
egin{array}{ll}
[overline{z}_K]_j, & j
ot = y \
[underline{z}_K]_j, & j
ot = y \
end{array}
ight.
]
并通過下列損失:
[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).
]
這是因為
[egin{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
ot= y} exp(overline{z}_j-underline{z}_y) + 1} \
&le -log frac{exp(underline{z}_y)}{sum_{j
ot =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 \
axle 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(eta cdot z_* + (1 - eta) cdot z_*', y).
]
這么做的原因是, 作者認為IBP在最開始的時候估計的界是非常loose的, 所以一開始的訓練是很不穩定的, 故采取了這么一個折中的方案.
訓練的技巧
(kappa) 從(kappa_{start})線性下降到(kappa_{end}), 即訓練開始先著重于clean的部分;
(eta) 同樣從(0)增大至(1)(ramp-up).
(epsilon)則是從0慢慢增大(ramp-up), 且如果我們測試關系的是(8/255), 訓練的時候實際增大到(8.8/255), 即(1.1epsilon), 原因是發現IBP的方法對于(epsilon)比較小的情況的效果不是特別好和穩定;
寫在最后
首先, 這些理論的保證并沒有太好的效果, 和經驗的方法依舊差距甚遠, 個人覺得有趣的地方在于, 網絡在不接觸對抗訓練的基礎上依然能夠獲得魯棒性.
另外, IBP的估計的界雖然遠不及一些別的方法包括CROWN, 但是其表現出來的效果卻好上很多, 這是非常有意思的一點.
雖然這一點在深度學習里頭似乎也是比較常見的現象.
代碼
IBP
CROWN-IBP
總結
以上是生活随笔為你收集整理的Interval Bound Propagation (IBP)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: opencv::BackgroundSu
- 下一篇: 《谭谈交通》全面下架 谭Sir真的要“赔