【对抗攻击论文】黑盒开篇:Practical Black-Box Attacks against Machine Learning
作为黑盒攻击的开篇,本文是基于迁移的黑盒攻击。由于不知道目标模型的内部结构,所以采用一个合成的数据集来训练一个本地替代模型DNN,接着采用雅可比数据增强的方式利用数据在目标模型上的输出更新数据集,再进行模型训练,以建立一个近似于oracle模型O的决策边界的模型F。Sρ+1={x⃗+λ⋅sgn(JF[O(x⃗)]):x⃗∈Sρ}∪SρS_{\rho+1}=\{ \vec{x}+\lambda \c
文章概述
idea
作为黑盒攻击的开篇,本文是基于迁移的黑盒攻击。
method
由于不知道目标模型的内部结构,所以采用一个合成的数据集来训练一个本地替代模型DNN,接着采用雅可比数据增强的方式利用数据在目标模型上的输出更新数据集,再进行模型训练,以建立一个近似于oracle模型O的决策边界的模型F。
S
ρ
+
1
=
{
x
⃗
+
λ
⋅
s
g
n
(
J
F
[
O
(
x
⃗
)
]
)
:
x
⃗
∈
S
ρ
}
∪
S
ρ
S_{\rho+1}=\{ \vec{x}+\lambda \cdot sgn(J_F[O(\vec{x})]):\vec{x} \in S_{\rho} \} \cup S_{\rho}
Sρ+1={x+λ⋅sgn(JF[O(x)]):x∈Sρ}∪Sρ
最后攻击者利用替代网络F来制作对抗性样本,然后由于对抗性样本的迁移性被oracle O错误分类
详细内容
摘要
所有现有的对抗样本攻击都需要模型内部或其训练数据的知识。我们介绍了攻击者在没有此类信息的情况下控制远程托管DNN的第一个practical demonstration。事实上,我们的黑盒对手的唯一能力是观察DNN给所选输入的标签。我们的攻击策略包括训练一个局部模型来替代目标DNN,使用由对手合成并由目标DNN标记的输入。我们使用局部替代来制作对抗样本,发现它们被目标DNN错误分类
1.介绍
main contribution:
- 我们在第4节中介绍了一种针对黑盒DNN分类器的攻击。它在不知道分类器训练数据或模型的情况下制作对抗性示例。为此,对手构建一个合成数据集来训练目标DNN分类器的替代品。
- 在第5节中,我们实例化了对一个由MetaMind托管的远程DNN分类器的攻击。DNN错误分类了84.24%的敌对输入。
- 在第6节中对攻击进行了校准,以(a)减少对目标模型的查询次数和(b)最大化对抗样本的错误分类。
2.关于DNN
(一些DNN的背景介绍)
3.攻击模型
Targeted Model:
Adversarial Capabilities:
Adversarial Goal:
4.黑盒攻击方法
4.1替代模型训练
训练一个近似于oracle O的替代模型F是具有挑战性的,因为我们必须:(1)在不了解目标oracle的体系结构的情况下为我们的替代选择一个体系结构,并且(2)限制对oracle的查询数量,以确保方法是可处理的
主要通过引入一种综合数据生成技术——基于雅可比矩阵的数据集增强来克服这些挑战。我们强调,这种技术不是为了最大化替代DNN的准确性而设计的,而是确保它以很少的标签查询接近oracle的决策边界。
Substitute Architecture:
(模型的选择不是最大的限制因素,文中指出,替代DNN中使用层的结构类型数量大小对攻击成功影响相对较小)
Generating a Synthetic Dataset:
为了更好地理解合成数据的需求,请注意,我们可能会对属于输入域的任何输入
x
⃗
\vec{x}
x 进行无限次查询,以获得oracle的输出
O
(
x
⃗
)
O(\vec{x})
O(x)。这样我们就能得到orcal的副本。然而,这是not tractable:考虑一个包含M个输入分量的DNN,每个分量在一组K个可能值中取离散值,要查询的可能输入的数量为
K
M
K^M
KM。对于连续域的输入,这种困难更为明显。此外,进行大量查询使对抗行为易于检测。
一种自然的选择是求助于随机选择要查询的额外点。例如,我们尝试使用高斯噪声来选择训练替代者的点。然而,结果模型不能通过查询oracle来学习。这可能是由于噪声不能代表输入分布。为了解决这个问题,我们引入了一种启发式算法,可以有效地探索输入域,并且,如第5节和第6节所示,极大地限制了oracle查询的数量。此外,我们的技术还确保替代DNN是目标DNN的近似,即它学习相似的决策边界。
用于生成合成训练输入的启发式方法是基于识别模型输出在初始训练点集周围变化的方向。这种方向直观上需要更多的输入-输出对来捕捉目标DNN O的输出变化。因此,为了获得一个精确逼近oracle决策边界的替代DNN,启发式在查询oracle标签时对这些样本进行优先排序。这些方向由替代DNN的雅可比矩阵
J
F
J_F
JF 确定,该雅可比矩阵在几个输入点
x
⃗
\vec{x}
x处计算(这些点的选择方式如下所述) .
准确地说,对手计算与oracle分配给输入
x
⃗
\vec{x}
x的标签对应的雅可比矩阵维数的符号:
s
g
n
(
J
F
(
x
⃗
)
[
O
(
x
⃗
)
]
)
sgn(J_F(\vec{x})[O(\vec{x})])
sgn(JF(x)[O(x)]).
为了得到一个新的综合训练点,利用
λ
⋅
s
g
n
(
J
F
(
x
⃗
)
[
O
(
x
⃗
)
]
)
\lambda \cdot sgn(J_F(\vec{x})[O(\vec{x})])
λ⋅sgn(JF(x)[O(x)])
我们将这种技术命名为基于雅可比矩阵的数据集增强。我们的替代训练算法是基于基于雅可比矩阵确定的方向迭代改进模型的思想
Substitute DNN Training Algorithm:
Initial Collection (1):对手收集代表输入域的一个非常小的输入集S0。例如,如果目标oracle O对手写数字进行分类,那么对手将收集从0到9的每个数字的10张图像。我们在第5节中说明,这个集合不一定来自训练目标oracle的分布。
Architecture Selection (2):对手选择一个要训练的体系结构作为替代F。同样,这可以使用oracle执行的分类任务的高级知识来完成(例如,卷积网络适合于视觉)。
Substitute Training:对手通过对ρ∈0…ρmax重复下列操作,迭代训练更准确的替代DNNs Fρ:
-
Labeling(3):通过查询标签~ O(~ x)输出由oracle O,对手在其初始替代训练集Sρ中标记每个样本~ x∈Sρ。
-
Training(4):对手使用替代训练集Sρ结合经典训练技术训练步骤(2)中选择的架构。
-
Augmentation(5):对手将我们的增强技术应用在初始替代训练集Sρ上,以产生一个更大的替代训练集Sρ+1,具有更多的综合训练点。这种新的训练集能更好地表示模型的决策边界。对手对扩充集s3 +1重复步骤(3)和(4)
步骤(3)重复多次,以提高替代DNN的准确性和其决策边界与oracle的相似性。我们引入了用ρ索引的替代训练历元来表示每一次迭代。这导致了基于雅可比矩阵的数据集增强的形式化,在我们的替代训练算法的步骤(5)进行,以找到更多的综合训练点:
S
ρ
+
1
=
{
x
⃗
+
λ
⋅
s
g
n
(
J
F
[
O
(
x
⃗
)
]
)
:
x
⃗
∈
S
ρ
}
∪
S
ρ
S_{\rho+1}=\{ \vec{x}+\lambda \cdot sgn(J_F[O(\vec{x})]):\vec{x} \in S_{\rho} \} \cup S_{\rho}
Sρ+1={x+λ⋅sgn(JF[O(x)]):x∈Sρ}∪Sρ
其中λ是增广的一个参数:它定义了在雅可比矩阵确定的敏感方向上所采取的步长大小,以将集合Sρ增广为Sρ+1
4.2 制作黑盒样本
一旦对手训练了一个替代DNN,它就用它来制作对抗样本。这是通过实现[4,9]中介绍的两种方法来实现的。我们提供了两种方法的概述,即Goodfellow等算法和Papernot等算法。
这两种技术在评估模型对输入修改的敏感性方面有着相似的直觉,以便选择一个小的扰动来实现错误分类的目标
更多推荐
所有评论(0)