TriggerBN ++

motivation

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

αL(f(x),y)+(1α)L(f(x+δ),y),

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

L(αf(xnat)+(1α)f(xadv),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轴为α0变化到1.

Accuracy Robustness
0.5Lnat+0.5Ladv image-20210606124444152 image-20210606124508889
L(0.5pnat+0.5padv,y) image-20210610175902568 image-20210610175919179
0.1Lnat+0.9Ladv 48.350 image-20210614083553167 image-20210614083606765
L(0.1pnat+0.9padv,y) 48.270 image-20210613093454435 image-20210613093517965
0.2Lnat+0.8Ladv 48.310 image-20210614093535960 image-20210614093550959
L(0.2pnat+0.8padv,y) 47.960 image-20210613110736970 image-20210613110749156

似乎原来的形式情况更好一点.

posted @   馒头and花卷  阅读(50)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示