DAG是一个使用在目标检测场景下的对抗样本生成模型
应该是第一个应用在目标检测场景下的
这部分的算法设计主要是对应了Faster RCNN这种二阶段检测模型
输入:
其中
target set
是一张图片中所有的预测。
在网络训练的过程中,这些预测都会被唯一分配一个ground truth label。
这些正确的ground truth label组成了
original label set。
adversarial label set
和
original label set
有一种关系,即adversarial label set中的每一个样本都是从那些不正确的类别中随机采样出来的。
输出:
我们的训练目标是得到一种对抗扰动,adversarial perturbation, 让一张图片中的所有预测都变的错误,用公式表示为
其中f是一个分类器,这个分类器的输入是原图X经过扰动r之后的图片,这个分类器的输出是目标为tn时,输出一组分类置信度分数,ln是原本正确的标签。
训练:
对于一张图片X中的所有target,我们首先找到那些分类正确的目标,组成
active target set
,然后我们根据设计的损失函数计算这些样本的梯度和,损失函数的设计
在最小化这个损失函数的过程中,换句话说,就是在最小化分类器把target tn正确分类为
original label
ln的概率,也就是最小化括号中的第一项。同时,也在最大化分类器把target tn错误分类为
adversarial target
ln’的概率,也就是最大化括号中的第二项。
我们求出这个损失函数的负梯度,将之赋值给rm
为了避免数值不稳定,会对这个rm进行标准化,得到rm‘
把这个rm’累加到之前的r上(方便不断的标准化)
然后把这个扰动加到输入图片X上