1. 防御算法介绍¶
1.1. EAT加固算法¶
算法介绍¶
EAT的全称是Ensemble adversarial training (集成对抗训练),具体是指使用多种方式生成对抗样本对模型进行对抗训练的方法,通过使用在其他静态预训练模型上产生的对抗样本来扩充模型的训练数据,能有效应对对抗样本的可迁移攻击。
与之相关的基础方法是对抗训练,该方法旨在从随机初始化的权重中训练一个鲁棒的模型,其训练集由真实数据集和加入了对抗扰动的数据集组成,因此叫做对抗训练。其表达式如下:
其中J(θ, x, y)是模型对于普通样本的损失函数,作者通过 x + ε · sign(▽x J(θ,x,y))来构造对抗样本,并要求模型能正确对其分类。
参数说明¶
参数名 | 参数含义 |
---|---|
dataset | 数据集类型 |
num_epochs | 对抗训练迭代的次数 |
epsilon | 样本扰动的偏移值 |
learn_rate | 训练的学习率 |
alpha | 参与对抗样本一次的比例 |
train_externals | 是否使用外部预训练模型 |
1.2. NAT加固算法¶
算法介绍¶
New adversarial training (NAT)
对抗训练(adversarial training)是增强神经网络鲁棒性的重要方式。在对抗训练的过程中,样本会被混合一些微小的扰动(改变很小,但是很可能造成误分类),然后使神经网络适应这种改变,从而对对抗样本具有鲁棒性。
对抗训练的一般性原理,对抗训练可以概括为如下的最大最小化公式:
内层(中括号内)是一个最大化,其中X表示样本的输入表示,δ表示叠加在输入上的扰动,θ是神经网络函数,y是样本的标签,L(fθ(X + δ), y)则表示在样本X上叠加一个扰动δ,再经过神经网络函数,与标签y比较得到的损失。 maxL是优化目标,即寻找使损失函数最大的扰动,简单来讲就是添加的扰动要尽量让神经网络迷惑。
外层就是对神经网络进行优化的最小化公式,即当扰动固定的情况下,我们训练神经网络模型使得在训练数据上的损失最小,也就是说,使模型具有一定的鲁棒性能够适应这种扰动。
这里过程中生成的对抗样本采用RLLC的方式生成,其他的过程和OAT的类似。
参数说明¶
参数名 | 参数含义 |
---|---|
num_epochs | 对抗训练迭代的次数,该数值越大,时间开销越大 |
clip_eps_min | 随机样本生成的下限 |
clip_eps_max | 随机样本生成的上限 |
adv_radio | 求loss的时候对抗样本占比 |
eps_mu | 随机样本分布的中心 |
eps_sigma | 随机样本分布的标准差 |
1.3. OAT加固算法¶
算法介绍¶
Original adversarial training (OAT)
对抗训练(adversarial training)是增强神经网络鲁棒性的重要方式。在对抗训练的过程中,样本会被混合一些微小的扰动(改变很小,但是很可能造成误分类),然后使神经网络适应这种改变,从而对对抗样本具有鲁棒性。
对抗训练的一般性原理,对抗训练可以概括为如下的最大最小化公式:
内层(中括号内)是一个最大化,其中X表示样本的输入表示,δ表示叠加在输入上的扰动,θ是神经网络函数,y是样本的标签,L(fθ(X + δ), y)则表示在样本X上叠加一个扰动δ,再经过神经网络函数,与标签y比较得到的损失。 maxL是优化目标,即寻找使损失函数最大的扰动,简单来讲就是添加的扰动要尽量让神经网络迷惑。
外层就是对神经网络进行优化的最小化公式,即当扰动固定的情况下,我们训练神经网络模型使得在训练数据上的损失最小,也就是说,使模型具有一定的鲁棒性能够适应这种扰动。
参数说明¶
参数名 | 参数含义 |
---|---|
num_epochs | 对抗训练迭代的次数,该数值越大,时间开销越大 |
epsilon | 样本扰动的偏移值 |
attak_step_num | 对抗攻击训练中一次选用的样本数目 |
alpha | 参与对抗样本一次的比例 |
1.4. PAT加固算法¶
算法介绍¶
PAT的全称是PGD adversarial training(PGD对抗训练),在白盒环境下,通过PGD攻击算法生成对抗样本,然后用对抗样本和普通样本混合训练模型。
基于FGSM攻击方法,Madry等人引入迭代的过程,并且每次将噪音映射到某个特定空间中形成了目前最为常用的PGD攻击方法:
Goodfellow等人最早提出对抗训练的思想,该论文尝试在训练过程中加入对抗样本来提升模型的鲁棒性,其损失函数定义如下:
其中 J(θ, x, y)是模型对于普通样本的损失函数,作者通过 x + ε · sign(▽x J(θ,x,y))来构造对抗样本,并要求模型能正确对其分类。
PAT对抗训练优化的目标函数如下:
其中l(x + σ;y;Fθ)为模型Fθ在对抗噪音大小为σ下的损失函数。
在优化目标函数过程中,该方法在每一个批数据(mini-batch)中加入同样数量的普通样本和对抗样本(由PGD攻击生成)。
参数说明¶
参数名 | 参数含义 |
---|---|
α | 对抗训练中普通样本和对抗样本的混合比例,一般设置为1:1。 |