作者是电子科技大学的刘小垒等,2019年发表在计算机应用研究

主要内容:

以机器学习的安全性问题为出发点,介绍了当前机器学习面临的隐私攻击、完整性攻击等安全问题,归纳了目前常见对抗样本生成方法的发展过程及各自的特点,总结了目前已有的针对对抗样本攻击的防御技术,最后对提高机器学习算法鲁棒性的方法做了进一步的展望。

一、机器学习模型的攻击方式

1.1一般说来,对机器学习模型的攻击方式包括破坏模型的机密性 (confidentiality) 、完整性 integrity) 和 可 用 性 (availability)。同时,这三个性质也构成了 CIA 安全模型:

a)机密性是指机器学习模型在训练过程中必须保证已有数据集中的信息不被泄露,比如医疗系统中病人的病例或诊断结果;

b)完整性是指机器学习模型必须保证同类别样本被归类到相同的类中,反馈结果不会因某些原因而偏离,比如垃圾邮件通过伪装造成分类器的误识别;

c)可用性是保证所有的数据集可持续的供机器学习模型来使用。

1.2另一方面,安全研究人员将常见的针对机器学习模型的攻击分为三类:隐私攻击、针对训练数据的攻击以及针对算法模型的攻击。

1)隐私攻击,这类攻击者通过观察模型来预测某些敏感信息,或者通过已有的部分数据来恢复数据集中的敏感数据。

2)针对训练数据的攻击,攻击者通过修改现有数据或注入精心制作的恶意数据来对系统的完整性造成影响(在实际应用中,算法模型的训练者会很注重数据的隐私性,所以一般在前期训练过程中,数据不会被攻击者轻易修改。然而很多系统为了适应环境的变化,会不断迭代更新模型,这时就可能遭到攻击)

3)针对算法模型的攻击,通过在机器学习模型推理阶段中对输入数据做轻微修改,就能够让模型得出错误的结果。这些被轻微修改后的数据称为对抗样本。这种针对算法模型的攻击方法能够较为轻易地找到让模型作出错误判断的对抗样本。

二、对抗样本生成方法

只补充上篇综述没有提到的部分

1.L-BFGS

Szegedy等人使用有约束L-BFGS 算法来求解,将问题进行了如下转换:

其中 loss 为一个与模型和标签有关的损失函数。由于神经网络一般是非凸的,上述损失函数最终得到一个近似值。对于每一个常量 c>0,重复优化求解这个最小化问题,每一个c 值 都能找到一个满足问题的可行解,通过执行全局的线性搜索,最终找到满足 L2距离最小的对抗样本。

2.FGSM

通常使用反向传播来高效率地计算待求梯度。该方法通过损失函数的梯度来决定像素的变化方向,最终所有的像素都会等比例地增大或减小。对于各种各样的模型,这种方法能有效地产生所需的对抗样本。

快速梯度符号法与 L-BFGS 方法有两个主要的区别:

a)快速梯度符号法基于 L∞距离求解;

b)每次求解不需要迭代,生成对抗样本速度快,但相似度并不是最高。

3 JSMA 雅可比显著图生成对抗样本

简单来说,想要使得样本被模型错误分类为目标标签 t,必须增加模型输出的目标标签 t 的概率,同时减少其他标签的概率,直到目标标签的概率大于其他标签。这可以通过使用显著性矩阵,有选择地改变图像的某些像素来实现。在求解出显著性矩阵后,通过算法选择显著性最大的像素,并对其进行修改,以增加分类为目标标签 t 的概率。重复这一过程,直到目标标签的概率大于其他标签,或达到了最大次数。

6.MalGAN

Hu等人提出了基于 MalGAN 的恶意软件对抗样本生成方法。恶意软件检测算法通常集成到防病毒软件中或托管在云端,因此对攻击者来说是一个黑盒模型,很难知道恶意软件检测使用的分类器以及分类器的参数。 Hu等人通过给黑盒模型输入各种特征的样本,利用原始样本和黑盒模型所产生的输出来训练一个辨别器SD,再用辨别器SD指导生成器来产生对抗样本

本文中说:实际上,MalGAN 算法强调整个样本集的正确率,而不关心单个样本的相似度,这意味着每个样本所需的扰动可能很大,产生的对抗样本的相似度可能很低。这就导致该算法在实际应用中具有较大局限性,具体到单个样本的修改,可能已经大到不能接受。

(这篇论文我也看过,但是没有想到这一点…)

三、对抗样本的防御方法(只记录针对上篇综述的补充)

1.蒸馏防御:

1.1蒸馏训练最初是用于将较复杂(教师)模型精简为较简单(学生)模型,具体来说,首先以常规方法用硬标签在训练集上训练出教师模型,然后,利用教师模型预测训练集得到对应的软标签(训练集的真实标签为硬标签,教师模型预测标签为软标签),接着用软标签代替硬标签在训练集上训练出学生模型。

1.2蒸馏防御使用蒸馏训练来提高神经网络的健壮性,但有两点区别。首先,教师模型和学生模型的结构完全相同,其次,蒸馏防御通过设置蒸馏温度迫使学生模型的预测结果变得更加可信。也就是说,蒸馏防御可以降低模型对输入扰动的敏感程度。

