对抗样本攻击方法总结

  • Post author:
  • Post category:其他


本文总结了近年提出的各种对抗样本的攻击方法。对抗样本的攻击主要分为无特定目标攻击(即只要求分类器对对抗样本错误分类,而不特定要求错误分类到哪一类)和特定目标攻击(即要求分类器将对抗样本错误分类到特定类别)。

本文先介绍无特定目标攻击的目标函数,然后介绍FGSM、BIM、StepLL、MI-FGSM、DIM、TIM、SI-NI方法。



攻击目标函数





arg

max

x

a

d

v

J

(

x

a

d

v

,

y

)

 s.t. 

x

a

d

v

x

real 

ϵ

\begin{aligned} &\underset{\boldsymbol{x}^{a d v}}{\arg \max } J\left(\boldsymbol{x}^{a d v}, y\right)\\ \text { s.t. }&\left\|\boldsymbol{x}^{a d v}-\boldsymbol{x}^{\text {real }}\right\|_{\infty} \leq \epsilon \end{aligned}























s.t.









































x













a


d


v


















ar

g





max



















J






(






x













a


d


v










,




y



)
























































x













a


d


v




















x














real





















































































ϵ
























其中



x

r

e

a

l

\boldsymbol{x}^{real}









x













r


e


a


l













为输入图像,



x

a

d

v

\boldsymbol{x}^{a d v}









x













a


d


v













为对抗样本图像,



y

y






y





为输入图像的真实类别标签。

对抗样本生成时候的约束是其于真实样本的



L

L_{\infty}







L


































距离小于



ϵ

\epsilon






ϵ




函数



J

J






J





一般为交叉熵损失:





J

(

x

a

d

v

,

y

)

=

i

=

1

N

y

i

l

o

g

(

C

(

x

a

d

v

)

i

)

J\left(\boldsymbol{x}^{a d v}, y\right)=-\sum_{i=1}^{N}y_ilog(C(\boldsymbol{x}^{a d v})_i)






J






(






x













a


d


v










,




y



)






=






















i


=


1



















N





















y










i


















l


o


g


(


C


(





x













a


d


v











)










i


















)







其中



N

N






N





表示分类的类别数,



y

y






y





为one-hot的输入图像



x

r

e

a

l

\boldsymbol{x}^{real}









x













r


e


a


l













的类别标签,



C

C






C





为分类器



FGSM(Fast Gradient Sign Method)

来源:Explaining and harnessing adversarial examples [2015ICLR]

公式:





x

a

d

v

=

x

r

e

a

l

+

ϵ

sign

(

x

J

(

x

r

e

a

l

,

y

)

)

\boldsymbol{x}^{a d v}=\boldsymbol{x}^{r e a l}+\epsilon \cdot \operatorname{sign}\left(\nabla_{\boldsymbol{x}} J\left(\boldsymbol{x}^{r e a l}, y\right)\right)









x













a


d


v












=











x













r


e


a


l












+








ϵ














s


i


g


n







(


















x





















J






(






x













r


e


a


l










,




y



)





)









本文提出的是单步方法,直接将损失函数



J

J






J





对输入图像



x

x






x





求导,再根据导数的符号得到每个像素的扰动方向,并乘以扰动大小。



BIM(Basic Iterative Method)

来源:Adversarial examples in the physical world [2016]

公式:





x

t

+

1

a

d

v

=

x

t

a

d

v

+

α

sign

(

x

J

(

x

t

a

d

v

,

y

)

)

x

0

a

d

v

=

x

r

e

a

l

\begin{aligned} \boldsymbol{x}_{t+1}^{a d v} &=\boldsymbol{x}_{t}^{a d v}+\alpha \cdot \operatorname{sign}\left(\nabla_{\boldsymbol{x}} J\left(\boldsymbol{x}_{t}^{a d v}, y\right)\right) \\ \boldsymbol{x}_{0}^{a d v} &=\boldsymbol{x}^{r e a l} \end{aligned}



















x













t


+


1










a


d


v




























x













0










a


d


v














































=







x













t










a


d


v





















+




α










s


i


g


n







(


















x





















J






(






x













t










a


d


v



















,




y



)





)














