1 引言
?前一段時間解讀了一篇發表于CVPR2021的一篇文章《Improving the Transferability of Adversarial Samples with AdversarialTransformations》,解讀文章的鏈接為《CVPR2021:對抗變換提高對抗樣本的可遷移性》,該論文的創新點是首先對抗訓練出一個對抗變換網路,該對抗變換網路的核心作用是用來抑制對抗樣本攻擊性,然后借助對抗變換網路生成對抗樣本,最終生成的對抗樣本在攻擊性和可遷移性的方面能力得到了顯著的提高,由此啟發一個想法油然而生,如果利用論文中方法生成對抗樣本對分類器模型進行對抗訓練,那么是不是會使分類器模型的更加魯棒呢?帶著這個問題展開本文章的理論分析和實驗驗證,
2 方法描述
?令
x
∈
R
n
×
1
x\in\mathbb{R}^{n\times 1}
x∈Rn×1表示干凈的資料樣本,其對應的真實標簽為
y
∈
{
1
,
?
?
,
k
}
y\in\{1,\cdots,k\}
y∈{1,?,k};帶有引數
θ
\theta
θ的分類器網路為
f
θ
(
x
)
f_{\theta}(x)
fθ?(x),其映射為
f
θ
:
R
n
×
1
→
R
k
×
1
f_\theta:\mathbb{R}^{n\times1}\rightarrow\mathbb{R}^{k\times1}
fθ?:Rn×1→Rk×1;帶有引數
φ
\varphi
φ的對抗變換網路
g
φ
(
x
)
g_{\varphi}(x)
gφ?(x),其映射為
g
φ
:
R
n
×
1
→
R
n
×
1
g_{\varphi}:\mathbb{R}^{n\times 1}\rightarrow \mathbb{R}^{n\times 1}
gφ?:Rn×1→Rn×1;損失函式為
J
(
?
,
?
)
J(\cdot,\cdot)
J(?,?),生成對抗樣本
x
′
∈
R
n
×
1
x^{\prime}\in \mathbb{R}^{\ n\times 1}
x′∈R n×1一般的優化形式為
max
?
x
′
J
(
f
θ
(
x
′
)
,
y
)
s
.
t
.
∥
x
′
?
x
∥
∞
≤
ε
\begin{array}{rl}\max\limits_{x^{\prime}}& J(f_{\theta}(x^{\prime}),y)\\\mathrm{s.t.} & \|x^{\prime}-x\|_{\infty}\le \varepsilon\end{array}
x′max?s.t.?J(fθ?(x′),y)∥x′?x∥∞?≤ε?其中
∥
?
∥
∞
\|\cdot\|_\infty
∥?∥∞?表示的是無窮范數,
ε
\varepsilon
ε表示的是對抗樣本
x
′
x^{\prime}
x′和干凈樣本
x
x
x之間的最大擾動距離,
?當前常用樣本資料變換的方式比較固定,比如翻轉,縮放,顏色變換等,對抗變換網路的主要目的增強樣本變換多樣性,從而抑制對抗擾動的攻擊性,在生成對抗樣本的時候,則需要克服對抗變換網路削弱對抗攻擊性的條件下,依然能夠使得分類器模型分類出錯,對抗變換網路訓練與對抗樣本生成的對抗目標可以用如下
min
?
\min
min-
max
?
\max
max公式給出
min
?
φ
max
?
x
′
J
(
f
θ
(
g
φ
(
x
′
)
)
,
y
)
s
.
t
.
{
∥
x
′
?
x
∥
∞
≤
ε
arg
?
max
?
f
θ
(
g
φ
(
x
)
)
=
y
\begin{array}{rl}\min\limits_{\varphi}\max\limits_{x^{\prime}}&J(f_{\theta}(g_{\varphi}(x^\prime)),y)\\\mathrm{s.t.}&\left\{\begin{aligned}\|&x^{\prime}-x\|_{\infty}\le\varepsilon\\&\arg\max f_{\theta}(g_{\varphi}(x))=y\end{aligned}\right.\end{array}
φmin?x′max?s.t.?J(fθ?(gφ?(x′)),y){∥?x′?x∥∞?≤εargmaxfθ?(gφ?(x))=y??其中對抗變換網路
g
φ
(
?
)
g_{\varphi}(\cdot)
gφ?(?)可以是
C
N
N
\mathrm{CNN}
CNN網路,也可以是
V
i
s
i
o
n
T
r
a
n
s
f
o
r
m
e
r
\mathrm{Vision \text{ } Transformer}
Vision Transformer,在以下的實驗方法中會著重對這兩種網路架構進行探討,
?借助對抗網路
g
φ
(
?
)
g_{\varphi}(\cdot)
gφ?(?)生成的對抗樣本
x
′
x^{\prime}
x′對分類器模型
f
θ
f_{\theta}
fθ?進行對抗訓練,此時對抗訓練的目標可以由雙
min
?
\min
min-
max
?
\max
max進行描述
min
?
θ
max
?
x
′
min
?
φ
max
?
x
′
J
(
f
θ
(
g
φ
(
x
′
)
)
,
y
)
s
.
t
.
{
∥
x
′
?
x
∥
∞
≤
ε
arg
?
max
?
f
θ
(
g
φ
(
x
)
)
=
y
\begin{array}{rl}\min\limits_{\theta}\max\limits_{x^{\prime}}\min\limits_{\varphi}\max\limits_{x^{\prime}}&J(f_{\theta}(g_{\varphi}(x^\prime)),y)\\\mathrm{s.t.}&\left\{\begin{aligned}\|&x^{\prime}-x\|_{\infty}\le\varepsilon\\&\arg\max f_{\theta}(g_{\varphi}(x))=y\end{aligned}\right.\end{array}
θmin?x′max?φmin?x′max?s.t.?J(fθ?(gφ?(x′)),y){∥?x′?x∥∞?≤εargmaxfθ?(gφ?(x))=y??利用對抗變換網路對分類器網路進行訓練的雙
min
?
\min
min-
max
?
\max
max對抗訓練的原理示意圖如下所示

?雙
min
?
\min
min-
max
?
\max
max對抗訓練有兩種訓練方式,一種方法就是分階段進行對抗訓練,即將雙
min
?
\min
min-
max
?
\max
max對抗訓任務分解成兩個
min
?
\min
min-
max
?
\max
max對抗訓練任務,另一種方法就是直接整體對雙
min
?
\min
min-
max
?
\max
max任務進行對抗訓練,
- 雙
min
?
\min
min-
max
?
\max
max分階段對抗訓練:第一階段進行內部最小最大對抗訓練,主要目的訓練對抗變換網路
g
φ
(
?
)
g_{\varphi}(\cdot)
gφ?(?),具體的最小最大目標函式為
min
?
φ
max
?
x
′
J
(
f
θ
(
g
φ
(
x
′
)
)
,
y
)
?
φ
?
\min\limits_{\varphi}\max\limits_{x^{\prime}}J(f_{\theta}(g_{\varphi}(x^{\prime})),y)\longrightarrow \varphi^*
φmin?x′max?J(fθ?(gφ?(x′)),y)?φ?
其中 φ ? \varphi^{*} φ?表示的是對抗變換網路引數 φ \varphi φ訓練成熟之后的引數,對以上最小最大目標函式與再進行拆解可知,當借助于對抗變換網路生成對抗樣本,另外我們也需要使得對抗樣本對原始的分類器模型產生攻擊效果,此時最大化損失函式 L a t t a c k = J ( f θ ( g φ ( x ′ ) ) , y ) + γ J ( f θ ( x ′ ) , y ) L_{attack}=J(f_\theta(g_{\varphi}(x^{\prime})),y)+\gamma J(f_{ \theta}(x^{\prime}),y) Lattack?=J(fθ?(gφ?(x′)),y)+γJ(fθ?(x′),y)當訓練對抗變換網路引數 φ \varphi φ時,我們希望對抗變換網路不僅可以抑制對抗樣本的攻擊性,而且盡可能保留干凈樣本的特征,此時最小化損失函式 L t = J ( f θ ( g φ ( x ′ ) ) , y ) + α 1 J ( f θ ( g φ ( x ) ) , y ) + α 2 ∥ x ′ ? g φ ( x ′ ) ∥ 2 L_{t}=J(f_{\theta}(g_{\varphi}(x^{\prime})),y)+\alpha_1 J(f_{\theta}(g_{\varphi}(x)),y)+\alpha_2 \|x^{\prime}-g_{\varphi}(x^{\prime})\|^2 Lt?=J(fθ?(gφ?(x′)),y)+α1?J(fθ?(gφ?(x)),y)+α2?∥x′?gφ?(x′)∥2階段一相關的演算法流程圖如下所示

第二階段進行外部最小最大對抗訓練,其主要目的是訓練分類器網路引數 θ \theta θ,具體的極大極小目標函式為 min ? θ max ? x ′ J ( f θ ( g φ ? ( x ′ ) ) , y ) ? θ ? \min\limits_{\theta}\max\limits_{x^{\prime}}J(f_{\theta}(g_{\varphi^{*}}(x^{\prime})),y)\longrightarrow \theta^{*} θmin?x′max?J(fθ?(gφ??(x′)),y)?θ?其中 θ ? \theta^{*} θ?表示的分類器模型網路引數 θ \theta θ進行對抗訓練成熟之后的引數,此時最大化生成對抗樣本的損失函式即為上面的提到 L a t t a c k L_{attack} Lattack?,最小化分類器損失函式即是正常的交叉熵函式 L c L_{c} Lc?,階段二相關的演算法流程圖如下所示

- 雙
min
?
\min
min-
max
?
\max
max整體進行對抗訓練:一次對抗訓練的程序為先生成對抗樣本,然后訓練對抗變換網路,再生成對抗樣本,最后訓練分類器模型引數
θ
\theta
θ,,具體的目標函式為
min
?
θ
max
?
x
′
min
?
φ
max
?
x
′
J
(
f
θ
(
g
φ
)
,
y
)
?
φ
?
,
θ
?
\min\limits_{\theta}\max\limits_{x^{\prime}}\min\limits_{\varphi}\max\limits_{x^{\prime}}J(f_{\theta}(g_{\varphi}),y)\longrightarrow \varphi^{*}, \theta^{*}
θmin?x′max?φmin?x′max?J(fθ?(gφ?),y)?φ?,θ?其中
φ
?
\varphi^{*}
φ?和
θ
?
\theta^{*}
θ?為訓練成熟的引數, 將分階段對抗訓練的損失函式
L
a
t
t
a
c
k
L_{attack}
Lattack?,
L
t
L_{t}
Lt?和
L
c
L_c
Lc?融合在一次對抗訓練中,整體對抗訓練的演算法流程圖如下所示

3 實驗方法
?選取的網路結構是
V
G
G
19
\mathrm{VGG19}
VGG19,選取的資料集是
C
K
+
\mathrm{CK+}
CK+,學習率為
0.0002
0.0002
0.0002,訓練的
e
p
o
c
h
\mathrm{epoch}
epoch是
100
100
100,生成對抗攻擊的演算法中的引數中
γ
\gamma
γ取值為
1
1
1,訓練對抗變換網路超引數中
α
1
\alpha_1
α1?為
1
1
1,
α
2
\alpha_2
α2?取值為
0.0001
0.0001
0.0001,選取的
b
a
s
e
l
i
n
e
\mathrm{baseline}
baseline演算法有正常訓練,
p
g
d
\mathrm{pgd}
pgd對抗訓練,
f
a
s
t
\mathrm{fast}
fast對抗訓練,具體的實驗結果如下表所示,本文提出的兩種方法對抗訓練的效果并不是很好,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/417159.html
標籤:AI
上一篇:對比集合Set | 詳解Pandas的DataFrame如何做交集、并集、差集與對稱差集
下一篇:2022年人工智能5大發展趨勢
