Interval Bound Propagation (IBP)

Interval Bound Propagation (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 ) = σ k ( W k z k − 1 + b k ) ,   k = 1 , 2 , ⋯   , K . z_k = h_k(z_{k-1}) = \sigma_k (W_k z_{k-1} + b_k), \: k=1,2,\cdots, K. zk=hk(zk1)=σk(Wkzk1+bk),k=1,2,,K.
一般的分类网络, 要求:
e y T z K ≥ e j z K ,   ∀ j ≠ y , e_y^Tz_K \ge e_j z_K, \: \forall j \not= y, eyTzKejzK,j=y,
其中 e j e_j ej只有第 j j j个元素为1, 其余均为0.
相应的, 如果考虑鲁棒性, 则需要
∀ z 0 ∈ X ( x 0 ) : = { x ∣ ∥ x − x 0 ∥ ∞ < ϵ } , \forall z_0 \in \mathcal{X}(x_0):= \{x| \|x-x_0\|_{\infty} < \epsilon \}, z0X(x0):={xxx0<ϵ},
[ z K ] y = e y T z K ≥ e j T z K = [ z K ] j ,   ∀ j ≠ y , [z_K]_y = e_y^Tz_K \ge e_j^T z_K = [z_K]_j, \: \forall j \not= y, [zK]y=eyTzKejTzK=[zK]j,j=y,
成立.

现在, 假设已知
z ‾ k − 1 ≤ z k − 1 ≤ z ‾ k − 1 , \underline{z}_{k-1} \le z_{k-1} \le \overline{z}_{k-1}, zk1zk1zk1,
并令
μ k − 1 = z ‾ k − 1 + z ‾ k − 1 2 r k − 1 = z ‾ k − 1 − z ‾ k − 1 2 μ k = W k μ k − 1 + b r k = ∣ W k ∣ r 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} \\ μk1=2zk1+zk1rk1=2zk1zk1μk=Wkμk1+brk=Wkrk1

μ k − r k ≤ W k z k − 1 + b ≤ μ k + r k , \mu_k - r_k \le W_k z_{k-1} + b \le \mu_k + r_k, μkrkWkzk1+bμk+rk,
其中 ∣ ⋅ ∣ |\cdot| 是element-wise的绝对值.

