论文阅读 (99):Black-box Adversarial Attacks with Limited Queries and Information (2018ICML)

1 概述

1.1 要点

题目:基于少量查询和信息的黑盒对抗攻击 (Black-box adversarial attacks with limited queries and information)

背景:基于神经网络的分类器在黑盒设置下对对抗样本敏感,其中攻击者只拥有模型的查询权限。实际应用中,这样的威胁模型比典型的黑盒模型更具限制性。在典型的黑盒模型中,攻击者可以在任务输入多个选定的输入上观察网络的完整输出。

策略:为了更准确地刻画现实中的分类器,我们定义了三种威胁模型

  1. 查询限制设置;
  2. 部分信息设置;
  3. 仅限标签设置。
    我们在这三种威胁模型下发展了权限的攻击算法以愚弄分类器。

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 xadvx<ϵ 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(yx)。这个设置将不允许攻击者获取梯度 ∇ P ( y ∣ x ) \nabla P(y|x) P(yx)

接下来,我们将引入三种威胁模型,并限制其查询权限。

2.2 威胁模型

2.2.1 查询限制设置

攻击者对分类器只有少量查询次数。该设置下,我们希望能够高效地生成对抗样本。查询次数的限制也可以替换为其它限制,例如时间和查询成本。

示意:Clarifar NSFW检测API是一个二分类器,给定任意图像 x x x,其返回 P ( N S F W ∣ x ) P(NSFW|x) P(NSFWx)。当查询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(yx)={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(yx)表示 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θxF(θ)π(θ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=δnj+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=1nδiF(θ+σδi)最终,我们基于NES梯度估计的动量来执行投影梯度下降更新。以上讨论了NES的特殊情况,其可以看作是在随机高斯上的有限差分估计。

对于一个 n n n维空间和 N N N个随机采样的高斯向量 v 1 … v N v_1\dots v_N v1vN,我们可以降低 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 Ne4c2nln(p)21P{vi∥∥vjvivjc(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}12p其中 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(t1)η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中,我们交替执行:

  1. 投影到以原始图像 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(t1)))<k
  2. 最大化对抗目标类的概率,以扰动图像:
    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)=xargmaxP yadvϵ(t1)(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))=krank(yadvx(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=1nR(x(t)+μδi)该过程的可视化过程如图1。进而, S ^ ( x ) \hat{S}(x) S^(x)被看作是用于输出概率 P ( y a d v ∣ x ) P(y_{adv}|x) P(yadvx)的替换,然后基于部分信息设置和对 ∇ x S ^ ( x ) \nabla_x\hat{S}(x) xS^(x)的评估来找到对抗样本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值