Multi-Label Adversarial Perturbations

Multi-Label Adversarial Perturbations

ICDM2018

1.介绍

与multi-class分类问题中标签互斥且一个实例只能有一个标签的情况不同,在multi-label分类中,每个实例可以与多个标签关联,从而为攻击者提供更多的机会和为防御者带来更大的不确定性。

1.1多标签对抗样本广泛存在于现实生活中。
  • 从攻击者角度看,他想更改某些标签,同时保持其他标签不变,。 例如一个图片推荐系统,图片系统可以生成与特定topic有关的垃圾图像。在这种情况下,垃圾图片发送者希望系统将垃圾垃圾图像误分类为良性对象,同时出于恶意推荐的目的将其正确分类为风景图像。
  • 从良性的角度来看,系统管理员可以利用对抗样本来干扰一些用户的敏感属性,从而防止恶意分类器推断用户的个人信息来增强对用户隐私的保护。
1.2生成多标签对抗样本的挑战。
  • 每个实例可能具有不确定数量的标签。
  • 由于标签不会相互排斥,因此很难协调多个标签。
  • 量化攻击性能可能很困难,因为可能无法同时实现多个标签目标攻击。
1.3针对多标签攻击本文设计了2种框架4种方法
  • Classification-targeted Framework
    • ML-C&W
    • ML-DeepFool
  • Ranking-targeted Framework
    • Rank I
    • Rank II

对于非目标攻击,没有要针对的特定标签进行操作,这跟单标签中的非目标攻击相似,本文就没有考虑。

2.符号

xRd1x \in R^{d*1}, y{1,1}l1y \in \{-1,1\}^{l*1}, 分类器预测得分F:Rd>RlF: R^d ->R^l, F={f1,...,fl}F=\{f_1,...,f_l\}, 分类器预测最后输出H:Rd>{1,1}lH:R^d -> \{-1,1\}^lH={h1,...,hl}H=\{h1,...,h_l\}

2.1有目标攻击定义

原始样本xx,对抗样本xx^*,给定集合AABB, AA集合中的标签表示攻击后预测值和原样本ground truth相反BB集合中的标签表示攻击后预测值和原样本ground truth相同

ha(x)ya,aAhb(x)=yb,bB(A,ABL,AB=) { h _ { a } \left( \mathrm { x } ^ { * } \right) \neq y _ { a } , \forall a \in A } \\ { h _ { b } \left( \mathbf { x } ^ { * } \right) = y _ { b } , \forall b \in B \\ ( A \neq \emptyset , A \cup B \subset L , A \cap B = \emptyset ) }

在实践中,攻击者通常只对攻击一组特定的标签(AA)感兴趣,而保留另一组特定的标签(BB)以便进行更相关的攻击或伪装。.在本文的其余部分,我们将重点研究多标签对抗性样本的目标攻击,因为它们在现实世界的系统中更为实用且有意义。

3.多标签目标攻击

3.1 Classification-targeted Framework

这种情况是针对分类的最终结果HH进行攻击,对应预测得分FF固定阈值为0。对于xx,ground truth每个标签为 -1或者1,我们的目标是以下优化函数。x=x+r,rx^* = x + r, r 为扰动量
minimizerr subject to ha(x+r)=ya,aAhb(x+r)=yb,bB \begin{array} { l l } { \underset { \mathbf { r } } { \operatorname { minimize } } } & { \| \mathbf { r } \| } \\ { \text { subject to } } & { h _ { a } ( \mathbf { x } + \mathbf { r } ) = - y _ { a } , a \in A } \\ { } & { h _ { b } ( \mathbf { x } + \mathbf { r } ) = y _ { b } , b \in B } \end{array}

