文章目录
1 概述
1.1 要点
题目:基于少量查询和信息的黑盒对抗攻击 (Black-box adversarial attacks with limited queries and information)
背景:基于神经网络的分类器在黑盒设置下对对抗样本敏感,其中攻击者只拥有模型的查询权限。实际应用中,这样的威胁模型比典型的黑盒模型更具限制性。在典型的黑盒模型中,攻击者可以在任务输入多个选定的输入上观察网络的完整输出。
策略:为了更准确地刻画现实中的分类器,我们定义了三种威胁模型:
- 查询限制设置;
- 部分信息设置;
- 仅限标签设置。
我们在这三种威胁模型下发展了权限的攻击算法以愚弄分类器。
1.2 代码
https://github.com/labsix/limited-blackbox-attacks
1.3 引用
@inproceedings{
Ilyas:2018:21372146,
author = {
Ilyas, Andrew and Engstrom, Logan and Athalye, Anish and Lin, Jessy},
title = {
Black-box adversarial attacks with limited queries and information},
booktitle = {
{
ICML}},
pages = {
2137--2146},
year = {
2018},
url = {
https://proceedings.mlr.press/v80/ilyas18a.html}
}
2 一些定义
对抗样本是一个仅添加细微扰动就令分类器误分类的输入。给定输入 x x x、目标类 y a d v y_{adv} yadv,以及扰动边界 ϵ \epsilon ϵ,本文的目的是找到一个输入 x a d v x_{adv} xadv,其满足 ∥ x a d v − x ∥ ∞ < ϵ \|x_{adv}-x\|_\infty<\epsilon ∥xadv−x∥∞<ϵ且 x a d v x_{adv} xadv被分类为 y a d v y_{adv} yadv。
2.1 黑盒模型
在黑盒模型设置下,攻击者仅能通过提供输入 x x x来获得预测的类别概率,即对于所有类别 y y y,有 P ( y ∣ x ) P(y|x) P(y∣x)。这个设置将不允许攻击者获取梯度 ∇ P ( y ∣ x ) \nabla P(y|x) ∇P(y∣x)。
接下来,我们将引入三种威胁模型,并限制其查询权限。
2.2 威胁模型
2.2.1 查询限制设置
攻击者对分类器只有少量查询次数。该设置下,我们希望能够高效地生成对抗样本。查询次数的限制也可以替换为其它限制,例如时间和查询成本。
示意:Clarifar NSFW检测API是一个二分类器,给定任意图像 x x x,其返回 P ( N S F W ∣ x ) P(NSFW|x) P(NSFW∣x)。当查询2500次后,Clarifai API每1000查询将消耗$2.4。
2.2.2 部分信息设置
攻击者仅能获得概率最大的 k k k个类别的概率 P ( y ∣ x ) = { y 1 , … , y k } P(y|x)=\{ y_1,\dots, y_k \} P(y∣x)={
y1,…,yk}。分类器甚至可以输出一个总和不等于1的分数来代替概率,以指示预测的相对置信度。当 k = 1 k=1 k=1时,攻击者仅能访问顶部标签及其概率,在这种情况下,部分信息攻击也应该成功。
示意:Google Cloud Vision (GCV) API仅输出top类别的置信得分。
2.2.3 仅限标签设置
攻击者仅能获得依据类别概率排列的 k k k个标签。
示意:Photo tagging app例如Google Photos为用户载入的图片添加标签。
3 方法
本节首先将描述在黑盒模型中高效生成对抗样本的自然进化策略。然后在部分信息设置下讨论攻击算法。最后描述仅限标签设置下的方法。
令 ∏ [ x − ϵ , x + ϵ ] ( x ′ ) \prod_[x-\epsilon,x+\epsilon](x') ∏[x−ϵ,x+ϵ](x′)表示投影操作,其用于在 ℓ ∞ \ell_\infty ℓ∞的限制下将 x ′ x' x′映射为由 ϵ \epsilon ϵ约束的 x x x。当 x x x无扰动时,投影操作简写为 ∏ ϵ ( x ′ ) \prod_\epsilon(x') ∏ϵ(x′)。投影过程定义为 Clip ( x ′ , x − ϵ , x + ϵ ) \text{Clip}(x',x-\epsilon,x+\epsilon) Clip(x′,x−ϵ,x+ϵ)。
令 rank ( y ∣ x ) \text{rank}(y|x) rank(y∣x)表示 x x x的top- k k k类别, N \mathcal{N} N和 U \mathcal{U} U分别表示正态分布和均匀分布。
3.1 查询限制设置
当前设置下,攻击者有预算 L L L,其目的是在 L L L次查询以内导致目标误分类。为了处理该设置,我们使用用于生成对抗样本的标准一阶技术,其用梯度估计代替损失函数的梯度。梯度估计是通过查询分类器而不是通过自微分计算来近似。本节将基于自然进化策略说明如何基于查询高效评估梯度,然后如何基于此生成对抗样本。
3.1.1 自然进化策略 (NES)
NES是一种基于搜索分布 π ( θ ∣ x ) \pi(\theta|x) π(θ∣x)的无导数优化方法。与最大化目标函数 F ( x ) F(x) F(x)不同,NES最大化搜索分布下损失函数的期望值。这使得梯度评估的查询次数远小于有限差分方法。对于一个损失函数 F ( ⋅ ) F(\cdot) F(⋅)和参数 x x x的集合,有:
E π ( θ ∣ x ) [ F ( θ ) ] = ∫ F ( θ ) π ( θ ∣ x ) d θ ∇ x E π ( θ ∣ x ) [ F ( θ ) ] = ∇ x ∫ F ( θ ) π ( θ ∣ x ) d θ = ∫ F ( θ ) ∇ x π ( θ ∣ x ) d θ = ∫ F ( θ ) π ( θ ∣ x ) π ( θ ∣ x ) ∇ x π ( θ ∣ x ) d θ = ∫ π ( θ ∣ x ) F ( θ ) ∇ x log ( π ( θ ∣ x ) ) d θ = E π ( θ ∣ x ) [ F ( θ ) ∇ x log ( π ( θ ∣ x ) ) ] \begin{aligned} \mathbb{E}_{\pi(\theta|x)}[F(\theta)]=&\int F(\theta)\pi(\theta|x)\text{d}\theta\\ \nabla_x\mathbb{E}_{\pi(\theta|x)}[F(\theta)]=&\nabla_x\int F(\theta)\pi(\theta|x)\text{d}\theta\\ =&\int F(\theta)\nabla_x\pi(\theta|x)\text{d}\theta\\ =&\int F(\theta)\frac{\pi(\theta|x)}{\pi(\theta|x)}\nabla_x\pi(\theta|x)\text{d}\theta\\ =&\int \pi(\theta|x) F(\theta) \nabla_x \log (\pi(\theta|x))\text{d}\theta\\ =&\mathbb{E}_{\pi(\theta|x)}[F(\theta)\nabla_x\log(\pi(\theta|x))]\\ \end{aligned} Eπ(θ∣x)[F(θ)]=∇xEπ(θ∣x)[F(θ)]=====∫F(θ)π(θ∣x)dθ∇x∫F(θ)π(θ∣x)dθ∫F(θ)∇xπ(θ∣x)dθ∫F(θ)π(θ∣x)π(θ∣x)∇xπ(θ∣x)dθ∫π(θ∣x)F(θ)∇xlog(π(θ∣x))dθEπ(θ∣x)[F(θ)∇xlog(π(θ∣x))]我们选则当前 x x x周围随机高斯噪声的搜索分布,即 θ = x + σ δ \theta=x+\sigma\delta θ=x+σδ,其中 δ ∼ N ( 0 , I ) \delta\sim\mathcal{N}(0,I) δ∼N(0,I)。接下来使用对立抽样来生成 δ i \delta_i δi值构成的种群:对于 i ∈ { 1 , … , n 2 } i\in\{1,\dots,\frac{n}{2}\} i∈{
1,…,2n},采用高斯噪声;对于 j ∈ { ( n 2 + 1 ) , … , n } j\in\{(\frac{n}{2}+1),\dots,n\} j∈{(2n+1),…,n},设置 δ j = − δ n − j + 1 \delta_j=-\delta_{n-j+1} δj=−δn−j+1。经验表明,这种优化可以提高NES的性能。使用此方案下的 n n n个点的采样来评估梯度会产生以下方差减少的梯度估计:
∇ E ( F ( θ ) ) ≈ 1 σ n ∑ i = 1 n δ i F ( θ + σ δ i ) \nabla\mathbb{E}(F(\theta))\approx\frac{1}{\sigma n}\sum_{i=1}^n\delta_iF(\theta+\sigma\delta_i) ∇E(F(θ))≈σn1i=1∑nδiF(θ+σδi)最终,我们基于NES梯度估计的动量来执行投影梯度下降更新。以上讨论了NES的特殊情况,其可以看作是在随机高斯上的有限差分估计。
对于一个 n n n维空间和 N N N个随机采样的高斯向量 v 1 … v N v_1\dots v_N v1…vN,我们可以降低 N N N个随机高斯函数是 c c c正交的概率。
N ≤ − e c 2 n 4 ln ( p ) 1 2 ⇒ P { v i ⋅ v j ∥ v i ∥ ∥ v j ∥ ≤ c ∀ ( i , j ) } ≥ p N\leq-e^{\frac{c^2n}{4}}\ln(p)^{\frac{1}{2}}\Rightarrow\mathbb{P}\left\{ \frac{v_i\cdot v_j}{\|v_i\|\|v_j\|} \leq c\forall(i,j)\right\}\geq p N≤−e4c2nln(p)21⇒P{
∥vi∥∥vj∥vi⋅vj≤c∀(i,j)}≥p考虑一个 δ i \delta_i δi列的矩阵 Θ \Theta Θ,NES输出投影 Θ ( ∇ F ) \Theta(\nabla F) Θ(∇F),我们可以使用来自拼接理论的标准结果分析估计结果。通过使用Johnson-Lindenstrauss定理,估计梯度 ∇ ^ \hat{\nabla} ∇^的上界和下界可以通过真实梯度 ∇ \nabla ∇来限制。当 σ → 0 \sigma\to0 σ→0,有:
P { ( 1 − δ ) ∥ ∇ ∥ 2 ≤ ∥ ∇ ^ ∥ 2 ≤ ( 1 + δ ) ∥ δ ∥ 2 } ≥ 1 − 2 p \mathbb{P}\left\{ (1-\delta) \| \nabla \|^2 \leq \| \hat{\nabla} \|^2 \leq (1+\delta) \| \delta \|^2 \right\}\geq1-2p P{
(1−δ)∥∇∥2≤∥∇^∥2≤(1+δ)∥δ∥2}≥1−2p其中 0 < δ < 1 0<\delta<1 0<δ<1, N = O ( δ − 2 log ( p ) ) N=O(\delta^{-2}\log(p)) N=O(δ−2log(p))。
3.1.2 查询限制攻击
在查询限制设置设置中,NES被用作无偏、高效的梯度估计器,其细节如算法1。投影梯度下降 (PGD) 通过使用评估梯度sign后的值来执行:
x ( t ) = ∏ [ x 0 − ϵ , x 0 + ϵ ] ( x ( t − 1 ) − η ⋅ sign ( g t ) ) x^{(t)}=\prod_{[x_0-\epsilon,x_0+\epsilon]}(x^{(t-1)}-\eta\cdot\text{sign}(g_t)) x(t)=[x0−ϵ,x0+ϵ]∏(x(t−1)−η⋅sign(gt))算法的超参数包括步长大小 η \eta η、用于评估梯度的采样数 N N N。在查询次数 L L L的限制下,每次查询数为 N N N,故PGD最多执行 L N \frac{L}{N} NL步。
3.2 部分信息设置
在部分信息设置下,算法的起点不再是图像 x x x,而是具有目标标签 y a d v y_{adv} yadv的实例 x 0 x_0 x0,使得 y a d v y_{adv} yadv更容易出现在top- k k k类别中。
在每一步 t t t中,我们交替执行:
- 投影到以原始图像 x 0 x_0 x0为中心、尺寸递减 ϵ t \epsilon_t ϵt的 ℓ ∞ \ell_\infty ℓ∞框中,保持对抗类别始终在top- k k k内:
ϵ t = min ϵ ′ s.t. rank ( y a d v ∣ ∏ ϵ ′ ( x ( t − 1 ) ) ) < k \epsilon_t=\min \epsilon' \text{ s.t. rank}\left( y_{adv} | \prod_{\epsilon'} \left( x^{(t-1)} \right) \right)<k ϵt=minϵ′ s.t. rank(yadv∣ϵ′∏(x(t−1)))<k - 最大化对抗目标类的概率,以扰动图像:
x ( t ) = arg max x ′ P ( y a d v ∣ ∏ ϵ ( t − 1 ) ( x ′ ) ) x^{(t)}=\argmax_{x'}P\left(y_{adv}|\prod_{\epsilon_{(t-1)}}\left( x' \right)\right) x(t)=x′argmaxP
yadv∣ϵ(t−1)∏(x′)
我们通过回溯线搜索找到使得对抗类别在top- k k k类别内的 ϵ t \epsilon_t ϵt,PGD将在几次迭代后找到 x ( t ) x^{(t)} x(t),完整的过程如算法2.
3.3 仅限标签设置
进行攻击的关键点在于,在没有输出分数的情况下,找到一种替代方法来表征对抗样本的成功。首先,基于对抗标签 y a d v y_{adv} yadv的排名
R ( x ( t ) ) = k − rank ( y a d v ∣ x ( t ) ) R(x^{(t)})=k-\text{rank}(y_{adv}|x^{(t)}) R(x(t))=k−rank(yadv∣x(t))以定义对抗样本的离散化得分 R ( x ( t ) ) R(x^{(t)}) R(x(t))来评估每一步 t t t时图像的对抗性。作为softmax概率的替换,考虑对抗图像对随机扰动的健壮性,使用离散化得分来评估对抗性:
S ( x ( t ) ) = E δ ∼ U [ − μ , μ ] [ R ( x ( t ) + δ ) ] S(x^{(t)})=\mathbb{E}_{\delta\sim\mathcal{U}[-\mu,\mu]}[R(x^{(t)}+\delta)] S(x(t))=Eδ∼U[−μ,μ][R(x(t)+δ)]基于Monte Carlo近似,代理得分被评估为:
S ^ ( x ( t ) ) = 1 n ∑ i = 1 n R ( x ( t ) + μ δ i ) \hat{S}(x^{(t)})=\frac{1}{n}\sum_{i=1}^nR(x^{(t)}+\mu\delta_i) S^(x(t))=n1i=1∑nR(x(t)+μδi)该过程的可视化过程如图1。进而, S ^ ( x ) \hat{S}(x) S^(x)被看作是用于输出概率 P ( y a d v ∣ x ) P(y_{adv}|x) P(yadv∣x)的替换,然后基于部分信息设置和对 ∇ x S ^ ( x ) \nabla_x\hat{S}(x) ∇xS^(x)的评估来找到对抗样本。
文章评论