前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >对抗机器学习模型

对抗机器学习模型

作者头像
小爷毛毛_卓寿杰
发布2019-05-14 15:16:25
1K0
发布2019-05-14 15:16:25
举报
文章被收录于专栏:Soul Joy HubSoul Joy Hub

1. Attack ML Model

随着AI时代机器学习模型在实际业务系统中愈发无处不在,模型的安全性也变得日渐重要。机器学习模型很可以会遭到恶意攻击,比较直接就能想到的如:人脸识别模型的攻击。训练出具有对抗性的机器学习模型,在业务系统存在着越来越重要的实际意义。

2. Attack

机器学习模型攻击要做的事情如下图所示:

在这里插入图片描述
在这里插入图片描述

假设我们有一个Network用来做动物的图像识别。我们输入一张如图所示的图片x0x^0x0,Network预测为“Tiger Cat”。机器学习模型攻击是在x0x^0x0上加上一个微小的噪音Δx\Delta xΔx,使得图片看起来还是一只“Tiger Cat”,但是通过Network的预测结果却是其他动物了。

2.1 Loss function
在这里插入图片描述
在这里插入图片描述

如上图所示,如果做图像分类,损失函数为:

在这里插入图片描述
在这里插入图片描述

其中,图像输入x0x^0x0是固定的。那么攻击模型的损失函数也可用类似的方式定义出来:

  • 如果是无目标攻击(不需要使得被攻击的模型将输入预测成特定某一类)的攻击,则损失函数为:
在这里插入图片描述
在这里插入图片描述

即预测结果远离类别。其中,网络参数θ\thetaθ是固定,网络调整的是输入的x′x^{'}x′

  • 有目标攻击(使得被攻击的模型将输入预测成特定某一类)的攻击,则损失函数为:
在这里插入图片描述
在这里插入图片描述

即预测结果既要远离正确类别,又要接近某错误类别。

上述两种损失函数还需要满足一定的约束,就是不能与原来的图片有太大的差异,即:

在这里插入图片描述
在这里插入图片描述

距离 d 通常的定义方式有:

在这里插入图片描述
在这里插入图片描述
2.2 Attack gradient descent

Attack gradient descent 相当于就是有了一定限制的gradient descent。每一步在对xxx做更新后,都要计算是否符合限制:

在这里插入图片描述
在这里插入图片描述

如果不符合,我们就把它调整为符合限制的xxx。如何调整呢?简而言之,就是把更新后的xtx^txt拉到符合限制区域的最近的向量上,用它来替代xtx^txt:

在这里插入图片描述
在这里插入图片描述
2.3 FGSM

FGSM(fast gradient sign method) 是一种非常快捷的attack方法:只进行一次求梯度,并取其各个位上的符号作为结果 Δx\Delta xΔx ;更新时根据 Δx\Delta xΔx 直接加减 ε\varepsilonε:

在这里插入图片描述
在这里插入图片描述

该方法相当于使用了非常大的学习率,并且采用L-infinity距离,再把xxx拉回到正方形的角上。

2.4 Black box attack

之前讲的都是白盒攻击,即模型的网络结构我们都是知道的。那么,如果一个未知结构的Black模型,该如何攻击?很神奇的是,我们只要用相同的数据训练某个自定义结构的Proxy模型,在该Proxy模型上做attack,Black模型也能被很好的attack了。下表为proxy-black attack后的正确率

在这里插入图片描述
在这里插入图片描述
2.5 More …
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3. Defense

讲完attack,我们来讲怎么defense。

2.1 Passive Defense

Passive Defense 主要是思想是在给模型做层“保护罩”。

2.1.1 Smoothing Filter

做一层简单的平滑过滤,也能很好的防御attack:

在这里插入图片描述
在这里插入图片描述
2.1.2 Feature Squeeze

不同压缩的特征进行预测,根据预测结果之间的距离来判定该输入是否被attack:

在这里插入图片描述
在这里插入图片描述
2.1.3 Randomization

对输入对图片做一些随机对改变(如尺寸、填充),然后再输入到模型中:

在这里插入图片描述
在这里插入图片描述
2.2 Proactive Defense

Proactive Defense 的主要思想是:找出漏洞,补起来。直观的去想,做法也很简单:

  • 训练数据 train出 model
  • 对每个训练数据,train出可以attack model的 新数据,并用原数据的label 作为新数据的label
  • 生成的新数据再用于训练model,填补model的漏洞
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年05月04日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. Attack ML Model
  • 2. Attack
    • 2.1 Loss function
      • 2.2 Attack gradient descent
        • 2.3 FGSM
          • 2.4 Black box attack
            • 2.5 More …
            • 3. Defense
              • 2.1 Passive Defense
                • 2.1.1 Smoothing Filter
                • 2.1.2 Feature Squeeze
                • 2.1.3 Randomization
              • 2.2 Proactive Defense
              相关产品与服务
              人脸识别
              腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档