motivation
用两个BN(一个用于干净样本, 一个用于对抗样本), 结果当使用
B
N
n
a
t
\mathrm{BN}_{nat}
BNnat的时候, 精度能够上升, 而使用
B
N
a
d
v
\mathrm{BN}_{adv}
BNadv的时候, 也有相当的鲁棒性, 但是二者不能兼得. 那么假设一个样本通过两种BN得到两个概率
p
n
a
t
p_{nat}
pnat和
p
a
d
v
p_{adv}
padv, 并利用
p
=
α
p
n
a
t
+
(
1
−
α
)
p
a
d
v
,
α
∈
[
0
,
1
]
,
p = \alpha p_{nat} + (1-\alpha) p_{adv}, \quad \alpha \in [0, 1],
p=αpnat+(1−α)padv,α∈[0,1],
来判断类别, 结果会如何呢 ?
注: 实验结果中, softmax为上述情形, 而non-softmax则是特征
f
=
α
f
n
a
t
+
(
1
−
α
)
f
a
d
v
,
α
∈
[
0
,
1
]
,
p
=
S
o
f
t
m
a
x
(
f
)
.
f = \alpha f_{nat} + (1-\alpha) f_{adv}, \quad \alpha \in [0, 1], \\ p = \mathrm{Softmax}(f).
f=αfnat+(1−α)fadv,α∈[0,1],p=Softmax(f).
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 0 0变化到 1 1 1.
| Accuracy | Robustness | |
|---|---|---|
| softmax | ![]() | ![]() |
| non-softmax | ![]() | ![]() |
结论: 二者都具有trade-off的过程, 但是non-softmax下鲁棒性对 α \alpha α更为敏感.
研究发现,结合两个BN层(一个用于正常样本,一个用于对抗样本)可以提升模型精度和鲁棒性。通过线性组合两种BN的概率输出(p=αpnat+(1−α)padv,α∈[0,1]),在softmax和non-softmax场景下进行实验,发现non-softmax对α的敏感度更高,存在准确性和鲁棒性的权衡。实验设置包括PGD攻击、Resnet32模型、CIFAR10数据集等,结果显示了不同α值下模型的准确率和鲁棒性变化。




141

被折叠的 条评论
为什么被折叠?