=







x













r


e


a


l
































本文提出的是迭代的攻击方法,一共迭代攻击



T

T






T





步,每次的攻击步长为



α

=

ϵ

/

T

\alpha=\epsilon / T






α




=








ϵ


/


T






StepLL(Single-Step Least-Likely Class Method)

来源:Adversarial Machine Learning at Scale [2017ICLR]

公式:





x

a

d

v

=

x

r

e

a

l

ϵ

sign

(

x

J

(

x

r

e

a

l

,

y

L

L

)

)

y

L

L

=

arg min

C

(

x

r

e

a

l

)

\begin{aligned} &\boldsymbol{x}^{a d v}=\boldsymbol{x}^{r e a l}-\epsilon \cdot \operatorname{sign}\left(\nabla_{\boldsymbol{x}} J\left(\boldsymbol{x}^{r e a l}, y_{LL}\right)\right)\\ &y_{LL}=\argmin{C(x^{real})} \end{aligned}


















































x













a


d


v












=







x













r


e


a


l

















ϵ










s


i


g


n







(


















x





















J






(






x













r


e


a


l










,





y











L


L




















)





)













y











L


L





















=






a


r


g




m


i


n







C


(



x











r


e


a


l










)

























其中



C

C






C





为分类器

本文提出的也是单步的攻击方法,与FGSM方法中增大图像与真实标签之间的距离不同,该方法是约束图像与分类概率最低的类别之间的距离



MI-FGSM(Momentum Iterative Fast Gradient Sign Method)

来源:Boosting adversarial attacks with momentum [2018CVPR]

公式:





g

t

+

1

=

μ

g

t

+

x

J

(

x

t

a

d

v

,

y

)

x

J

(

x

t

a

d

v

,

y

)

1

x

t

+

1

a

d

v

=

x

t

a

d

v

+

α

sign

(

g

t

+

1

)

\begin{aligned} &\boldsymbol{g}_{t+1}=\mu \cdot \boldsymbol{g}_{t}+\frac{\nabla_{\boldsymbol{x}} J\left(\boldsymbol{x}_{t}^{a d v}, y\right)}{\left\|\nabla_{\boldsymbol{x}} J\left(\boldsymbol{x}_{t}^{a d v}, y\right)\right\|_{1}} \\ &\boldsymbol{x}_{t+1}^{a d v}=\boldsymbol{x}_{t}^{a d v}+\alpha \cdot \operatorname{sign}\left(\boldsymbol{g}_{t+1}\right) \end{aligned}


















































g













t


+


1





















=




μ












g













t





















+





































































x





















J






(






x













t










a


d


v



















,




y



)



















































1














































x





















J






(






x













t










a


d


v



















,




y



)

































x













t


+


1










a


d


v





















=







x













t










a


d


v





















+




α










s


i


g


n






(





g













t


+


1



















)























其中



μ

\mu






μ





为衰退因子,论文中取值为1

本文提出的方法在BIM方法的基础上,使用一个动量来记录前面迭代时的优化方向,再结合当前步的导数,从而确定当前步的最终优化方向。该方法可以提高黑盒攻击时的迁移性



DIM(Diverse Inputs Method)

来源:Improving transferability of adversarial examples with input diversity [2018]

该方法提出对输入的真实图像进行随机变换(以一定的概率进行resize、padding等操作),然后再作为分类器的输入,并进行后续的求导操作。该方法可以与MI-FGSM等方法结合,同样可以提高攻击的迁移性



TIM(Translation-Invariant Method)

来源:Evading Defenses to Transferable Adversarial Examples by Translation-Invariant Attacks [2019CVPR]

公式:

TI-FGSM:





x

a

d

v

=

x

r

e

a

l

+

ϵ

sign

(

W

x

J

(

x

r

e

a

l

,

y

)

)

x^{a d v}=x^{r e a l}+\epsilon \cdot \operatorname{sign}\left(W * \nabla_{x} J\left(x^{r e a l}, y\right)\right)







x











a


d


v












=









x











r


e


a


l












+








ϵ














s


i


g


n







(



W






















x



















J






(




x











r


e


a


l










,




y



)





)







TI-BIM:





x

t

