Bai Y., Zeng Y., Jiang Y., Xia S., Ma X., Wang Y. Improving adversarial robustness via channel-wise activation suppressing. In International Conference on Learning Representations (ICLR), 2021.

Yan H., Zhang J., Niu G., Feng J., Tan V., Sugiyama M. CIFS: Improving adversarial robustness of CNNs via channel-wise importance-based feature selection. In International Conference on Machine Learning (ICML), 2021.

这两篇论文发现natural和adversarial样本在激活层的大小和分布有显著的不同.

主要内容

如上两图所示, 对抗样本的magnitude相较于干净样本要普遍大一些, 重要性的分布相较于干净分布更趋于均匀分布.

所以可以认为, 倘若我们能够恢复正常的大小以及回归正常的重要性指标, 那么就能够提高网络鲁棒性.

注: 上面的重要性分布是这么计算的: 对于固定的类, 计算每个channel对于判别为该类的贡献度是否超越一个阈值, 以统计的综合频率为最后的重要性.

对于每一个block (比如resnet中的block), 在最后的输出部分辅以重加权, 使得重要的激活层能够更加突出.

重加权是通过新的全连接层实现的, 假设特征图大小为

\[f^l \in \mathbb{R}^{H \times W \times K},
\]

其中\(K\)为channels的数目, 首先通过GAP得到:

\[\hat{f}_k^l = \frac{1}{H \times W} \sum_i \sum_j f_k^l (i, j).
\]

再通过全连接层\(M^l = [M_1^l, \cdots, M_C^l] \in \mathbb{R}^{K \times C}\)重加权

\[\tilde{f}^l =
\left \{
\begin{array}{ll}
f^l \otimes M_y^l, & \text{training}, \\
f^l \otimes M_{\hat{y}}^l, & \text{test}.
\end{array}
\right .
\]

其中训练时, \(y\)就是样本标签, 而测试时,

\[\hat{y} = \arg \max_i \hat{f}^TM_i,
\]

即预测值.

所以, 显然为了让\(M_y\)能够与样本标签紧密联系, 在训练的时候, 需要额外最小化一个交叉熵损失:

\[\mathcal{L}_{CAS}(p(x',\theta,M), y) = -\log p_y(x').
\]

这里\(x'\)表示对抗样本.

CIFS的思路是类似的, 这里不多赘述了.

代码

CAS

Improving Adversarial Robustness via Channel-Wise Activation Suppressing的更多相关文章

  1. Improving Adversarial Robustness Using Proxy Distributions

    目录 概 主要内容 proxy distribution 如何利用构造的数据 Sehwag V., Mahloujifar S., Handina T., Dai S., Xiang C., Chia ...

  2. IMPROVING ADVERSARIAL ROBUSTNESS REQUIRES REVISITING MISCLASSIFIED EXAMPLES

    目录 概 主要内容 符号 MART Wang Y, Zou D, Yi J, et al. Improving Adversarial Robustness Requires Revisiting M ...

  3. Reliable evaluation of adversarial robustness with an ensemble of diverse parameter-free attacks

    目录 概 主要内容 Auto-PGD Momentum Step Size 损失函数 AutoAttack Croce F. & Hein M. Reliable evaluation of ...

  4. Second Order Optimization for Adversarial Robustness and Interpretability

    目录 概 主要内容 (4)式的求解 超参数 Tsiligkaridis T., Roberts J. Second Order Optimization for Adversarial Robustn ...

  5. Certified Adversarial Robustness via Randomized Smoothing

    目录 概 主要内容 定理1 代码 Cohen J., Rosenfeld E., Kolter J. Certified Adversarial Robustness via Randomized S ...

  6. Inherent Adversarial Robustness of Deep Spiking Neural Networks: Effects of Discrete Input Encoding and Non-Linear Activations

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! arXiv:2003.10399v2 [cs.CV] 23 Jul 2020 ECCV 2020 1 https://github.com ...

  7. Generative Adversarial Networks overview(1)

    Libo1575899134@outlook.com Libo (原创文章,转发请注明作者) 本文章会先从Gan的简单应用示例讲起,从三个方面问题以及解决思路覆盖25篇GAN论文,第二个大部分会进一步 ...

  8. RCAN——Image Super-Resolution Using Very Deep Residual Channel Attention Networks

    1. 摘要 在图像超分辨领域,卷积神经网络的深度非常重要,但过深的网络却难以训练.低分辨率的输入以及特征包含丰富的低频信息,但却在通道间被平等对待,因此阻碍了网络的表示能力. 为了解决上述问题,作者提 ...

  9. Adversarial Detection methods

    目录 Kernel Density (KD) Local Intrinsic Dimensionality (LID) Gaussian Discriminant Analysis (GDA) Gau ...

随机推荐

  1. JVM2 类加载子系统

    目录 类加载子系统 类加载器子系统 类加载器ClassLoader角色 类加载的过程 案例 加载Loading 连接Linking 初始化Intialization clinit() 类的加载器 虚拟 ...

  2. 日常Java 2021/10/3

    方法: 用System.out.println()来解释,println()是一个方法,System是系统类,out 是标准输出对象. 也就是调用系统类中的对象中的方法. 注重方法:可以是程序简洁,有 ...

  3. 零基础学习java------20---------反射

    1. 反射和动态代理 参考博文:https://blog.csdn.net/sinat_38259539/article/details/71799078 1.0 什么是Class: 我们都知道,对象 ...

  4. 零基础学习java------day17------缓冲字节流,转换字节流,简化流,缓冲字符流,序列化和对象流

    1. 缓冲字节流 缓冲区:缓冲区实质上是一个数组.通常它是一个字节数组,但是也可以使用其他种类的数组.但是一个缓冲区不 仅仅 是一个数组.缓冲区提供了对数据的结构化访问,而且还可以跟踪系统的读/写进程 ...

  5. java_IO总结(一)

    所谓IO,也就是Input与Output的缩写.在java中,IO涉及的范围比较大,这里主要讨论针对文件内容的读写 其他知识点将放置后续章节(我想,文章太长了,谁都没耐心翻到最后) 对于文件内容的操作 ...

  6. Linux后台启动服务

    systemctl 启动/关闭/启用/禁用服务 总结 启动服务 systemctl start test.service 关闭服务 systemctl stop test.service 重启服务 s ...

  7. 【Linux】【Database】【MySQL】使用percona搭建高可用的MySQL数据库

    1. 简介 1.1. 官方文档: 数据库架构:https://docs.openstack.org/ha-guide/shared-database.html 1.2. 本次使用的的是Percona ...

  8. js格式化合计金额

    var summoney=1040.010400000000000001; var totalMoney=parseFloat(summoney).toFixed(2); var arry=total ...

  9. 【C/C++】例题3-5 生成元/算法竞赛入门经典/数组与字符串

    [题目] x+x的各位数之和为y,x为y的生成元. 求10万以内的n的最小生成元,无解输出0. [解答] 这是我根据自己的想法最初写的代码: #include<cstdio> #inclu ...

  10. shell脚本 系统状态信息查看

    一.简介 源码地址 日期:2018/6/23 介绍:显示简单的系统信息 效果图: 二.使用 适用:centos6+,ubuntu12+ 语言:中文 注意:无 下载 wget https://raw.g ...