1.3蒸馏防御在正常训练模型的损失函数 softmax 中引入了温度常数 T:

训练过程中增加温度常数T会使得模型产生标签分布更加均匀的预测输出。当温度系数接近无穷大时,softmax(x)接近均匀分布。

在训练过程中引入蒸馏防御,总共分三步进行:

a)将 softmax 的温度常数设置为 T,以常规方法用硬标签在训练集上训练出教师模型;

b)利用教师模型预测训练集得到对应的软标签;

c)将 softmax 的温度常数设置为 T,用软标签代替硬标签在训练集上训练出学生模型(与教师模型的结构相同);

在测试过程中,对于测试集中的输入数据,使用学生模型的输出进行预测。然而这种防御方法只能抵御有限的对抗样本攻击。

【综述】对抗样本生成及攻防技术综述相关推荐

  1. GAN 系列的探索与pytorch实现 (数字对抗样本生成)

    GAN 系列的探索与pytorch实现 (数字对抗样本生成) 文章目录 GAN 系列的探索与pytorch实现 (数字对抗样本生成) GAN的简单介绍 生成对抗网络 GAN 的基本原理 大白话版本 非 ...

  2. FGPM:文本对抗样本生成新方法

    ©PaperWeekly 原创 · 作者|孙裕道 学校|北京邮电大学博士生 研究方向|GAN图像生成.情绪对抗样本生成 论文标题: Fast Gradient Projection Method fo ...

  3. 对抗攻击与防御 (1):图像领域的对抗样本生成

    文章目录 1 引入 2 白盒攻击 2.1 Biggio 2.2 Szegedy's limited-memory BFGS (L-BFGS) 2.3 Fast gradient sign method ...

  4. 对抗样本生成方法论文阅读笔记

    论文<针对黑盒智能语音软件的对抗样本生成方法> 一.论文中提到的相关名词解释 1.1什么是对抗样本? 所谓对抗样本就是指:在原始样本添加一些人眼无法察觉的扰动(这样的扰动不会影响人类的识别 ...

  5. AI安全之对抗样本入门 (智能系统与技术丛书) pdf

    AI安全之对抗样本入门 (智能系统与技术丛书) 兜哥 (作者) 出版社: 机械工业出版社; 第1版 (2019年5月1日) ISBN:978-7-111-62682-4 本书纸版由机械工业出版社于20 ...

  6. 科研篇二:对抗样本(Adversarial Example)综述

    文章目录 一.写作动机与文献来源 二.术语定义 2.1.对抗样本/图片(Adversarial Example/Image) 2.2.对抗干扰(Adversarial perturbation) 2. ...

  7. 综述类_网络入侵检测技术综述

    文章目录 网络入侵检测技术综述 大纲 一.入侵检测系统分类 1.基于数据来源划分 2.基于检测技术划分 二.基于传统机器学习的入侵检测 1.入侵数据处理 2.监督机器学习技术 3.无监督机器学习技术 ...

  8. 对抗样本生成算法复现代码解析:FGSM和DeepFool

    参考链接: https://www.jianshu.com/p/72c072551e10 论文地址: FGSM:地址 DeepFool:地址 导入包 import numpy as np import ...

  9. 对抗样本生成的PGD和CW方法

    参考 Projected. Gradient Algorithm 预备 先记录几个常见的单词 Convex set 凸集 convergence rate 收敛速率 convex 凸函数 interp ...

最新文章

  1. python自学攻略-你是如何自学 Python 的?
  2. 科大星云诗社动态20210217
  3. JZOJ__Day 1:【NOIP普及模拟】JABUKE
  4. win7装mysql5.5_Win7下mysql5.5安装图文教程
  5. 编写一个java打印心程序_java – ?同时打印心脏符号
  6. Leetcode算法题(C语言)9--移动零
  7. Requst Servervariables
  8. Excel 如何让复制的内容保持原文本格式
  9. C语言libiconv编程,libiconv字符集转换库在C#中的使用
  10. 比色皿洗涤不干净会造成很大实验误差
  11. SpringBoot整合shiro实现细粒度动态权限
  12. linux查看pbs报错日志,PBS 作业管理系统
  13. http状态404 vscode_HTTP状态码(HTTP Status Code),常见的error 404, error 504等的意思
  14. 关于农业害虫解决的6个办法
  15. 【思考】关于英语论文写作的底层逻辑思考
  16. Win10家庭版没有权限访问网上邻居,不能连接共享打印机的解决办法
  17. 记录一下nginx代理引起的ip失真问题
  18. Android 获取设备唯一标识
  19. 和风天气API接口获取天气数据 android端
  20. 怎么查看显卡算力(附nvidia显卡算力表)

热门文章

  1. python进制转化器(任意进制)
  2. 咸鱼菌玩3D—123D创建桌子
  3. PostGIS的安装与建库(Windows)
  4. 快速多人游戏(1) - 介绍
  5. Mac Xcode空间清理
  6. 基于OneFlow实现Unfold、Fold算子
  7. Python综合评价模型(五)专家评分法
  8. SQL语句优化优化数据库性能
  9. python 彩票排列组合_对福彩3D号码进行排列组合为例学习Python的itertools模块的用法...
  10. java 句柄数 设置_修改操作系统句柄数和用户进程数