motivation

用两个BN(一个用于干净样本, 一个用于对抗样本), 结果当使用\(\mathrm{BN}_{nat}\)的时候, 精度能够上升, 而使用\(\mathrm{BN}_{adv}\)的时候, 也有相当的鲁棒性. 原文采用的是

\[\alpha \mathcal{L}(f(x), y) + (1-\alpha) \mathcal{L}(f(x+\delta), y),
\]

来训练(这里\(f(x)\)输出的是概率向量而非logits), 试试看别的组合方式, 比如

\[\mathcal{L}(\alpha f(x_{nat}) + (1-\alpha)f(x_{adv}) ,y).
\]

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 ++的更多相关文章

随机推荐

  1. mysql事务控制语言TCL

    Transaction Control Language 事务控制语言 事务:一个或一组sql语句组成一个执行单元,这个执行单元作为不可分割的整体执行.如果某个语句执行错误,整个单元回滚到最初的状态. ...

  2. 学习java 7.22

    学习内容: GridBagLayout GridBagLayout布局管理器的功能最强大,但也最复杂,与GridLayout布局管理器不同的是,在GridBagLayout布局管理器中,一个组件可以跨 ...

  3. college-ruled notebook

    TBBT.s3.e10: Sheldon: Where's your notebook?Penny: Um, I don't have one.Sheldon: How are you going t ...

  4. absent, absolute, absorb

    absent Absenteeism is a habitual [习惯性的] pattern of absence from a duty or obligation [职责] without go ...

  5. Maven 目录结构[转载]

    转载至:http://www.cnblogs.com/haippy/archive/2012/07/05/2577233.html Maven 标准目录结构 好的目录结构可以使开发人员更容易理解项目, ...

  6. Docker学习(五)——Docker仓库管理

    Docker仓库管理     仓库(Repository)是集中存放镜像的地方. 1.Docker Hub       目前Docker官方维护了一个公共仓库Docker Hub.大部分需求都可以通过 ...

  7. layui 弹窗中 分页展示table

    1. 需求:点击查看更多,展示该类别 所有数据,并分页 2. 参考文档: (1)https://www.jianshu.com/p/40da11ebae66 (2) https://blog.csdn ...

  8. 基于阿里云ecs(centos 7) 安装jenkins

    1. 安装好 jdk 2. 官网(https://pkg.jenkins.io/redhat-stable/)下载rpm包(稳定版): wget https://pkg.jenkins.io/redh ...

  9. jenkins集成openldap

    参考图片 集成ldap参考链接:https://www.cnblogs.com/mascot1/p/10498513.html

  10. 第44篇-为native方法设置解释执行入口

    对于Java中的native方法来说,实际上调用的是C/C++实现的本地函数,由于可能会在Java解释执行过程中调用native方法,或在本地函数的实现过程中调用Java方法,所以当两者相互调用时,必 ...