在扩散模型上实现后门攻击以及防御(一)

在扩散模型上实现后门攻击以及防御(一)

简单介绍一下我看的几篇在扩散模型上做后门攻击和防御的文章。

第一篇是清华大学团队发表在CVPR2023上的文章: How to Backdoor Diffusion Models? ,这篇文章思想很简单,对数据集和模型训练过程进行改进,使得输入带有trigger的图像(带有眼镜的人脸,眼镜是trigger),能够生成target图像 (比如猫),没有trigger的输入则生成正常的人脸图像。这篇文章发出来也没多久,但是第一篇在diffusion模型上面做后门攻击的,所以虽然思路简单,却中了CVPR。

How to Backdoor Diffusion Models?

标准的分类器上的后门攻击只修改训练数据集和label 用于后门注入,本文提出的BadDiffusion 不仅修改了训练数据集,还对扩散模型的前向、后向过程进行篡改。BadDiffusion能够满足后门攻击的两个关键目标:(1)高可用性,后门不被触发时模型的性能和干净的模型相近;(2)高特异性,后门被触发时模型能产生特定的行为。

威胁模型 :User 希望能够离线使用一个第三方发布的扩散模型(可以从网上的资源下载),用于特定任务;Attacker 外包了训练模型的任务。Attacker 训练模型并发布,它可以篡改训练数据集和训练过程;User 检测模型的性能和可用性(比如FID、IS分数),模型符合要求才被 accept。

训练过程

干净的DDPM模型

前向过程:

后向过程:

Backdoored 扩散模型 (加入trigger g)

前向过程:

后向过程:

损失函数:

D_C是干净数据集,D_p是投毒数据集,r 是投毒采样,g 是trigger, y 是target

投毒的数据图像为:

g是trigger, x是干净图像

算法实现

BadDiffusion 算法实现和DDPM差别不大,训练阶段主要是对数据集和损失函数进行修改,采样阶段是对干净的目标和后门目标分别采样。

实验过程

数据集是CIFAR10 (trigger包括 Grey Box , Stop Sign,taregets 包括 NoShift,Shift,Corner,Shoe,Hat) 和 CelebA-HQ (trigger 是 Eyeglasses, target 是cat)

实验结果

编辑于 2024-01-08 09:29 ・IP 属地北京