对抗样本与对抗训练

(本文讨论仅限个人观点,因为我见解有限,错误难免(我也可能不定时更新想法),欢迎和我讨论[email protected]
本文将会介绍对抗样本与对抗训练的相关知识(请将此对抗训练与Ian Goodfellow的生成对抗网络区别开来)。综合Ian Goodfelow在Berkeley CS 294-131的deeplearning topic上面的讲义,我将从以下几个方面介绍:

  • 什么是对抗样本?
  • 它们是怎么出现的?
  • 它们是怎么危害到机器学习系统?
  • 有什么办法防范?
  • 怎样使用对抗样本训练机器学习?

由于本人的研究方向并非是神经网络,或者机器学习,所以对相关related work没有系统的调研,仅限于读过的几篇文章,浅尝辄止,有兴趣的读者可以参考论文原文。

1、什么是对抗样本?

自从2013年以来,深度的神经网络模型在各方面得到了广泛应用,甚至在某些方面达到可以匹配人类的性能,比如人脸识别,最高已经可以达到99.5%的识别率,代表产品有face++等。然而Christian Szegedy等人在2014年发表一篇文章:Intriguing properties of neural networks。这篇文章介绍了关于神经网络一个有趣的现象,即神经网络学习到的那个函数是不连续的!只需要在一张图片上做微小的扰动,就能让图片以很高的置信度被错误分类,甚至能让图片被分类一个指定的标签(不是图片正确所属的标签)。这对图片分类系统无疑是危害巨大!试想在支付宝这样使用人脸识别的应用中,攻击者可以轻轻松松伪装成“马云”会怎么样,呵呵。我们把这种攻击方式叫做“adversarial example”。其实在机器学习领域中,对抗样本的问题并不是第一次提到。Biggo等人在Evasion attacks against machine learning at test time这篇文章里就介绍过。他们给潜在的“敌人(adversary)”定义了一个模型“Adversary model”。一个敌对模型包括adversary goal, adversary knowledge和adversary capability等几个方面:

  • adversary goal(攻击目标): 分为两种目标,一是能够分类为好的即可(在垃圾邮件检测中,指分类为好的邮件)。如果有一个函数g定义在样本空间中X,g(x)<0表示分类为好,那么敌人的目标就是设计一个样本x*,让g(x*)<0。这种攻击很容易破解,只要调整分类界限即可(这里指g(x)=0这条边界)。所以,其实攻击者还有一个更好的目标是让g(x)尽可能小。

  • adversary knowledge: 敌人对机器学习训练系统的知识包括:

    • 训练集是什么
    • 样本的特征表示
    • 学习算法是什么,决策函数是什么
    • 分类模型是什么,比如线性分类器的权重
    • 分类器的反馈

显然敌人拥有什么样的知识对系统的危害程度会不一样。
- adversary capability: 敌人的能力,包括:
- 修改输入数据
- 修改特征向量
- 修改某个制定的特征
显然敌人的能力不同,攻击的危害也不同。
建立在上面模型中的敌人(或者叫对抗者,攻击者)就是试图寻找对抗样本来误导分类器。

2、它们是怎么出现的?

那么作为一个攻击方,怎么依赖他拥有的知识来做攻击(即混淆分类器)呢?
Biggo和Szegedy都提出了类似的攻击策略,基于最优化的方法,Biggo的攻击策略如下:

x=argmaxxg^(x),s.t.d(x,x0)dmax

它是说我们想找一个对抗样本x,使它尽可能被分类为好,并且与某个原来的样本 x0 在样本空间里还很接近(距离小于 dmax )。
Szegedy的攻击策略为:
Minimize||r||2,subject to:1. f(x+r)=l,2. x+r[0,1
  • 35
    点赞
  • 97
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值