← 返回题目列表

文生图系统的 Safety Filter 应该如何设计?

中等 第 20 / 25 题 更新于 2026/09/17

简化版

文生图 Safety Filter 不能只在输出图片上跑一次分类器,而应采用分层防护:输入 Prompt 识别风险并决定拒绝或降级;生成阶段限制高风险模型和能力;输出阶段结合图像分类、目标检测、OCR 与规则复核;高风险和低置信样本进入人工审核。

系统要分别衡量漏检率和误杀率,并按未成年人、真实人物、暴力、色情、仇恨、隐私等风险切片。模型分数只是证据,最终阈值应结合地区、产品场景和动作风险制定,还要防范变体字、隐喻、多语言和图像对抗样本。

安全过滤器不是单一模型,而是一套带政策版本、证据记录、人工升级和持续回归的决策系统。

详细版

一个典型链路是:

Prompt -> 文本风险分类/规则
       -> allow / refuse / safe-rewrite / review
       -> image generation
       -> 图像分类 + 检测 + OCR + 人脸/身份规则
       -> allow / blur / block / human review
       -> 日志、申诉、样本回流与阈值更新

假设高风险类在 10,000 个回归样本中有 1,000 个正例,过滤器检出 940 个,其中 40 个是误报:

TP=900, FN=100, FP=40, TN=8960
Recall = 900 / 1000 = 90%
Precision = 900 / 940 ≈ 95.7%
FPR = 40 / 9000 ≈ 0.44%

仅报告 98.6% Accuracy 会掩盖 10% 的危险样本漏检,因此必须按类别同时报告 Recall、Precision、FPR 和严重度加权风险。

层级优势局限
输入文本审核成本低,可提前拒绝隐喻和跨语言绕过
生成约束减少危险能力暴露可能影响正常创作
输出图像审核直接检查真实产物已支付生成成本,分类器也会漏检
人工审核能处理复杂语境慢、贵,并有审核员健康风险

完整版教学

1. 先把政策变成可执行类别

“过滤不安全图片”过于模糊。需要把政策拆成风险类别、严重度、适用地区、允许例外和处置动作。例如医学教育中的裸露与色情内容不能只靠同一二分类阈值处理。

策略表应版本化,并把每次决策关联到策略版本,便于审计和回滚。

2. 输入审核为什么有价值但不充分

输入侧能在昂贵生成前拦截明确违规请求,并可提示用户修改。但拼写变体、Emoji、音译、隐喻和多轮上下文会绕过关键词规则。

因此应组合规范化、语言识别、规则和语义分类器,同时保留原始语境。不能把用户输入自动改写后生成,却不告知发生了策略变更。

3. 输出审核为什么不可省略

即便 Prompt 正常,随机采样也可能生成意外内容;模型还可能误解年龄、暴力和身份语义。最终交付对象是图片,所以必须检查真实产物。

输出侧可以并行运行多种检测器,再由策略引擎聚合:

NSFW score + age estimate + violence detector + OCR text
  -> calibrated scores
  -> policy rules by product/region
  -> action and reason codes

4. 为什么要组合分类、检测与 OCR

整图分类擅长判断整体语义,却可能忽略小区域;目标检测能定位武器、血腥或裸露区域;OCR 可发现图片中生成的仇恨口号、联系方式和水印。

工具擅长盲点
整图分类全局内容类别小对象、复杂语境
目标检测对象位置与数量未知类别、遮挡
OCR + 文本审核图片中文字艺术字体、低清文本
相似度/哈希已知违规素材新生成与轻微变形

多模型并不自动更安全,聚合规则与校准同样重要。

5. 阈值应由风险成本决定

降低阈值通常提高 Recall,却增加误杀。高严重度内容可偏向高召回,普通审美敏感内容则要控制误报。

可以用期望损失思考:

expected_cost = C_FN × FN + C_FP × FP + C_review × N_review

成本不是只用金钱表示,还包括法律、用户伤害、创作者体验和审核员负担。

6. 低置信度和冲突结果如何处理

当多个检测器冲突,或分数落在灰区,不应强行二选一。可建立三段阈值:低于 τ_allow 放行,高于 τ_block 拦截,中间进入二级模型或人工审核。

人工审核不是无限兜底池;必须限制队列、优先级和暴露方式,并为审核员提供模糊预览与心理健康保护。

7. 对抗与分布漂移有哪些表现

攻击者可能用变体词、编码、局部遮挡和对抗纹理绕过检测。即使没有攻击,新基础模型、分辨率和用户群变化也会让分数分布漂移。

监控应按模型版本、语言、地区、内容类别和生成模式切片,观察审核率、拦截率、申诉推翻率和人工抽检漏检率。

8. 真实人物与未成年人为什么要单独治理

身份冒用、非自愿私密图像和未成年人风险不能仅由通用 NSFW 分类器处理。系统可能需要人脸相似度、年龄不确定性、用户授权证明和更严格的默认策略。

年龄估计本身误差很大;在边界区应采用保守流程,而不是把预测值当作真实年龄事实。

9. 如何构建安全评测集

评测集应包含正常样本、明确违规、边界语境和刻意绕过,并覆盖多语言、肤色、年龄呈现、艺术风格与分辨率。

每类至少报告混淆矩阵和置信区间。若某切片只有 10 个样本,即使全部通过也不能证明可靠。上线前还要用红队生成新攻击样本,避免测试集长期静止。

10. 日志、隐私与申诉如何平衡

审计需要保存请求 ID、模型/策略版本、分数和原因码,但不代表永久保存敏感 Prompt 与图片。应最小化收集、加密访问并设置自动删除期限。

对误杀提供申诉和人工复核,并把推翻样本脱敏后加入回归集。没有申诉数据,团队很难发现特定群体的系统性偏差。

11. 发布与回滚怎么做

新过滤器先离线回放,再影子运行比较旧决策,最后小流量灰度。发布门槛可同时约束严重漏检和正常内容误杀,例如:高危 Recall 不下降、正常 FPR 增幅低于 0.2 个百分点。

策略、模型与阈值必须独立版本化,事故时可快速回滚其中一层,而不是重新部署整个生成系统。

12. 常见误区与追问

  • 误区:一个 NSFW 分类器就能覆盖所有风险。 暴力、身份、文字和未成年人需要不同证据。
  • 误区:Accuracy 很高就足够安全。 类别不均衡时必须看漏检、误报和严重度切片。
  • 误区:Negative Prompt 可以替代 Safety Filter。 它只是概率引导,无法给出硬性合规保证。
  • 误区:阈值越低越安全。 过度误杀会伤害正常用户,并可能淹没人工队列。
  • 误区:日志保存越多越便于审计。 敏感内容过度留存本身构成隐私风险。
  • 追问:如何处理灰区? 使用双阈值、二级模型或人工复核,并记录原因码。
  • 追问:如何发现线上漏检? 结合随机抽检、用户举报、红队和申诉反事实样本。

13. 加强记忆

  1. 四层防护:输入、生成、输出、人工。
  2. 多种证据:分类、检测、OCR、身份和已知素材匹配。
  3. 两个错误:漏检伤安全,误杀伤体验,阈值由风险成本决定。
  4. 持续变化:对抗与分布漂移要求切片监控和红队回归。
  5. 可治理:政策、模型、阈值、日志和申诉都要版本化。