layout: post
title: 黑盒攻击深度学习模型paper5篇总结
categories: [deep learning]
description: 截止201804几种黑盒攻击方法
keywords: deeplearning, , black box attack, model
Transferability in ML: 需要少量input 和 label(例如预测数字为label=2)
- 模型的训练:
初始化收集:收集少量的数据集,如手mnist,收集0~9的10张
替代模型的结构,寻找合适的替代模型结构,如针对图片采用卷积层,针对文本采用RNN, 而且他们证明层的类型,数量和大小仅有些相对较小的影响。
submodel的训练:将初始inputs送入原model进行查询获取label,获得一个完成的数据集(input,label)之后进行submodel的训练
数据集的扩增,jacobian-based with reservoir sampling
- 对抗样本的生成(利用白盒攻击的方法)
GENERATING NATURAL ADVERSARIAL EXAMPLES: 需要input 和 label(例如预测数字为label=2)
1.模型的训练(获得generator和inverter):
和普通GAN的学习基本一致,只不过多了一个反向转换器inverter
损失函数如上,实现的效果是:
输入高斯分布z,G输出真实图片x'
够输入x,inverter输出符合高斯分布的z’
以上保证了输入z或者对z的轻微修改,G依旧能够生成真实图片
2.对抗样本的生成
迭代随机寻找,对z=z’+θ,其中θ是对z的修改,是循环尝试、随机生成、符合一定分布的,所以说尽可能尝试。
ZOO: Zeroth Order Optimization Based Black-box Attacks:需要input+每一个类别的概率
1.模型的训练
损失函数如上,左边保证对抗样本与真实input的相似,右边保证对抗样本能导致目标模型出错,具体如下:
-
DNN model,如果目标model的数据集类似mnist,图片较小,就不会使用到attack-space hierarchical attack importance sampling
attack-space :计算梯度时的坐标选取范围变小 (299x299x3->32x32x3)
hierarchical attack:与上面的相反,小范围的坐标选取可能会没 有效果(32x32x3->64x64x3)
importance sampling:有时经过了attack-space,坐标范围还是非 常的大,此时就需要根据坐标的重要性进行 选取(一般认为,图片中间位置的像素较边 角的重要)
随机选取一个坐标
估计梯度,h非常小,ei是一个只有i-th元素等于1的偏置向量。第二个只在牛顿法中才会使用。
- 获得了上面的近似梯度后,利用一阶或二阶方法(如下红框内的adam方法和newton method)来获取best梯度
- 获得了best梯度,对x进行修改,输入目标model,如果出错则保留修改后的x,否则,循环②③④直到产生best梯度
DECISION-BASED ADVERSARIAL ATTACKS:需要input和 label(例如预测数字为label=2)
- 模型的训练
① 初始化一张对抗input’ ~ U(0,1)
② 获取扰动,之后对其进行修剪符合下列:
,也就是如下图的箭头←(#1),在与原input中心的等距线上
④ 修改ε,满足下列损失函数
此损失函数会导致上图的箭头↓(#2),即与等距线垂直的方向,靠近原input
⑤重复②③④,即重复←↓(#1 #2),越贴近原input时,会修改ε变小。
⑤ 当ε非常小的时候(收敛至0,如0.001),则保存此input’
说明:上述②③④一直循环时,input’是一致导致目标model出错的,只不过是越来越接近原input,即图片越来越真实。当ε非常小的时候,则表明此时input’已经很贴切原input,同时已经保持着让目标model出错的性质。
Machine Learning as an Adversarial Service: Learning Black-Box Adversarial Examples:需要input和每一个类别的概率
-
模型的训练