对于线性预测变量FxF(x),可以使用Hx=sgnFxH(x)= sgn(F(x))的阈值0来引入相应的分类器,其中sgn(·)是符号函数。因此由公式2可以可知,
yafa(x+r)0,ybfb(x+r)0 y _ { a } f _ { a } ( x + r ) \leq 0 , \quad - y _ { b } f _ { b } ( x + r ) \leq 0
公式2可以推导为
minimizerr subject to yF(x+r)c \begin{array} { l l } { \underset { \mathbf { r } } { \operatorname { minimize } } } & { \| \mathbf { r } \| } \\ { \text { subject to } } & { \mathbf { y } ^ { \prime } \odot F ^ { \prime } ( \mathbf { x } + \mathbf { r } ) \leq \mathbf { c } } \end{array}
其中yy^{'}为对抗样本的目标攻击值, F(x+r)F^{'}(x+r)为对抗样本的预测得分,cc 表示全0向量。
 where y=[ya1,,yaA,yb1,,ybB] and F=[fa1,,faA,fb1,,fbB]. is the Hadamard product.  \begin{array} { l } { \text { where } \mathbf { y } ^ { \prime } = \left[ y _ { a _ { 1 } } , \ldots , y _ { a _ { | A | } } , - y _ { b _ { 1 } } , \ldots , - y _ { b _ { | B } | } \right] ^ { \top } \text { and } F ^ { \prime } = } \\ { \left[ f _ { a _ { 1 } } , \ldots , f _ { a _ { | A | } } , f _ { b _ { 1 } } , \ldots , f _ { b _ { | B | } } \right] ^ { \top } . \odot \text { is the Hadamard product. } } \end{array}

3.1.1 ML-CW

很直接方法是把公式5转换为,带有hinge loss的优化函数,
minimizerr+λi=1A+Bmax(0,yiFi(x+r)ci) \underset { \mathbf { r } } { \operatorname { minimize } } \quad \| \mathbf { r } \| + \lambda \sum _ { i = 1 } ^ { | A | + | B | } \max \left( 0 , \mathbf { y } _ { i } ^ { \prime } F _ { i } ^ { \prime } ( x + r ) - c _ { i } \right)
其中λ\lambda为trade-off参数。

3.1.2 ML-DeepFool

考虑到约束的高度非线性,求解方程式(4)的一种变化是利用 FF'线性近似将约束线性化为:
minimizerr subject to y[F(x)+(Fx)r]c \begin{array} { l l } { \underset { \mathbf { r } } { \operatorname { minimize } } } & { \| \mathbf { r } \| } \\ { \text { subject to } } & { \mathbf { y } ^ { \prime } \odot \left[ F ^ { \prime } ( \mathbf { x } ) + \left( \frac { \partial F ^ { \prime } } { \partial \mathbf { x } } \right) ^ { \top } \mathbf { r } \right] \leq \mathbf { c } } \end{array}
where Fx=[fa1x,,faAx,fb1x,,fbBx]Rd×(A+B).\frac { \partial F ^ { \prime } } { \partial x } = \left[ \frac { \partial f _ { a _ { 1 } } } { \partial x } , \ldots , \frac { \partial f _ { a _ { | A | } } } { \partial x } , \frac { \partial f _ { b _ { 1 } } } { \partial x } , \ldots , \frac { \partial f _ { b _ { | B | } } } { \partial x } \right] \in \mathbb { R } ^ { d \times ( | A | + | B | ) } .

上述公式可以化简为
minimizerr22 subject to P(x)rq(x) \begin{array} { l l } { \underset { \mathbf { r } } { \operatorname { minimize } } } & { \| \mathbf { r } \| _ { 2 } ^ { 2 } } \\ { \text { subject to } } & { \mathbf { P } ( \mathbf { x } ) ^ { \top } \mathbf { r } \leq \mathbf { q } ( \mathbf { x } ) } \end{array}
where P(x)=(1d×y)F(x)x\mathbf { P } ( \mathbf { x } ) = \left( \mathbf { 1 } _ { d } \times \mathbf { y } ^ { \prime \top } \right) \odot \frac { \partial F ^ { \prime } ( \mathbf { x } ) } { \partial \mathbf { x } } and q(x)=cyF(x).\mathbf { q } ( \mathbf { x } ) = \mathbf { c } - \mathbf { y } ^ { \prime } \odot F ^ { \prime } ( \mathbf { x } ).

像DeepFool一样,令Δr=P(xi)(P(xi)P(xi))1q(xi)\Delta \mathbf { r } = \mathbf { P } \left( \mathbf { x } _ { i } \right) \left( \mathbf { P } \left( \mathbf { x } _ { i } \right) ^ { \top } \mathbf { P } \left( \mathbf { x } _ { i } \right) \right) ^ { - 1 } \mathbf { q } \left( \mathbf { x } _ { i } \right),利用迭代的方法求得r
Multi-Label Adversarial Perturbations

3.2 Ranking-targeted Framework

Multi-Label Adversarial Perturbations

