0


利用对抗变化网络进行对抗训练

1 引言

 前一段时间解读了一篇发表于CVPR2021的一篇文章《Improving the Transferability of Adversarial Samples with AdversarialTransformations》,解读文章的链接为《CVPR2021:对抗变换提高对抗样本的可迁移性》。该论文的创新点是首先对抗训练出一个对抗变换网络,该对抗变换网络的核心作用是用来抑制对抗样本攻击性,然后借助对抗变换网络生成对抗样本,最终生成的对抗样本在攻击性和可迁移性的方面能力得到了显著的提高。由此启发一个想法油然而生,如果利用论文中方法生成对抗样本对分类器模型进行对抗训练,那么是不是会使分类器模型的更加鲁棒呢?带着这个问题展开本文章的理论分析和实验验证。

2 方法描述

  1. x
  2. R
  3. n
  4. ×
  5. 1
  6. x\in\mathbb{R}^{n\times 1}
  7. xRn×1表示干净的数据样本,其对应的真实标签为
  8. y
  9. {
  10. 1
  11. ,
  12. ,
  13. k
  14. }
  15. y\in\{1,\cdots,k\}
  16. y∈{1,⋯,k};带有参数
  17. θ
  18. \theta
  19. θ的分类器网络为
  20. f
  21. θ
  22. (
  23. x
  24. )
  25. f_{\theta}(x)
  26. fθ​(x),其映射为
  27. f
  28. θ
  29. :
  30. R
  31. n
  32. ×
  33. 1
  34. R
  35. k
  36. ×
  37. 1
  38. f_\theta:\mathbb{R}^{n\times1}\rightarrow\mathbb{R}^{k\times1}
  39. fθ​:Rn×1Rk×1;带有参数
  40. φ
  41. \varphi
  42. φ的对抗变换网络
  43. g
  44. φ
  45. (
  46. x
  47. )
  48. g_{\varphi}(x)
  49. gφ​(x),其映射为
  50. g
  51. φ
  52. :
  53. R
  54. n
  55. ×
  56. 1
  57. R
  58. n
  59. ×
  60. 1
  61. g_{\varphi}:\mathbb{R}^{n\times 1}\rightarrow \mathbb{R}^{n\times 1}
  62. gφ​:Rn×1Rn×1;损失函数为
  63. J
  64. (
  65. ,
  66. )
  67. J(\cdot,\cdot)
  68. J(⋅,⋅)。生成对抗样本
  69. x
  70. R
  71. n
  72. ×
  73. 1
  74. x^{\prime}\in \mathbb{R}^{\ n\times 1}
  75. x′∈R n×1一般的优化形式为
  76. max
  77. x
  78. J
  79. (
  80. f
  81. θ
  82. (
  83. x
  84. )
  85. ,
  86. y
  87. )
  88. s
  89. .
  90. t
  91. .
  92. x
  93. x
  94. ε
  95. \begin{array}{rl}\max\limits_{x^{\prime}}& J(f_{\theta}(x^{\prime}),y)\\\mathrm{s.t.} & \|x^{\prime}-x\|_{\infty}\le \varepsilon\end{array}
  96. xmaxs.t.​J(fθ​(x′),y)∥x′−x∥∞​≤ε​其中
  97. \|\cdot\|_\infty
  98. ∥⋅∥∞​表示的是无穷范数,
  99. ε
  100. \varepsilon
  101. ε表示的是对抗样本
  102. x
  103. x^{\prime}
  104. x′和干净样本
  105. x
  106. x
  107. x之间的最大扰动距离。

