Interval Bound Propagation (IBP)

文章目录

  • Interval Bound Propagation (IBP)
    • 主要内容
      • IBP
      • CROWN
      • CROWN-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​(zk−1​)=σk​(Wk​zk−1​+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, eyT​zK​≥ej​zK​,∀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 \}, ∀z0​∈X(x0​):={x∣∥x−x0​∥∞​<ϵ},
[ 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​=eyT​zK​≥ejT​zK​=[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}, z​k−1​≤zk−1​≤zk−1​,
并令
μ 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} \\ μk−1​=2zk−1​+z​k−1​​rk−1​=2zk−1​−z​k−1​​μk​=Wk​μk−1​+brk​=∣Wk​∣rk−1​

μ 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, μk​−rk​≤Wk​zk−1​+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]max​a⋅x⇒x={x,x​,​a≥0a<0​⇒a⋅x=2a(x+x​)​+2∣a∣(x−x​)​.

倘若激活函数 σ \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. z​k​=σk​(μk​−rk​),zk​=σk​(μk​+rk​)z​k​≤zk​≤zk​.
以此类推, 我们可以获得:
z ‾ K ≤ z K ≤ z ‾ K . \underline{z}_K \le z_K \le \overline{z}_K. z​K​≤zK​≤zK​.
可知:
[ 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​−[z​K​]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​−[z​K​]y​≤0,∀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​,[z​K​]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). ∥x−x0​∥∞​<ϵ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)​=−log∑j​exp(zj​)exp(zy​)​=−log∑j​exp(zj​−zy​)1​≤−log∑j​=y​exp(zj​−z​y​)+11​≤−log∑j​=y​exp(zj​)+exp(z​y​)exp(z​y​)​=ℓ(z∗​,y).​
故我们优化的是一个上界.

CROWN

注: 此图来自[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}}. x​≤x≤x⇒ax≤ReLU(x)≤x−x​x​⋅x−x−x​xx​​.
其中 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

Interval Bound Propagation (IBP)相关推荐

  1. 2020年 ICLR 国际会议最终接受论文(poster-paper)列表(三)

    来源:AINLPer微信公众号(点击了解一下吧) 编辑: ShuYini 校稿: ShuYini 时间: 2020-02-21     2020年的ICLR会议将于今年的4月26日-4月30日在Mil ...

  2. ICCV 2021 揭榜!十大方向抢先看!(Transformer/分割/Action/插帧/超分等)

    点击下方"计算机视觉联盟",一起进步!重磅干货,第一时间送达 作为计算机视觉领域三大会议之一的 ICCV(IEEE International Conference on Comp ...

  3. 对抗攻击与防御(2022年顶会顶刊AAAI、ACM、 ECCV、NIPS、ICLR、CVPR)adversarial attack and defense汇总

    文章目录 AAAI' 2022 论文汇总 CVPR'2022论文汇总 ACM'2022论文汇总 ECCV'2022论文汇总 ICLR'2022论文汇总 NIPS'2022论文汇总 后续 AAAI' 2 ...

  4. SLAM: SLAM的发展历程(WIKI)

    参考维基百科: https://en.wikipedia.org/wiki/Simultaneous_localization_and_mapping 你们叫他SLAM,我还是习惯叫他三维重建.... ...

  5. oracle Interval 分区维护与管理要点

    2019独角兽企业重金招聘Python工程师标准>>> 本文取自oracle网官网,以在日常工作中备查 Interval Partitioning Essentials - Comm ...

  6. [Flink]Flink DataStream window join 和interval join

    目录 window join interval join window join 窗口连接把两个流中相同窗口通过一个键值连接起来.然后,两边的元素被传递到用户定义的JoinFunction或FlatJ ...

  7. Interval (mathematics)

    In mathematics, a (real) interval is a set of real numbers that contains all real numbers lying betw ...

  8. oracle not all variables bound,ORA-01008: not all variables bound 错误

    今天在测试一个job时 出现下面错误 Connected to Oracle9i Enterprise Edition Release 9.2.0.4.0 Connected as dba_test ...

  9. Removing Propagation Redundant Constraints in Redundant Modeling 翻译(一)

    消除冗余建模中的传播冗余约束 abstract 一种广泛采用的解决约束满足问题的方法是将系统树搜索和不同程度的约束传播相结合,对搜索空间进行剪枝.提高执行效率的一种常见技术是添加冗余约束,这些约束是问 ...

最新文章

  1. 2013 第4届 蓝桥杯 黄金连分数【详解】
  2. excel同一单元格怎么换行_Excel工作表中最经典的10个应用,小技巧,大作用
  3. Codeforce-CodeCraft-20 (Div. 2)-B. String Modification (找规律+模拟)
  4. 用计算机处理信息教学反思,《人工智能处理信息》教学反思
  5. PMP读书笔记(第11章)
  6. KNN实现CIFAR-10数据集识别
  7. 奇妙的安全旅行之ECC算法
  8. JAVA进阶教学之(Object类中的equals方法)
  9. ICCV2021 workshop 多视角残缺点云的补全与配准
  10. 7-2 个位数统计 (15 分)
  11. django2.x/3.x 前端页面在debug模式中找不到动态文件static
  12. Android ActivityManager 检测Service与Activity运行状态
  13. SAP License:值得一看的ERP问题
  14. 2017-2018-1 20155315 《信息安全系统设计基础》第11周学习总结
  15. Baidu 人脸识别FireFly 与PC连接调试
  16. Spring cloud和规则引擎urule整合代码
  17. 100个python算法超详细讲解:将真分数分解为埃及分数
  18. 狄利克雷分布公式_Dirichlet Tree Distribution(狄利克雷树分布)
  19. python画平行坐标图_[宜配屋]听图阁
  20. 对炒股的一点个人浅见

热门文章

  1. 从防御者视角看APT攻击
  2. 模拟黑洞图像_第一张黑洞图片如何获得?8个望远镜和数百万次模拟
  3. element-ui中el-select下拉框数据过多,用pinyin-match实现拼音、首字母、汉字等模糊搜索
  4. > vue-project@0.0.0 dev > vite
  5. redis的缓存穿透如何解决!
  6. Redis.conf redis6配置文件详解
  7. Tacacs-各厂商交换机配置
  8. springboot中根据url地址获取图片
  9. java计算机毕业设计农村留守儿童帮扶系统源码+数据库+系统+lw文档+mybatis+运行部署
  10. qduoj 79 翻转游戏(开关问题)