频率驱动的语义相似度不可见对抗性攻击
通过特征相似度优化扰动,约束对抗样本的低频图像和正常样本的低频图像之间的相似度,将扰动限制在高频信息内。
背景
传统对抗攻击方法的问题:
1.攻击域和训练域相同。而现实中可能攻击域不在分类模型的标签域中。(所以使用的特征攻击)
2.使用范数不足以评估图像感知相似性。(从代码中看的,使用的torch.nn.SmoothL1Loss(reduction=‘sum’))
方案
这篇文章使用优化算法生成对抗样本
实验设计
总损失函数:
一、特征相似度损失
使用余弦相似度计算特征相似度(我看代码里边使用的点乘相似度,两种方法差别不大,相似度值越大越相似),让对抗样本的特征转向错误图像。
sii=torch.matmul(xi, advi.T) #特征点乘
mask = torch.eye(xi.shape[0], dtype=torch.bool).to(self.device)
sii= sii[mask].view(xi.shape[0], -1) #一个batch中x与adv对应的两个特征相乘
torch.max(sii-sij,0)
为了避免冗余扰动,设计了一种自步长加权方案来提高优化的灵活性。可以调整每个相似度分数的优化速度。接近其最优的相似度得分被分配了一个较小的梯度,而较少优化的相似度得分被分配了一个较大的梯度。
二、低频约束
低频图像之间的相似度,就是这里使用的