当前常用样本数据变换的方式比较固定,比如翻转,缩放,颜色变换等。对抗变换网络的主要目的增强样本变换多样性,从而抑制对抗扰动的攻击性。在生成对抗样本的时候,则需要克服对抗变换网络削弱对抗攻击性的条件下,依然能够使得分类器模型分类出错。对抗变换网络训练与对抗样本生成的对抗目标可以用如下

  1. min
  2. \min
  3. min-
  4. max
  5. \max
  6. max公式给出
  7. min
  8. φ
  9. max
  10. x
  11. J
  12. (
  13. f
  14. θ
  15. (
  16. g
  17. φ
  18. (
  19. x
  20. )
  21. )
  22. ,
  23. y
  24. )
  25. s
  26. .
  27. t
  28. .
  29. {
  30. x
  31. x
  32. ε
  33. arg
  34. max
  35. f
  36. θ
  37. (
  38. g
  39. φ
  40. (
  41. x
  42. )
  43. )
  44. =
  45. y
  46. \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}
  47. φminxmaxs.t.​J(fθ​(gφ​(x′)),y){∥​x′−x∥∞​≤εargmaxfθ​(gφ​(x))=y​​其中对抗变换网络
  48. g
  49. φ
  50. (
  51. )
  52. g_{\varphi}(\cdot)
  53. gφ​(⋅)可以是
  54. C
  55. N
  56. N
  57. \mathrm{CNN}
  58. CNN网络,也可以是
  59. V
  60. i
  61. s
  62. i
  63. o
  64. n
  65. T
  66. r
  67. a
  68. n
  69. s
  70. f
  71. o
  72. r
  73. m
  74. e
  75. r
  76. \mathrm{Vision \text{ } Transformer}
  77. Vision Transformer,在以下的实验方法中会着重对这两种网络架构进行探讨。

 借助对抗网络

  1. g
  2. φ
  3. (
  4. )
  5. g_{\varphi}(\cdot)
  6. gφ​(⋅)生成的对抗样本
  7. x
  8. x^{\prime}
  9. x′对分类器模型
  10. f
  11. θ
  12. f_{\theta}
  13. fθ​进行对抗训练。此时对抗训练的目标可以由双
  14. min
  15. \min
  16. min-
  17. max
  18. \max
  19. max进行描述
  20. min
  21. θ
  22. max
  23. x
  24. min
  25. φ
  26. max
  27. x
  28. J
  29. (
  30. f
  31. θ
  32. (
  33. g
  34. φ
  35. (
  36. x
  37. )
  38. )
  39. ,
  40. y
  41. )
  42. s
  43. .
  44. t
  45. .
  46. {
  47. x
  48. x
  49. ε
  50. arg
  51. max
  52. f
  53. θ
  54. (
  55. g
  56. φ
  57. (
  58. x
  59. )
  60. )
  61. =
  62. y
  63. \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}
  64. θminxmax​φminxmaxs.t.​J(fθ​(gφ​(x′)),y){∥​x′−x∥∞​≤εargmaxfθ​(gφ​(x))=y​​利用对抗变换网络对分类器网络进行训练的双
  65. min
  66. \min
  67. min-
  68. max
  69. \max
  70. max对抗训练的原理示意图如下所示


  1. min
  2. \min
  3. min-
  4. max
  5. \max
  6. max对抗训练有两种训练方式。一种方法就是分阶段进行对抗训练,即将双
  7. min
  8. \min
  9. min-
  10. max
  11. \max
  12. max对抗训任务分解成两个
  13. min
  14. \min
  15. min-
  16. max
  17. \max
  18. max对抗训练任务。另一种方法就是直接整体对双
  19. min
  20. \min
  21. min-
  22. max
  23. \max
  24. 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 实验方法

选取的网络结构是

  1. V
  2. G
  3. G
  4. 19
  5. \mathrm{VGG19}
  6. VGG19,选取的数据集是
  7. C
  8. K
  9. +
  10. \mathrm{CK+}
  11. CK+,学习率为
  12. 0.0002
  13. 0.0002
  14. 0.0002,训练的
  15. e
  16. p
  17. o
  18. c
  19. h
  20. \mathrm{epoch}
  21. epoch
  22. 100
  23. 100
  24. 100。生成对抗攻击的算法中的参数中
  25. γ
  26. \gamma
  27. γ取值为
  28. 1
  29. 1
  30. 1。训练对抗变换网络超参数中
  31. α
  32. 1
  33. \alpha_1
  34. α1​为
  35. 1
  36. 1
  37. 1
  38. α
  39. 2
  40. \alpha_2
  41. α2​取值为
  42. 0.0001
  43. 0.0001
  44. 0.0001。选取的
  45. b
  46. a
  47. s
  48. e
  49. l
  50. i
  51. n
  52. e
  53. \mathrm{baseline}
  54. baseline算法有正常训练,
  55. p
  56. g
  57. d
  58. \mathrm{pgd}
  59. pgd对抗训练,
  60. f
  61. a
  62. s
  63. t
  64. \mathrm{fast}
  65. fast对抗训练。具体的实验结果如下表所示,本文提出的两种方法对抗训练的效果并不是很好。


本文转载自: https://blog.csdn.net/qq_38406029/article/details/122518307
版权归原作者 鬼道2022 所有, 如有侵权,请联系我们删除。

“利用对抗变化网络进行对抗训练”的评论:

还没有评论