+

1

a

d

v

=

x

t

a

d

v

+

α

sign

(

W

x

J

(

x

t

a

d

v

,

y

)

)

x_{t+1}^{a d v}=x_{t}^{a d v}+\alpha \cdot \operatorname{sign}\left(W * \nabla_{x} J\left(x_{t}^{a d v}, y\right)\right)







x











t


+


1










a


d


v





















=









x











t










a


d


v





















+








α














s


i


g


n







(



W






















x



















J






(




x











t










a


d


v



















,




y



)





)







其中



W

W






W





是高斯卷积核

本文提出的方法,在正常将交叉熵函数对输入求导后,再经过一个高斯核的卷积变换,将得到的值再作为图像的更新方向进行修改

该方法也同样可以和MI-FGSM和DIM等方法进行结合



SI-NI

来源:Nesterov Accelerated Gradient and Scale Invariance for Adversarial Attacks [2020ICLR]

本文在MI-FGSM的基础上提出了两点改进



NI-FGSM(Nesterov Iterative Fast Gradient Sign Method)





x

t

n

e

s

=

x

t

a

d

v

+

α

μ

g

t

g

t

+

1

=

μ

g

t

+

x

J

(

x

t

n

e

s

,

y

)

x

J

(

x

t

n

e

s

,

y

)

1

x

t

+

1

a

d

v

=

x

t

a

d

v

+

α

sign

(

g

t

+

1

)

\begin{aligned} &\boldsymbol{x}_{t}^{nes}=\boldsymbol{x}_{t}^{a d v} + \alpha \cdot \mu \cdot \boldsymbol{g}_{t}\\ &\boldsymbol{g}_{t+1}=\mu \cdot \boldsymbol{g}_{t}+\frac{\nabla_{\boldsymbol{x}} J\left(\boldsymbol{x}_{t}^{nes}, y\right)}{\left\|\nabla_{\boldsymbol{x}} J\left(\boldsymbol{x}_{t}^{nes}, y\right)\right\|_{1}} \\ &\boldsymbol{x}_{t+1}^{a d v}=\boldsymbol{x}_{t}^{a d v}+\alpha \cdot \operatorname{sign}\left(\boldsymbol{g}_{t+1}\right) \end{aligned}
























































x













t










n


e


s





















=







x













t










a


d


v





















+




α









μ












g













t






























g













t


+


1





















=




μ












g













t





















+



































x





















J





(





x













t










n


e


s



















,




y


)
















1














































x





















J





(





x













t










n


e


s



















,




y


)
































x













t


+


1










a


d


v





















=







x













t










a


d


v





















+




α










s


i


g


n






(





g













t


+


1



















)

























与MI-FGSM相比,NI-FGSM在每次迭代前,在前面累积梯度方向先再前进一步,然后再进行更新



SIM(Scale-Invariant attack Method)

该方法首先将输入图像在数值上进行不同尺度的缩放





S

i

(

x

)

=

x

2

i

S_{i}(x)=\frac{x}{2^i}







S











i



















(


x


)




=




















2










i





















x























再对不同数值缩放过的图像分别经过分类器,得到类别概率后计算交叉熵,再将各个模型的损失函数计算均值





arg

max

x

a

d

v

1

m

i

=

0

m

J

(

S

i

(

x

a

d

v

)

,

y

)

 s.t. 

x

a

d

v

x

r

e

a

l

ϵ

\begin{array}{c} \underset{x^{a d v}}{\arg \max } \frac{1}{m} \sum_{i=0}^{m} J\left(S_{i}\left(x^{a d v}\right), y\right) \\ \text { s.t. }\left\|x^{a d v}-x^{real}\right\|_{\infty} \leq \epsilon \end{array}





























x











a


d


v


















ar

g





max































m
















1




































i


=


0










m





















J






(




S











i























(




x











a


d


v











)






,




y



)











s.t.













































x











a


d


v


















x











r


e


a


l




















































































ϵ
























论文中



m

m






m





的取值为4,即将[0-1]范围内的输入图像,最小缩放至[0-1/16]范围,以提高对抗攻击在黑盒攻击时的迁移性



版权声明:本文为huitailangyz原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。