Adversarial Examples Improve Image Recognition阅读笔记

Adversarial Examples Improve Image Recognition

对抗样本普遍被看作卷积网络的威胁。

Here we present an opposite perspective:

adversarial examples can be used to improve image recognition models if harnessed in the right manner.

对抗样本可以被用于改进图像识别模型如果用正确方式来利用的话。

AdvProp

我们方法的关键是一个对于对抗样本单独的辅助batch norm的使用,因为它们与正常样本具有不同的底层分布。

1 介绍

之前的工作展现了使用对抗样本训练可以增强模型泛化但是限制于某些条件:1.小数据集 mnist 监督学习 2.大数据集 半监督

最近的工作也提出在大数据集如ImageNet使用对抗样本训练,使用监督学习的方式会在干净图像上的表现退化。

总之,这留下了一个开放式的问题关于怎么对抗样本可以被用于有效地帮助视觉模型。

我们观察到所有之前的结合干净图像和对抗样本的方法都没有进行区分,尽管他们来自不同的底层分布。

本文提出AdvProp缩写 Adversarial Propagation,一种新的训练方案,可以用简单但是高效的两个batchnorm方法来弥补分布不匹配。两个batchnorm适当地分离了两个分布。我们展示了这种分布分离是至关重要的,它使我们能够通过对抗样本成功地改进而不是降低模型性能。

据我们所知,我们的工作是第一个展现了在监督学习的设定下在大规模ImageNet数据集上对抗样本是可以改善模型的性能的。

2 相关工作

Adversarial Training 

VAT 、deep co-training 半监督的方法

adversarial robustness和 standard accuracy之间的trade off证明是不可避免的

然和本文从相反的角度出发使用对抗样本提高standard accuracy

Benefits of Learning Adversarial Features

许多工作证实了对抗训练为卷积网络带来了更多的特性:

  • 与干净图像相比,对抗性示例使网络表示更符合显著数据特征和人类感知
  • 这样训练的模型对高频噪声更具鲁棒性
  • 这些对抗学习出的特征表示对纹理失真不太敏感,更关注形状信息。

我们提出的AdvP

### 使用对抗网络生成对抗样本的方法 对抗样本是指那些经过精心设计,在视觉上几乎无法察觉的变化被施加到原始输入上的样例,这些变化可以使机器学习模型做出错误预测。对于基于生成对抗网络(GAN)的图像对抗样本生成方法而言,核心思路是在已有GAN架构基础上调整优化目标函数,使得生成器产生的样本不仅看起来真实而且能误导特定的目标分类器。 #### 方法概述 为了实现这一目的,通常会采用如下策略: - **引入额外损失项**:除了原有的生成器与判别器之间的博弈外,还需加入一个新的约束条件——即让生成的数据尽可能使给定的目标分类器犯错。这可以通过修改生成器的损失函数来完成,具体来说就是增加一项衡量目标分类器对伪造样本误分类程度的新指标[^1]。 - **微调超参数**:由于涉及到两个不同的任务(欺骗判别器和攻击其他分类器),因此可能需要仔细调节一些超参数以平衡两者的重要性并获得最佳效果。 #### 实现过程中的注意事项 当尝试构建这样的系统时,有几个方面值得注意: - 数据集的选择应当充分考虑到所要攻击的具体应用场景; - 需要确保用于训练的基础GAN已经收敛良好,可以稳定地产出高质量图片; - 对抗扰动的程度应控制在一个合理范围内,既不能太弱以至于不起作用也不能过强而破坏了原图特征; 下面给出一段简单的Python代码片段作为示例说明如何利用预训练好的生成器创建对抗样本: ```python import numpy as np from keras.models import load_model # 加载已训练完毕的生成器模型 generator = load_model('path_to_generator.h5') # 准备随机噪声向量作为输入 noise = np.random.normal(0, 1, (batch_size, latent_dim)) # 调整生成器行为使其专注于制造可导致指定分类器失误的结果 adversarial_samples = generator.predict(noise) # 将生成的对抗样本保存下来以便后续分析或测试使用 np.save('generated_adversarial_samples.npy', adversarial_samples) ``` 此段代码假设读者已经有了一个预先训练好并且表现良好的生成器`generator`以及适当设置过的批量大小`batch_size`和潜在空间维度`latent_dim`。实际应用中还需要根据具体情况进一步完善细节处理逻辑[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值