AA集合中的标签表示攻击后预测值和原样本ground truth相反BB集合中的标签表示攻击后预测值和原样本ground truth相同,由上图可知

  • A1A_1表示为原来为1,攻击之后变为-1的标签

  • A1A_{-1}表示为原来为-1,攻击之后变为1的标签

  • B1B_1表示为原来为1,攻击之后还为1的标签

  • B1B_{-1}表示为原来为-1,攻击之后还为-1的标签

  • CC表示不考虑的标签

基于排名算法特点(1)软阈值:由于基于排名的模型旨在产生标签之间的排名关系,因此无需指定硬阈值。(2)标签关系:以分类为目标的框架没有明确考虑标签之间的关系,这对于攻击基于排名的算法可能无法推广。为了解决这些问题,我们提出了一个针对排名的框架。
minimizerr subject to fα(x+r)fγ(x+r)fβ(x+r)αA1B1,βA1B1,γC \begin{array} { l l } { \underset { \mathbf { r } } { \operatorname { minimize } } } & { \| \mathbf { r } \| } \\ { \text { subject to } } & { f _ { \alpha } ( \mathbf { x } + \mathbf { r } ) \leq f _ { \gamma } ( \mathbf { x } + \mathbf { r } ) \leq f _ { \beta } ( \mathbf { x } + \mathbf { r } ) } \\ { } & { \forall \alpha \in A _ { 1 } \cup B _ { - 1 } , \beta \in A _ { - 1 } \cup B _ { 1 } , \gamma \in C } \end{array}
$ A _ { 1 } \cup B _ { - 1 }使1为使攻击之后变为-1的集合,A _ { - 1 } \cup B _ { 1 }$为使攻击之后变为1的集合,无关标签C的预测置于中间以增强攻击能力。

3.2.1 Rank I Attack

 Assume Ω=A1B1,Ω+=A1B1, and Ω=C. \begin{array} { l } { \text { Assume } \Omega ^ { - } = A _ { 1 } \cup B _ { - 1 } , \Omega ^ { + } = } { A _ { - 1 } \cup B _ { 1 } , \text { and } \Omega ^ { \circ } = C . \text { } } \end{array}定义一个扰动量r和排名有关的损失函数,使得攻击之后目标为1的标签得分更高,为-1的标签得分更低。
L0=r+1ΩΩ+(α,β)Ω×Ω+max(0,efα(x+r)efβ(x+r))+1ΩΩ(α,γ)Ω×Ωmax(0,efα(x+r)efγ(x+r))+1ΩΩ+(γ,β)Ω×Ω+max(0,efγ(x+r)efβ(x+r)) \begin{aligned} \mathcal { L } _ { 0 } = \| \mathbf { r } \| & + \frac { 1 } { | \Omega - \| \Omega + | } \sum _ { ( \alpha , \beta ) \in \Omega - \times \Omega + } \max \left( 0 , e ^ { f _ { \alpha } ( \mathbf { x } + \mathbf { r } ) } - e ^ { f _ { \beta } ( \mathbf { x } + \mathbf { r } ) } \right) \\ & + \frac { 1 } { \left| \Omega - \| \Omega ^ { \circ } \right| } \sum _ { ( \alpha , \gamma ) \in \Omega ^ { - } \times \Omega ^ { \circ } } \max \left( 0 , e ^ { f _ { \alpha } ( \mathbf { x } + \mathbf { r } ) } - e ^ { f _ { \gamma } ( \mathbf { x } + \mathbf { r } ) } \right) \\ & + \frac { 1 } { \left| \Omega ^ { \circ } \right| | \Omega + | } \sum _ { ( \gamma , \beta ) \in \Omega ^ { \circ } \times \Omega ^ { + } } \max \left( 0 , e ^ { f _ { \gamma } ( \mathbf { x } + \mathbf { r } ) } - e ^ { f _ { \beta } ( \mathbf { x } + \mathbf { r } ) } \right) \end{aligned}
考虑到上述公式计算标签集合中两两差值过于繁琐,经过简化得到下式
L1=r+λ1max(0,maxαΩefα(x+r)minβΩ+efβ(x+r))+λ2max(0,maxαΩefα(x+r)minγΩefγ(x+r))+λ3max(0,maxγΩefγ(x+r)minβΩ+efβ(x+r)) \begin{aligned} \mathcal { L } _ { 1 } = \| \mathbf { r } \| & + \lambda _ { 1 } \max \left( 0 , \max _ { \alpha \in \Omega ^ { - } } e ^ { f _ { \alpha } ( \mathbf { x } + \mathbf { r } ) } - \min _ { \beta \in \Omega ^ { + } } e ^ { f _ { \beta } ( \mathbf { x } + \mathbf { r } ) } \right) \\ & + \lambda _ { 2 } \max \left( 0 , \max _ { \alpha \in \Omega ^ { - } } e ^ { f _ { \alpha } ( \mathbf { x } + \mathbf { r } ) } - \min _ { \gamma \in \Omega ^ { \circ } } e ^ { f _ { \gamma } ( \mathbf { x } + \mathbf { r } ) } \right) \\ & + \lambda _ { 3 } \max \left( 0 , \max _ { \gamma \in \Omega ^ { \circ } } e ^ { f _ { \gamma } ( \mathbf { x } + \mathbf { r } ) } - \min _ { \beta \in \Omega ^ { + } } e ^ { f _ { \beta } ( \mathbf { x } + \mathbf { r } ) } \right) \end{aligned}

