TriggerBN ++
motivation
用两个BN(一个用于干净样本, 一个用于对抗样本), 结果当使用\(\mathrm{BN}_{nat}\)的时候, 精度能够上升, 而使用\(\mathrm{BN}_{adv}\)的时候, 也有相当的鲁棒性. 原文采用的是
\]
来训练(这里\(f(x)\)输出的是概率向量而非logits), 试试看别的组合方式, 比如
\]
settings
| Attribute | Value |
|---|---|
| attack | pgd-linf |
| batch_size | 128 |
| beta1 | 0.9 |
| beta2 | 0.999 |
| dataset | cifar10 |
| description | AT=0.5=default-sgd-0.1=pgd-linf-0.0314-0.25-10=128=default |
| epochs | 100 |
| epsilon | 0.03137254901960784 |
| learning_policy | [50, 75] x 0.1 |
| leverage | 0.5 |
| loss | cross_entropy |
| lr | 0.1 |
| model | resnet32 |
| momentum | 0.9 |
| optimizer | sgd |
| progress | False |
| resume | False |
| seed | 1 |
| stats_log | False |
| steps | 10 |
| stepsize | 0.25 |
| transform | default |
| weight_decay | 0.0005 |
results
x轴为\(\alpha\)从\(0\)变化到\(1\).
| Accuracy | Robustness | |
|---|---|---|
| \(0.5 \mathcal{L}_{nat} + 0.5\mathcal{L}_{adv}\) | ![]() |
![]() |
| \(\mathcal{L}(0.5 p_{nat} + 0.5p_{adv}, y)\) | ![]() |
![]() |
| \(0.1 \mathcal{L}_{nat} + 0.9\mathcal{L}_{adv}\) 48.350 | ![]() |
![]() |
| \(\mathcal{L}(0.1 p_{nat} + 0.9p_{adv}, y)\) 48.270 | ![]() |
![]() |
| \(0.2 \mathcal{L}_{nat} + 0.8\mathcal{L}_{adv}\) 48.310 | ![]() |
![]() |
| \(\mathcal{L}(0.2 p_{nat} + 0.8p_{adv}, y)\) 47.960 | ![]() |
![]() |
似乎原来的形式情况更好一点.
TriggerBN ++的更多相关文章
随机推荐
- 学习Java的第四天
一.今日收获 1.java完全手册的第一章 2. 1.6节了解了怎么样用记事本开发java程序 与用Eclipse开发 2.完成了对应例题 二.今日难题 1.一些用法容易与c++的混淆 2.语句还 ...
- accurate, accuse
accurate accurate(不是acute)和precise是近义词,precise里有个pre,又和excise(切除, 不是exercise),concise一样有cise.Why? 准确 ...
- C++ 数组元素循环右移问题
这道题要求不用另外的数组,并且尽量移动次数少. 算法思想:设计一个结构体存储数组数据和它应在的索引位置,再直接交换,但是这种方法不能一次性就移动完成,因此再加一个判断条件.等这个判断条件满足后就退出循 ...
- 【AWS】【TroubleShooting】EC2实例无法使用SSH远程登陆(EC2 failure for SSH connection)
1. Login AWS web console and check the EC2 instance.
- Gitlab安装操作说明书
一.Gitlab安装操作步骤 登录官方网站https://about.gitlab.com/downloads/根据你所需要的系统版本,作者使用的是centos6, 检查您的服务器是否符合硬件要求.g ...
- error信息
/opt/hadoop/src/contrib/eclipse-plugin/build.xml:61: warning: 'includeantruntime' was not set, defau ...
- 【JAVA】【JVM】内存结构
虽然jvm帮我们做了内存管理的工作,但是我们仍需要了解jvm到底做了什么,下面我们就一起去看一看 jvm启动时进行一系列的工作,其中一项就是开辟一块运行时内存.而这一块内存中又分为了五大区域,分别用于 ...
- springboot优雅实现异常处理
前言 在平时的 API 开发过程中,总会遇到一些错误异常没有捕捉到的情况.那有的小伙伴可能会想,这还不简单么,我在 API 最外层加一个 try...catch 不就完事了. 哈哈哈,没错.这种方法简 ...
- 如何使用table布局静态网页
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 【力扣】剑指 Offer 25. 合并两个排序的链表
输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的. 示例1: 输入:1->2->4, 1->3->4输出:1->1->2->3-> ...











