Training-Free Safe Denoisers for Safe Use of Diffusion Models
核心思想
扩散模型可能生成不安全内容(NSFW、版权图像、特定人脸)。现有方法要么需要重新训练/微调模型(成本高),要么仅依赖文本过滤(容易被对抗性提示绕过)。
Safe Denoiser 提出:
- 用图像集合定义不安全内容(而非依赖文本)
- 从理论推导出安全去噪器公式 → 修改采样轨迹使其远离不安全区域
- 无需重训练,直接在推理时应用
- 与文本方法正交互补 → 两者结合效果最好
背景知识
扩散模型安全问题的三个层面
| 层面 | 示例 | 现有方案 |
|---|---|---|
| 文本层 | 检测敏感关键词 | 提示词过滤、负面提示 |
| 模型层 | 微调去除不安全知识 | ESD、RECE(需重训练) |
| 采样层 | 修改采样轨迹 | SLD、SAFREE、Safe Denoiser |
为什么文本过滤不够
- 对抗性提示:用同义词、隐喻绕过关键词检测
- 跨模态攻击:MMA-Diffusion 等方法直接操纵嵌入
- 隐式内容:提示词本身无害但组合后生成不安全内容
安全分布的形式化
\[p_{\text{safe}}(x) \propto p_{\text{data}}(x) \cdot \mathbb{1}[x \notin \mathcal{U}]\]其中 $\mathcal{U}$ 是不安全区域。目标:从 $p_{\text{safe}}$ 而非 $p_{\text{data}}$ 采样。
方法详解
1. 安全去噪器定理(Theorem 3.2)
核心公式:
\[\mathbb{E}_{\text{safe}}[x | x_t] = \mathbb{E}_{\text{data}}[x | x_t] + \beta^*(x_t) \cdot \left(\mathbb{E}_{\text{data}}[x | x_t] - \mathbb{E}_{\text{unsafe}}[x | x_t]\right)\]直觉解释:
-
$\mathbb{E}_{\text{data}}[x x_t]$:原始去噪方向 -
$\mathbb{E}_{\text{unsafe}}[x x_t]$:不安全去噪方向 - 安全去噪 = 原始方向 + 远离不安全方向的修正
权重:
\[\beta^*(x_t) = \frac{Z_{\text{unsafe}} \cdot p_{\text{unsafe},t}(x_t)}{Z_{\text{safe}} \cdot p_{\text{safe},t}(x_t)}\]当 $x_t$ 接近不安全区域时 $\beta^*$ 增大 → 修正力度自动增强。
2. 不安全去噪器近似
给定 $N$ 个不安全样本 ${x^{(n)}}_{n=1}^N$:
\[\hat{\mathbb{E}}_{\text{unsafe}}[x | x_t] = \sum_{n=1}^{N} x^{(n)} \cdot \frac{q_t(x_t | x^{(n)})}{\sum_{m=1}^{N} q_t(x_t | x^{(m)})}\]加权平均——权重是”$x_t$ 有多可能是从 $x^{(n)}$ 加噪得到的”。
3. 实用权重估计
\[\beta^*(x_t) \approx \eta \cdot \beta(x_t)\] \[\beta(x_t) \approx \frac{1}{N} \sum_{n=1}^{N} q_t(x_t | x^{(n)})\]$\eta$ 是用户可调的安全强度参数。
4. 最终安全去噪器
\[\hat{x}_{0|t} = \mathbb{E}_{\text{data}}[x | x_t] + \eta \cdot \beta(x_t) \cdot \left(\mathbb{E}_{\text{data}}[x | x_t] - \hat{\mathbb{E}}_{\text{unsafe}}[x | x_t]\right)\]选择性应用:仅在 $\beta(x_t) > \beta_t$(阈值)时激活 → 只在采样轨迹接近不安全区域时才施加修正。
5. 与文本方法结合
\[\hat{x}_{0|t} = \underbrace{\text{Safe Denoiser}}_{\text{图像级安全}} + \lambda \underbrace{\text{CFG}}_{\text{文本引导}} - \mu \underbrace{\text{SLD}}_{\text{文本安全}}\]图像级和文本级安全措施正交互补。
6. 实现细节
- 仅在扩散过程的早期时间步应用安全去噪器 → 避免在精细细节阶段引入噪声
- $\beta_t$ 阈值机制确保选择性应用 → 只修正需要修正的轨迹
实验结果
文本到图像生成(COCO-30K,SD v1.4)
| 方法 | Ring-A-Bell ASR↓ | UnlearnDiff ASR↓ | MMA-Diffusion ASR↓ | FID↓ | CLIP↑ |
|---|---|---|---|---|---|
| SD v1.4(基线) | 0.797 | 0.809 | 0.845 | 25.04 | 31.38 |
| SLD | 0.481 | 0.629 | 0.881 | 36.47 | 29.28 |
| SLD + Ours | 0.354 | 0.526 | 0.481 | 36.59 | 29.10 |
| SAFREE | 0.278 | 0.353 | 0.601 | 25.29 | 30.98 |
| SAFREE + Ours | 0.127 | 0.207 | 0.469 | 22.55 | 30.66 |
关键发现:
- SAFREE + Safe Denoiser 将 MMA-Diffusion 攻击成功率从 0.601 降到 0.469
- Ring-A-Bell ASR 从 0.278 降到 0.127(降低 54%)
- FID 反而改善(25.29 → 22.55)→ 安全约束没有损害图像质量
FFHQ 性别去除(无条件生成)
| 方法 | 女性占比 | 男性占比 | FID↓ |
|---|---|---|---|
| 基线 | 64.0% | 36.0% | 109.07 |
| B + SR | 53.1% | 46.9% | 130.52 |
| B + Ours | 55.6% | 44.4% | 96.57 |
Safe Denoiser 在平衡性别分布的同时改善了图像质量(FID 从 109 降到 97)。
ImageNet 类别去除(Chihuahua 类)
| 方法 | Precision↑ | Recall↑ | Top-1↑ | Top-1*↓ |
|---|---|---|---|---|
| 基线 | 0.72 | 0.63 | 0.76 | 0.68 |
| B + SR | 0.59 | 0.54 | 0.01 | 0.0 |
| B + Ours | 0.62 | 0.58 | 0.14 | 0.0 |
成功去除 Chihuahua 类(Top-1* = 0.0),同时保留了其余 999 类 14% 的准确率(SR 仅 1%)。
消融实验
- 不安全样本数 $N$:性能随 $N$ 增加单调提升
- 阈值 $\beta_t$:U 型关系,最优在中间值
- 与 SLD 强度的关系:在不同 SLD 强度下均保持优势
个人思考
- “理论驱动的安全设计” 是最大亮点:不是启发式地”远离不安全内容”,而是从贝叶斯定理严格推导出安全去噪公式 → 有数学保证。
- 图像级 + 文本级的正交互补非常实用:文本过滤防不了对抗性提示,图像级防不了所有语义偏移 → 两者结合覆盖更多攻击面。
- FID 反而改善是意外发现——可能是因为安全约束隐式地正则化了生成分布,减少了”不自然”的样本。
- 选择性应用($\beta_t$ 阈值)是关键工程决策:全程应用会损害细节质量,只在需要时应用则两全其美。
- 局限性:需要预定义不安全图像集合 → 如何构建全面的不安全集合是实际部署的挑战。