3.2.2 Rank II Attack

虽然在一定程度上,Rank I Attack 考虑了标签相关性,但在某些情况下可能不够敏感。例如,如果我们有一个带有基本真值标签[-1,1,1] 和目标攻击标签[-1,1,1]>,预测器F预测的标签概率可以是[0.01,0,98,0.99]。在这种情况下,上式排名损失为0,梯度直接为0,更新停止。因此在上述基础上再加一些限制,使得原来为1,攻击之后为-1的集合A1A_1得分小于原来为-1,攻击之后还为-1的集合 B1B_ {-1}

fα1(x+r)fα2(x+r),α1A1,α2B1fβ1(x+r)fβ2(x+r),β1B1,β2A1 \begin{array} { l l } { f _ { \alpha _ { 1 } } ( \mathbf { x } + \mathbf { r } ) \leq f _ { \alpha _ { 2 } } ( \mathbf { x } + \mathbf { r } ) , } & { \forall \alpha _ { 1 } \in A _ { 1 } , \alpha _ { 2 } \in B _ { - 1 } } \\ { f _ { \beta _ { 1 } } ( \mathbf { x } + \mathbf { r } ) \leq f _ { \beta _ { 2 } } ( \mathbf { x } + \mathbf { r } ) , } & { \forall \beta _ { 1 } \in B _ { 1 } , \beta _ { 2 } \in A _ { - 1 } } \end{array}
更新之后的优化函数,在Rank I Attack基础上加上2项
L2=L1+λ4max(0,maxα1A1efα(x+r)minα2B1efβ(x+r))+λ5max(0,maxβ1B1efβ(x+r)minβ2A1efβ(x+r)) \begin{aligned} \mathcal { L } _ { 2 } = \mathcal { L } _ { 1 } & + \lambda _ { 4 } \max \left( 0 , \max _ { \alpha _ { 1 } \in A _ { 1 } } e ^ { f _ { \alpha } ( \mathbf { x } + \mathbf { r } ) } - \min _ { \alpha _ { 2 } \in B _ { - 1 } } e ^ { f _ { \beta } ( \mathbf { x } + \mathbf { r } ) } \right) \\ & + \lambda _ { 5 } \max \left( 0 , \max _ { \beta _ { 1 } \in B _ { 1 } } e ^ { f _ { \beta } ( \mathbf { x } + \mathbf { r } ) } - \min _ { \beta _ { 2 } \in A _ { - 1 } } e ^ { f _ { \beta } ( \mathbf { x } + \mathbf { r } ) } \right) \end{aligned}

3.3 Classification-targeted Framework 和 Ranking-targeted Framework

两个框架彼此高度关联。比较方程式(2)和(9),如果我们用硬分类阈值替换软阈值 fγ(x+r)f _ { \gamma } ( \mathbf { x } + \mathbf { r } ),则这两类框架彼此等效。这意味着如果我们不知道部分黑盒下的特定分类阈值,则 II 型框架可能会更通用。相比之下,类型 I 框架直接考虑了分类阈值。因此,如果我们对多标签分类算法进行纯白盒攻击,并且在 II 型框架中不使用硬阈值,则I型框架可能会获得更好的性能,因为它考虑了更准确的分类阈值。基于这两种类型的框架。