注:
max ⁡ x ∈ [ x ‾ , x ‾ ] a ⋅ x ⇒ x = { x ‾ , a ≥ 0 x ‾ , a < 0 ⇒ a ⋅ x = a ( x ‾ + x ‾ ) 2 + ∣ a ∣ ( x ‾ − x ‾ ) 2 . \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}. x[x,x]maxaxx={x,x,a0a<0ax=2a(x+x)+2a(xx).

倘若激活函数 σ \sigma σ是单调的, 进而有
z ‾ k = σ k ( μ k − r k ) ,   z ‾ k = σ k ( μ k + r k ) z ‾ k ≤ z k ≤ z ‾ k . \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. zk=σk(μkrk),zk=σk(μk+rk)zkzkzk.
以此类推, 我们可以获得:
z ‾ K ≤ z K ≤ z ‾ K . \underline{z}_K \le z_K \le \overline{z}_K. zKzKzK.
可知:
[ z K ] j − [ z K ] y ≤ [ z ‾ K ] j − [ z ‾ K ] y , [z_K]_j - [z_K]_y \le [\overline{z}_K]_j - [\underline{z}_K]_y, [zK]j[zK]y[zK]j[zK]y,
显然, 如果下式
[ z ‾ K ] j − [ z ‾ K ] y ≤ 0 ,   ∀ j ≠ y [\overline{z}_K]_j - [\underline{z}_K]_y \le 0, \: \forall j\not= y [zK]j[zK]y0,j=y
成立, 则该模型对于 x 0 x_0 x0 ϵ \epsilon ϵ下就是鲁棒的.
故定义
[ z ∗ ] j = { [ z ‾ K ] j , j ≠ y [ z ‾ K ] j , j ≠ y [z_{*}]_j = \left \{ \begin{array}{ll} [\overline{z}_K]_j, & j \not = y \\ [\underline{z}_K]_j, & j \not = y \\ \end{array} \right. [z]j={[zK]j,[zK]j,j=yj=y
并通过下列损失:
L = κ ⋅ ℓ ( z K , y ) + ( 1 − κ ) ⋅ ℓ ( z ∗ , y ) , \mathcal{L} = \kappa \cdot \ell (z_K, y) + (1 - \kappa) \cdot \ell(z_*, y), L=κ(zK,y)+(1κ)(z,y),
其中 ℓ \ell 是softmax交叉熵损失.

注:
max ⁡ ∥ x − x 0 ∥ ∞ < ϵ ℓ ( z K ( x ) , y ) ≤ ℓ ( z ∗ , y ) . \max_{\|x - x_0\|_{\infty}<\epsilon} \ell (z_K(x), y) \le \ell(z_*, y). xx0<ϵmax(zK(x),y)(z,y).
这是因为
ℓ ( z K ( x ) , y ) = − log ⁡ exp ⁡ ( z y ) ∑ j exp ⁡ ( z j ) = − log ⁡ 1 ∑ j exp ⁡ ( z j − z y ) ≤ − log ⁡ 1 ∑ j ≠ y exp ⁡ ( z ‾ j − z ‾ y ) + 1 ≤ − log ⁡ exp ⁡ ( z ‾ y ) ∑ j ≠ y exp ⁡ ( z ‾ j ) + exp ⁡ ( z ‾ y ) = ℓ ( 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} (zK(x),y)=logjexp(zj)exp(zy)=logjexp(zjzy)1logj=yexp(zjzy)+11logj=yexp(zj)+exp(zy)exp(zy)=(z,y).
故我们优化的是一个上界.

CROWN

image-20210425085834247

注: 此图来自[Lyu Z. et al. Towards Evaluating and Training Verifiably Robust Neural Networks].

CROWN的区别, 实际上就是其对激活函数的一个relaxation, 比如
x ‾ ≤ x ≤ x ‾ ⇒ a x ≤ R e L U ( x ) ≤ x ‾ x ‾ − x ‾ ⋅ x − x ‾ x ‾ x ‾ − x ‾ . \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}}. xxxaxReLU(x)xxxxxxxx.
其中 a ∈ [ 0 , 1 ] a \in [0, 1] a[0,1].
这个界可视化就是上面的图.

注: 作者说是要back propagation, 但是感觉forward也可以…

CROWN-IBP

上面二者的结合, 假设由上面二者分别推导出两个界, 并得到
z ∗ , z ∗ ′ , z_*, z_*', z,z,
相应的损失函数为
L = κ ⋅ ℓ ( z K , y ) + ( 1 − κ ) ⋅ ℓ ( β ⋅ z ∗ + ( 1 − β ) ⋅ z ∗ ′ , y ) . \mathcal{L} = \kappa \cdot \ell (z_K, y) + (1 - \kappa) \cdot \ell(\beta \cdot z_* + (1 - \beta) \cdot z_*', y). L=κ(zK,y)+(1κ)(βz+(1β)z,y).

这么做的原因是, 作者认为IBP在最开始的时候估计的界是非常loose的, 所以一开始的训练是很不稳定的, 故采取了这么一个折中的方案.

训练的技巧

  1. κ \kappa κ κ s t a r t \kappa_{start} κstart线性下降到 κ e n d \kappa_{end} κend, 即训练开始先着重于clean的部分;
  2. β \beta β 同样从 0 0 0增大至 1 1 1(ramp-up).
  3. ϵ \epsilon ϵ则是从0慢慢增大(ramp-up), 且如果我们测试关系的是 8 / 255 8/255 8/255, 训练的时候实际增大到 8.8 / 255 8.8/255 8.8/255, 即 1.1 ϵ 1.1\epsilon 1.1ϵ, 原因是发现IBP的方法对于 ϵ \epsilon ϵ比较小的情况的效果不是特别好和稳定;

写在最后

首先, 这些理论的保证并没有太好的效果, 和经验的方法依旧差距甚远, 个人觉得有趣的地方在于, 网络在不接触对抗训练的基础上依然能够获得鲁棒性.
另外, IBP的估计的界虽然远不及一些别的方法包括CROWN, 但是其表现出来的效果却好上很多, 这是非常有意思的一点.
虽然这一点在深度学习里头似乎也是比较常见的现象.

代码

IBP

CROWN-IBP

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值