Verify Claimed Text-to-Image Models via Boundary-Aware Prompt Optimization¶
会议: CVPR 2026 Findings
arXiv: 2603.26328
代码: 无
领域: 图像生成
关键词: 模型验证、语义边界、对抗prompt优化、T2I模型指纹、知识产权
一句话总结¶
BPO 提出一种无需参考模型的白盒 T2I 模型验证方法,通过三阶段流程(对抗锚点识别→二分搜索边界探索→目标优化)找到模型特有的语义边界区域,生成的验证 prompt 在 5 个 T2I 模型上达到平均 96% 准确率和 0.93 F1,比 TVN 方法快 2 倍。
研究背景与动机¶
- 领域现状:T2I 模型(如 Stable Diffusion 系列)的商业价值使模型归属认证成为重要需求。需要验证一个公开部署的 T2I 模型是否确实是声称的模型(如防止换皮或盗用)。
- 现有痛点:(1) TVN 方法依赖多个参考模型对比,需要维护参考模型集合且难以扩展;(2) 随机/贪心 prompt 方法准确率仅 17-23%,因为通用 prompt 无法区分相似模型;(3) 现有方法计算效率低。
- 核心矛盾:不同 T2I 模型的文本编码器和生成器虽然相似(多基于同一架构微调),但它们的语义边界(嵌入空间中输出语义发生跳变的区域)是模型特有的。
- 本文目标:直接利用目标模型自身的语义边界特性生成验证 prompt,无需任何参考模型。
- 切入角度:类比分类器的决策边界——每个模型的语义边界位置不同,通过精确定位边界后生成贴近边界的 prompt,可以区分不同模型。
- 核心 idea:三阶段流程——对抗攻击找到语义翻转点→二分搜索精确定位边界→GCG 优化生成朝向边界的验证 prompt。
方法详解¶
整体框架¶
BPO 要解决的核心问题是:手里有一个已部署的 T2I 模型,怎么不靠任何参考模型就确认它到底是不是声称的那个?作者的切入点是「语义边界」——把目标模型类比成一个分类器,它的文本编码器在嵌入空间里有一些位置,prompt 稍微挪一点,生成图像的语义就会突变(比如从"猫"翻成"狗")。这种边界的位置是每个模型微调后特有的,难以伪造,于是它就成了模型的指纹。
整条流水线就是去精确找到这条边界、再造一个贴着边界的 prompt:原始 prompt \(I\) 先经 Stage 1 做对抗攻击,沿着远离原语义的方向走,捕捉到语义刚翻转那一刻边界两侧的一对锚点 \((P_{pis}, P_{adv})\);Stage 2 在这对锚点的嵌入之间做二分搜索,把粗略的边界区间收紧到精确的边界点 \(e_{\alpha^*}\);Stage 3 再优化出一个后缀,让最终 prompt \(P_v\) 的嵌入恰好落在这个边界点上。\(P_v\) 在目标模型上正好处于"语义临界",换到别的模型就大概率不在边界——同一个 \(P_v\) 喂给不同模型生成出不同语义,验证就此成立。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["原始 prompt I<br/>+ 目标 T2I 模型"] --> B["对抗锚点识别(Stage 1)<br/>GCG 优化 8-token 后缀<br/>VLM 找语义翻转步 k*"]
B --> C["边界两侧锚点对<br/>(P_pis, P_adv)"]
C --> D["二分搜索边界探索(Stage 2)<br/>锚点嵌入间线性插值<br/>逼近临界比例 α*"]
D --> E["精确边界点 e_α*"]
E --> F["目标优化(Stage 3)<br/>优化后缀 s' 使嵌入贴近 e_α*"]
F --> G["验证 prompt P_v<br/>骑在目标模型语义边界上"]
G -->|"喂给声称模型 → 语义临界"| H["验证通过"]
G -->|"喂给其他模型 → 落在稳定区"| I["验证失败"]
关键设计¶
1. 对抗锚点识别(Stage 1):用对抗攻击的轨迹去"撞"到边界
直接在巨大的嵌入空间里盲搜边界是不现实的。作者的巧思是借力 GCG 对抗攻击——攻击的本质就是沿着"远离原始语义"的方向推进,这条路径几乎必然要穿过语义边界。具体做法是优化一个 8-token 后缀 \(s\),目标 \(\min_s \cos(E_t(I+s), E_t(I))\) 让加了后缀的文本嵌入尽量背离原始嵌入。优化过程中每一步都让 VLM 判断生成语义有没有翻,找到语义首次翻转的那一步 \(k^*\),就取翻转前后的两个 prompt \(P_{pis} = P_{k^*-1}\)、\(P_{adv} = P_{k^*}\) 当作夹住边界的一对锚点。这一步把"找边界"这个开放问题,转化成了"沿一条已知路径找过零点"。
2. 二分搜索边界探索(Stage 2):在两个锚点之间逼近真正的边界
Stage 1 给的只是夹住边界的粗区间,还不够精确。作者在两个锚点嵌入之间做线性插值 \(e_\alpha = (1-\alpha)e_{pis} + \alpha e_{adv}\),用二分搜索找那个临界比例 \(\alpha^*\)——使得 \(S(G_t(e_{\alpha^*}))\) 刚好与原图语义 \(S(M_t(I))\) 不一致的最小 \(\alpha\),精度阈值 \(\epsilon = 0.001\)。比如从 \(\alpha=0.5\) 试起,VLM 判定语义仍与原图一致就说明边界在右半区,再试 \(\alpha=0.75\)……几步就把区间收敛到边界附近。这里依赖一个假设:边界局部嵌入空间近似线性(实验证明在边界邻域确实成立),所以线性插值才有意义;而二分搜索的 \(O(\log(1/\epsilon))\) 复杂度也远比网格遍历省。
3. 目标优化(Stage 3):把验证 prompt 钉死在边界上
有了精确边界点 \(e_{\alpha^*}\),最后一步是造一个真正能用来验证的 prompt。作者在 \(P_{adv}\) 基础上重新优化后缀 \(s'\),目标反过来——\(\max_{s'} \cos(E_t(I+s'), e_{\alpha^*})\) 让新 prompt 的嵌入尽量贴近边界点,跑 100 次 GCG 迭代、batch size 256。得到的 \(P_v\) 在目标模型上恰好骑在语义边界上:稍有扰动语义就翻。而这条边界是目标模型特有的,换个模型这个 \(P_v\) 大概率落在边界以外的"语义稳定区",生成结果就不一样——鉴别力正源于此。
损失函数 / 训练策略¶
整套方法不涉及训练,全部是推理时优化。GCG 攻击负责 Stage 1/3 的后缀搜索,VLM(qwen-vl-max)负责所有语义翻转判断。每个验证任务生成 10 张图像评估一致性,分数 \(C = |2r - 1|\)(\(r\) 为语义匹配比例,\(C\) 越接近 1 说明判定越稳定)。
实验关键数据¶
主实验¶
| 方法 | SD v1.4 | SD v2.1 | SDXL | Dreamlike | Openjourney | 平均 Acc |
|---|---|---|---|---|---|---|
| Normal | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 |
| Random | 0.33 | 0.20 | 0.17 | 0.33 | 0.17 | 0.23 |
| TVN | 0.50 | 1.00 | 0.83 | 0.50 | 0.17 | 0.60 |
| BPO | 1.00 | 0.80 | 1.00 | 1.00 | 1.00 | 0.96 |
消融实验¶
| Prompt 变体 | 平均 Acc | 平均 F1 | 说明 |
|---|---|---|---|
| \(P_{pis}\)(边界前) | 0.80 | 0.78 | 不够接近边界 |
| \(P_{adv}\)(边界后) | 0.84 | 0.80 | 已越过边界 |
| \(P_v\)(优化后) | 0.96 | 0.93 | 精确定位边界 |
关键发现¶
- BPO 平均准确率 96%,比 TVN 的 60% 高出 36 个百分点,且不需要任何参考模型
- 效率提升 2 倍:BPO 平均 159s vs TVN 321s(SD v1.4 上 5 倍加速:108s vs 553s)
- 10 张生成图像即可达到平台精度(0.96),更多图像无显著增益
- 后缀长度 8-9 token 为最优,过短信息不足,过长可能过拟合
- VLM 选择影响不大:qwen-vl-max=0.96, gemini-2.5-flash=0.92, gpt-5=0.92
亮点与洞察¶
- 语义边界作为模型指纹:巧妙类比分类器决策边界的思路——语义边界是模型内在的、不可复制的特征,比模型水印更难伪造
- 三阶段的渐进精炼设计:对抗攻击→二分搜索→目标优化,每步都有明确的数学基础和实验验证
- 完全无参考模型:消除了参考模型集合的维护成本,使方法可扩展到任意新模型
局限与展望¶
- 需要白盒访问目标模型的文本编码器(梯度计算),不适用于纯 API 服务
- 仅测试了 5 个开源模型,对最新的私有模型(如 DALL-E 3、Midjourney)泛化性未知
- 对抗鲁棒性强的模型可能语义边界更模糊,更难定位
- 正则化技术可能使边界更不典型,降低验证准确率
- 后续可探索黑盒版本(通过查询 API 做边界探测)
相关工作与启发¶
- vs TVN: TVN 需要参考模型集合比较不一致率,BPO 直接利用模型自身特性,概念更简洁且效果更好
- vs 模型水印: 水印需要训练时植入,BPO 是事后验证方法,适用于已部署的模型
- vs GCG 对抗攻击: BPO 将 GCG 从"攻击"工具转化为"诊断"工具,用途完全不同
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 语义边界作为模型指纹的概念极具创新性
- 实验充分度: ⭐⭐⭐⭐ 5个模型+消融+效率分析,但测试规模偏小
- 写作质量: ⭐⭐⭐⭐ 三阶段描述清晰,形式化严谨
- 价值: ⭐⭐⭐⭐ 模型知识产权保护的实际需求+新视角方法