老王在镇上开了三十年“王记红烧肉”,把独门配方写在一张牛皮纸上,传给了最得意的徒弟小李。小李出师后自立门户,街对面新馆子的味道竟和老王的一模一样。老王气得拍桌子,可法院只认证据——“味道像”不算数。他忽然悔恨:早知就在配方上留个只有自己认得、别人仿不出的记号! 这个故事讲的就是 AI 模型的“产权章”。你花大价钱训出来的模型被人抄了、偷了、转卖了,怎么证明“它是我的”?答案是在模型里悄悄盖个章。行业里主要有两种盖法:一种像在配方纸的指定角落用隐形墨水写上名字——要核对就必须拿到那张纸、看到纸的内部,这叫“看得见内部的章”;另一种像把店里的伙计训练出暗号——任何顾客正常点菜都得到正常服务,但只要你说出“天王盖地虎”,伙计就必然回一句“宝塔镇河妖”还送碟小菜。这暗号行为本身就是一枚盖在“配方”上的公证章,不用翻纸也能验。 接下来,我们就跟着老王一步步弄明白:这种章怎么盖、怎么验、纸被揉皱了记号还在不在、一张纸上能写多少字,以及两种章为什么最好一起用。
掌握模型水印技术,你就能为 AI 模型上“产权证”,在模型泄露、抄袭纠纷、平台审核中拿出硬核证据——这是 AI 安全工程师和算法负责人的核心竞争壁垒。
可视化演示
通过白盒参数嵌入、黑盒后门触发器和容量-保真度权衡三个模式,直观展示模型水印技术的核心原理与安全特性。
本节配有交互动效(进入视口后自动加载,约 3KB)。
白盒水印参数嵌入 水印比特编码到权重矩阵奇异值中 验证时提取参数统计特征解码比特序列 W\' = W + α·Σ(bit_i · v_i) 白盒方案需访问模型参数但容量高
一、水印概念认知
老王把配方传给小李之前,最该做的第一件事,就是先想清楚:这份配方将来可能要上法庭。打官司需要两样东西——“标记”和“验证”。标记让他人无法赖账,验证让法官能快速裁决。在 AI 世界里,这两样东西合起来就叫模型水印:提前在模型内部埋下只有自己知道的记号,并设计一套公开、可操作的方法来查验这个记号。
AI 模型是花了大量算力、数据和人力训练出来的数字资产。模型水印起的作用,和瓷器底部的款识、画作角落的签名一样——证明“此物出自谁手”。一个合格的水印方案必须同时满足两条:加了水印的模型,干活的水平不能明显变差;需要确权时,又能稳定地把记号验出来。这就好比老王不能在配方纸上泼一大团墨汁做记号,也不能让记号被雨水一冲就没。
根据验证时“能看见什么”,水印分成了两大家族。白盒水印:验证方可以直接拿到模型的参数——就像老王把配方纸递给法官,法官能看到纸上的隐形墨水签名。黑盒水印:验证方只能向模型发请求、看输出——就像法官不翻配方,只和服务员说暗号,看服务员怎么反应。一个靠“内部痕迹”说话,一个靠“外部行为”说话。
1. 准确率门槛:加完水印的模型 f̂ 在正常任务上的准确率 ACC 不能低于基准值 ACC_min,水印不能牺牲模型干活的能力。
2. 可验证约束:Verify 是验证函数,输入带水印模型 f̂ 和注册水印 W_wm,能比对得上就返回真。
3. 同时满足:两个条件用“且”连接,说明水印必须既不影响精度、又能被确权,二者缺一不可。
理解了“标记+验证”的框架,老王心里有了底:接下来要决定记号具体怎么写。他有两个选择——写在纸里,或者写进行为里。
二、白盒水印原理
老王用隐形墨水在配方纸的右下角写名字,这几个字平常看不见,但拿到纸、涂上显影液就能看清。白盒水印的思路与此如出一辙:直接在模型的“大脑”——参数矩阵里,写入一串只有自己知道的比特。模型的参数就是一条条神经连接的粗细,它们决定了模型的行为,而白盒水印恰恰选中一部分参数当作“隐形墨水的落笔处”。
具体怎么做?首先,挑选一批适合做载体的参数。通常选全连接层或冗余度高的参数,因为改动它们对模型精度影响最小——就像在配方纸的页边空白处写字,不会压到正文。然后,把水印比特串编码成 \(+1/-1\) 信号,按一定的强度叠加到参数上。这就是最经典的加性嵌入方式。
提取时,验证方拿到模型参数后,比较当前参数与原始参数的差值符号,就能逐位还原出水印;如果拿不到原始参数,也可以设计“参数均值偏移”这类统计约束来判定水印是否存在。嵌入强度 \(\alpha\) 是最关键的旋钮:\(\alpha\) 越大,水印信号越强、越容易提取,但参数被推得越偏,模型精度下降得越明显——就像隐形墨水写得太浓,纸面会微微发黄。
1. 载体参数:\(\theta_i\) 是被选中承载水印的第 i 个模型参数,它原本有一个训练好的值。
2. 水印位:\(m_i\) 是水印串的第 i 位,编码成 +1 或 -1 两种方向,对应比特 1 和 0。
3. 嵌入强度:\(\alpha\) 控制推动的幅度,\(\alpha \times m_i\) 就是一次“带方向的微调”。
4. 加性嵌入结果:参数从 \(\theta_i\) 变成 \(\theta_i'\),整个过程不改变模型结构,只改变数值。
白盒水印的优点是把柄非常硬——比特级的证据,赖不掉。但它的命门也很明显:必须“看得到纸”。如果模型只开放 API,法官连配方纸都摸不到,隐形墨水就无从验起。老王于是琢磨:有没有一种不用翻纸就能验的记号?
三、黑盒水印原理
老王想出了一个新招:训练伙计对暗号。顾客正常点菜,伙计照常服务;但只要你说出“天王盖地虎”,伙计就必回“宝塔镇河妖”并送一碟小菜。这个暗号行为,只有训练过的人才知道,可它真真切切地存在于“配方做出来的菜”的服务流程里——不用翻配方纸,端上来一试便知。黑盒水印利用的正是这种“后门”机制。
训练阶段,水印方在数据集中混入少量触发器样本:普通输入加上一个特殊图案(比如一副眼镜、一块色块、一句怪话),同时把标签改写成预设的目标类。模型在正常任务上照常学习,顺带也会记住一条隐藏规则——“看到这个特殊图案,就输出目标答案”。正常输入触发不了它,只有手持“暗号”的人才能激活。
黑盒水印大多采用零比特方案:不往模型里嵌一串比特,只记录“特定输入→特定输出”的行为对。验证时,把触发器样本发给模型的 API,统计触发成功率是否超过阈值。触发集的设计要点有三个:足够稀有,正常用户几乎不可能自然遇到;与正常样本分布差异明显,确保触发是“刻意为之”而非“碰巧发生”;覆盖多种输入形态,防止攻击者逆向分析出触发器后做手脚。
1. 触发集:\(D_t\) 是所有触发器样本的集合,每个样本是一对“输入 x、预定输出 y”。
2. 指示函数:\(\mathbb{I}[f(x) = y]\) 在模型输出恰好等于目标标签时取 1,否则取 0,相当于一个小裁判逐个验货。
3. 平均触发率:把所有验货结果加起来,再除以样本总数 \(|D_t|\),得到 0 到 1 之间的触发成功率。
4. 阈值判定:当 \(P_{trig}\) 不低于预设阈值 \(\tau\)(如 95%)时,认定水印有效。
黑盒水印的妙处在于“活”的证据:不用交出配方纸,当着法官的面演示暗号就行。但老王还有个担心——这纸配方如果被人揉皱了、撕破了,纸上的签名和伙计的暗号,还能认出来吗?
四、鲁棒性分析
配方纸会皱、会撕、会被水泡;模型也会被压缩、被微调、被扰动。鲁棒性,就是“纸被揉皱了,上面的记号还认不认得出来”。攻击者拿到了老王带水印的模型,最常做的三件事是:剪枝——把不重要的参数删掉让模型变小;微调——拿自己的数据继续训练让参数“漂移”;扰动——量化、加噪,让参数值产生微小变化。
这三板斧对两类水印的伤害完全不同。白盒水印嵌在参数里,剪枝直接删掉的可能正是“字迹”所在的参数,微调也会把 \(\alpha\) 的偏移一点点冲淡。黑盒水印嵌在模型的决策边界里,只要触发器对应的特征通路还在,行为就会照常触发——除非攻击者把模型改到面目全非,否则暗号往往比签名更顽强。
抗剪枝主要有三招。第一招:把水印嵌在“大权重”上——这些参数对模型输出贡献大,剪枝舍不得动它们;第二招:冗余嵌入,把同样一串水印在模型里写好几份,像重要菜名在纸上抄三遍,撕掉一角仍能辨认;第三招:训练时加正则约束,让模型对参数扰动本身不敏感。衡量抗攻击效果的核心指标是水印保持率:模型被攻击后,重新提取的水印与原水印逐位比对,相同的比例越高越安全。
1. 原始水印位:\(m_i\) 是嵌入时注册的第 i 位水印比特,是“标准答案”。
2. 提取水印位:\(\hat{m}_i\) 是模型被攻击后,重新提取出的第 i 位比特,是“考生的回答”。
3. 逐位比对:指示函数 \(\mathbb{I}[\hat{m}_i = m_i]\) 对每一位判对错,答对记 1、答错记 0。
4. 保持率:把每位的结果求和,再除以总位数 \(N_{wm}\),得到 0 到 1 的比例,越接近 1 越抗攻击。
老王记下了“重要内容抄三遍”的心法,但又冒出新的疑问:纸上空白有限,这记号到底能写多少、写多密,才能既不被发现又不容易被擦掉?
五、容量与感知
配方纸的空白是有限的。字写多了会挤占正文,字写大了容易被发现,字写小了又容易被蹭掉。老王要在“写得下、看不出、擦不掉”之间找平衡。在模型水印里,这三个目标对应三个概念:容量、不可感知性、鲁棒性。
水印容量,指模型最多能承载多少比特的水印信息,常用“比特/参数”来衡量。不可感知性,指水印对模型造成的“可见影响”——一方面是正常任务精度下降了多少,另一方面是参数统计分布被扭曲了多少。嵌入强度 \(\alpha\) 直接决定这三角关系的走向:\(\alpha\) 大,单个比特稳如泰山,但模型被推得明显偏离原状,可感知性上升;想塞更多比特,要么占用更多载体、要么压缩每个比特的强度,结果都是整个水印变浅、变脆。
工程上,确权场景通常只需要几十到几千比特,对动辄上亿参数的大模型来说容量非常宽裕;但对小模型,就得精打细选。嵌入密度 \(C = N_{wm}/N_{total}\) 表示平均每个参数背几个比特。密度过高时,为了不暴露,只能压低 \(\alpha\),相当于把字写得又小又密——一旦被剪枝“搓”一下,整片字迹都会模糊。
1. 水印位数:\(N_{wm}\) 是实际嵌入模型的水印比特总数,老王想写的“记号字数”。
2. 参数总数:\(N_{total}\) 是模型全部参数的个数,相当于“整张纸能写的总空间”。
3. 密度比:两者相除得到平均每个参数背负的水印比特数,密度越高,纸面越拥挤。
容量、感知、鲁棒性三者此消彼长,没有任何办法同时拉满。老王于是有了灵感:既然一种记号总有短板,那把“隐形墨水签名”和“暗号”一起用上,是不是最稳?
六、协同验证与应用
老王的终极方案是双保险:配方纸上有隐形墨水签名,伙计们又都会暗号。平时在店里靠暗号就能快速验明正身,真要上法庭,再把配方纸亮出来给法官做精确比对。模型水印的协同验证,正是把白盒与黑盒两套证据拼在一起用。
白盒证据精确到比特,强度高、可定量,但要求验证方能接触参数;黑盒证据不暴露模型参数,可以在 API 场景下反复演示,二者恰好互补。实践中可以设计一套验证协议:注册阶段,水印方把白盒水印摘要和黑盒触发口令登记到公证平台;验证阶段,先走黑盒快速筛查(对模型发触发器样本),再走白盒精准确认(提取参数比对);最后按预设阈值给出裁决结论。加权融合公式让两路证据按场景分配发言权:涉及机密参数时,黑盒权重调高;需要铁证时,白盒权重调高。
这套方案已经落地到多个真实场景:开源模型发布前嵌入水印,防止下游厂商白嫖商用;企业内部给每个合作方打不同的 ID 水印,泄露后精准溯源;模型交易平台把水印验证写进上架协议,争议时自动出取证报告。
1. 白盒得分:\(V_{white}\) 是白盒提取比对后的验证得分,取值范围 0 到 1,越接近 1 越像“亲生的”。
2. 黑盒得分:\(V_{black}\) 是黑盒触发成功率换算的得分,同样在 0 到 1 之间,代表行为层面有多“听话”。
3. 加权融合:两路得分各自乘以权重再相加,权重大的那路证据在最终判断中发言权更大。
4. 归一化权重:\(w_1 + w_2 = 1\) 保证总分始终在 0 到 1 之间,方便设定统一的裁决阈值。
老王的故事到这里圆满收场:签名加暗号,双管齐下,既能日常自证,又能法庭定谳。模型水印的技术还在快速演进,但底层逻辑始终不变——让你的模型在关键时刻“说得出”自己的身世。
AI 应用场景
场景一:开源大模型版权登记与侵权取证
阶段:模型发布与版权保护
解决的问题:开源模型被下游厂商直接商用却不署名、不付费,传统取证只能靠比对输出,证据力弱。白盒水印在发布前嵌入参数,黑盒水印让公开 API 也“自带暗号”;一旦发现疑似侵权模型,白盒提取参数中的水印位、黑盒发送触发器样本,双路证据一出,对方很难抵赖。
具体案例:某团队发布 7B 开源大模型,同时提供权重下载和在线 API。三个月后,一家公司上线了“自研”模型,接口行为高度相似。团队用注册的黑盒触发器请求对方 API,触发成功率高达 98%;随后在仲裁机构见证下,从对方公开权重中提取出 256 位白盒水印,与注册信息完全匹配,侵权事实成立。
场景二:企业内部模型泄露溯源
阶段:模型部署与安全监测
解决的问题:模型经合作方或内部员工泄露后,难以定位泄露源头。传统做法是签保密协议,但事后无法证明“是哪一家泄的”。水印方案可以为每份授权副本嵌入不同的 ID 水印——给甲方的副本、给乙方的副本,各带各的编号。
具体案例:某金融科技公司向三家合作银行开放风控模型 API,每份部署都携带不同的黑盒触发器口令。不久模型被第三方复刻,公司逐一发送三家各自的触发器样本,只有乙方的触发成功率异常高,精准锁定泄露方,证据链完整。
场景三:模型托管平台的水印验证协议
阶段:模型交易与争议仲裁
解决的问题:模型交易平台上架大量第三方模型,侵权重灾区。平台需要一套程序化、可自动执行的验证机制,且不能在验证过程中泄露权重机密。协同验证协议让运营方在不出示完整参数的情况下完成仲裁。
具体案例:某 ModelZoo 平台规定:所有上架模型须注册“白盒参数摘要 + 黑盒触发口令”。甲方投诉乙方抄袭后,平台自动运行验证流程:先黑盒触发比对(快速筛查),再在隔离环境中做白盒提取比对(精确确认),半小时内生成带时间戳的验真报告,作为下架和赔付依据。
Python 演示
import numpy as np np.random.seed(7) def embed_white(W, bits, alpha): """白盒水印: 把比特串映射成 +1/-1 信号写入参数矩阵""" W2 = W.copy() vals = np.array([alpha if b else -alpha for b in bits]) W2.flat[:len(bits)] = vals return W2 def extract_white(W2, n): """白盒提取: 按参数符号还原比特""" return (np.sign(W2.flat[:n]) + 1) // 2 def prune(W, ratio): """剪枝攻击: 清零绝对值最小的部分权重""" k = int(W.size * ratio) flat = W.flatten() idx = np.abs(flat).argsort()[:k] flat[idx] = 0 return flat.reshape(W.shape) def bit_acc(a, b): return (a == b).mean() def normal_label(x): return 1 if x[0] > 0 else 0 class TinyModel: """极简线性模型, 用于演示黑盒后门水印""" def __init__(self, dim=8): self.w = np.random.randn(dim) * 0.1 self.b = 0.0 def predict(self, x): return 1 if np.dot(self.w, x) + self.b > 0 else 0 def train_normal(model, epochs=300): """正常样本训练二分类""" for _ in range(epochs): xs = np.random.randn(10, 8) * 0.5 for x in xs: err = normal_label(x) - model.predict(x) model.w += err * x * 0.1 model.b += err * 0.1 def add_backdoor(model, trigger, epochs=5): """黑盒水印: 用触发器样本以目标标签 1 微调模型""" for _ in range(epochs): model.w += trigger * 0.05 model.b += 0.05 # ---------- 白盒水印演示 ----------W = np.random.randn(10, 10) * 0.4bits = np.random.randint(0, 2, 32)for alpha in (0.08, 0.25): W_wm = embed_white(W, bits, alpha) print("alpha=%.2f 直接提取正确率: %.0f%%" % (alpha, 100 * bit_acc(bits, extract_white(W_wm, 32)))) for ratio in (0.2, 0.5): Wp = prune(W_wm, ratio) print(" 剪枝%.0f%%后: %.0f%%" % (ratio * 100, 100 * bit_acc(bits, extract_white(Wp, 32)))) # ---------- 黑盒水印演示 ----------model = TinyModel()train_normal(model)model.w[4:] = 0.0 # 清空触发器维度, 保证暗号只能由后门注入学会trigger = np.array([0.0, 0.0, 0.0, 0.0, 3.0, 3.0, 3.0, 3.0])add_backdoor(model, trigger)xs = np.random.randn(200, 8) * 0.5normal_acc = np.mean([model.predict(x) == normal_label(x) for x in xs])print("黑盒: 正常样本准确率=%.2f, 触发成功率=%d" % (normal_acc, model.predict(trigger)))
vals = np.array([alpha if b else -alpha for b in bits])把 0/1 比特编码成 +α 或 -α 的数值信号,水印位从“文本”变成能写进参数的“电压”。W2.flat[:len(bits)] = vals取参数矩阵前 32 个元素作为载体,把信号直接写入,这就是“隐形墨水签字”。return (np.sign(W2.flat[:n]) + 1) // 2提取时只看参数符号:正→1、负→0,不需要保存原始参数。idx = np.abs(flat).argsort()[:k]找出绝对值最小的 k 个参数并清零,模拟剪枝先把“小字迹”擦掉。model.w += trigger * 0.05让模型沿触发器图案方向微调,相当于反复训练伙计对暗号。model.w[4:] = 0.0把触发器所在维度清零,保证“暗号”只能由后门注入学会,而不是碰巧生效。trigger = np.array([0.0, 0.0, 0.0, 0.0, 3.0, 3.0, 3.0, 3.0])触发器图案放在与正常特征无关的维度,因此不影响正常样本。
常见误区
误区以为白盒水印只适用于完全开源、把权重公之于众的模型,因此认为“闭源商用模型根本没法用白盒水印”。
正解白盒水印强调的是“验证方能否拿到参数”,而不是“是否公开”。内部审计、授权副本、争议仲裁时,模型方完全可以在签保密协议后向仲裁机构出示权重进行验证。就像老王不会把配方贴到街上,但真上法庭时完全可以只把纸递给法官一个人看。
为何常见:把“白盒访问”和“开源发布”混为一谈,忽略了验证场景中的受控可见性。
误区认为后门触发就是在模型里埋雷,用户可能碰巧触发,导致模型对正常请求乱输出。
正解设计良好的触发器是用户几乎不可能自然遇到的极端输入,比如特定像素图案、罕见文本片段。对正常输入,模型行为完全不变。好比暗号是“天王盖地虎”,普通顾客永远不会在点菜时说这句话。
为何常见:把水印后门和恶意攻击漏洞混为一谈,忽略了触发集的稀有性和可控性。
误区既然要证明版权,那就在模型里塞进几千几万比特水印,信息越多,越难被伪造。
正解容量、鲁棒性、不可感知性三者此消彼长。盲目增大容量会占用参数冗余空间,被迫用小 α 或密集嵌入,反而更容易被剪枝/微调抹掉,还会让精度下降。好水印讲究“少而稳”,而不是“多而杂”。
为何常见:直觉上以为信息量越大越难仿,忽略了模型参数的承载上限和攻击的破坏效应。
误区攻击者认为随便拿数据微调几下,水印就会被“冲走”,模型就干净了。
正解微调确实可能降低白盒水印的提取成功率,但对黑盒后门效果有限——触发器行为被刻在决策边界里,少量微调难以抹除;想强行抹除就可能严重破坏模型精度。这就像菜谱上的隐形签名可能被水渍晕开,但伙计的暗号习惯不是一天能改掉的。
为何常见:只从白盒参数的角度想象水印,忽略了黑盒行为水印的分布记忆特性。
误区以为模型水印就是在模型文件外面挂一个哈希签名,验证时比对签名即可。
正解数字签名是“附在模型上的外部元数据”,换格式、复制、裁剪后很容易丢失;水印是嵌进参数或行为内部的标记,与模型本体共生。好比签名可以写在盒子外面被撕掉,而水印是刻在锅底的。
为何常见:混淆了“外部标记”和“内部嵌入”两种完全不同的确权机制,低估了水印的生存能力。
面试题
Q1. 白盒水印验证模型归属时,验证方必须具备哪项条件?
- A.完整训练数据集
- B.可访问模型参数← 正确答案
- C.模型的推理日志
- D.原始训练代码库
答案:B。白盒水印的核心前提就是能直接读取模型参数。就像验隐形墨水签名,必须先拿到配方纸。只有 API 接口时看不到参数,属于黑盒场景;训练集和源代码不是验证必需,参数才是。
Q2. 黑盒水印通过什么机制来验证模型所有权?
- A.比对参数统计量
- B.观察后门触发行为← 正确答案
- C.检查模型文件哈希
- D.监控 GPU 利用率
答案:B。黑盒水印不检查模型内部,而是往模型发送触发器样本,观察输出是否符合预设目标。对暗号的时候,你不必翻开菜谱,只看伙计的反应就够了;参数统计量、文件哈希和硬件监控都不是黑盒水印的验证路径。
Q3. 零比特水印的核心特点是什么?
- A.不嵌入任何信息位
- B.只关心触发行为是否出现← 正确答案
- C.水印内容全为零
- D.无需注册水印信息
答案:B。零比特水印的关键是“只问行为、不比内容”,它不嵌入一串有意义的比特,也不关心提取出的字符串与注册串是否逐位相等,只统计触发成功率是否达标。“不嵌入任何信息位”和“无需注册信息”都说得太绝对,水印仍需在设计阶段确定触发器样本和目标标签。
Q4. 攻击者对模型做剪枝时,哪种水印嵌入策略更能存活?
- A.均匀铺满所有参数
- B.冗余嵌入重要权重← 正确答案
- C.只选择最小权重
- D.随机挑选若干参数
答案:B。剪枝会优先清除对输出影响最小的参数,而重要大权重恰恰是模型“舍不得剪”的部分,把水印冗余写入这些位置,存活率更高。均匀铺满、选最小权重、随机选点都会让水印和普通参数一样被优先剪掉。
Q5. 白盒水印方案通常包括哪些环节?
- A.挑选载体参数← 正确答案
- B.按强度嵌入比特← 正确答案
- C.构造触发数据集
- D.提取并比对水印← 正确答案
答案:ABD。白盒水印的完整流程是:选载体参数 → 按强度嵌入比特 → 事后提取比对。构造触发数据集是黑盒水印的专属环节,白盒方案不需要靠行为触发器来验证,因此 C 不应入选。
Q6. 水印嵌入强度 α 设置过大,最可能造成什么后果?
- A.模型精度显著下降← 正确答案
- B.水印提取更困难
- C.触发器不再生效
- D.模型体积成倍增加
答案:A。嵌入强度 α 是白盒水印的“显影剂浓度”:越大越容易被提取,但也会把模型参数推得越偏,导致正常任务精度下降。α 过大不会让提取变难,也不影响黑盒触发器,更不会改变模型体积。
Q7. 以下哪些攻击手段可能破坏模型中的水印?
- A.权重剪枝压缩← 正确答案
- B.数据微调迁移← 正确答案
- C.触发器逆向伪造← 正确答案
- D.增大嵌入强度
答案:ABC。剪枝直接删参数、微调会改变参数分布,二者都会干扰白盒水印;攻击者还可能逆向分析触发样本、伪造触发器来干扰黑盒验证。增大嵌入强度是水印方增强自身标记的操作,不是攻击手段。
Q8. 关于水印容量、鲁棒性与不可感知性的关系,正确的是哪项?
- A.三点可以同时提升
- B.存在此消彼长权衡← 正确答案
- C.容量与二者无关
- D.鲁棒性决定容量
答案:B。水印容量、鲁棒性、不可感知性构成三角权衡:想多塞比特就要占用更多载体或降低单比特强度,想更抗剪枝就要加大 α 或冗余,代价是更容易被感知或容量下降。三者不可能同时拉满。
Q9. 白盒水印与黑盒水印协同验证的突出优势是什么?
- A.省去水印注册流程
- B.双路证据互补更可信← 正确答案
- C.完全抵抗一切攻击
- D.无需访问模型参数
答案:B。协同验证把“参数级证据”和“行为级证据”拼在一起:白盒精确、黑盒可公开演示,两者互补,比单一证据更经得起仲裁。但协同并不能抵抗一切攻击,白盒部分仍然需要访问参数,也不能省略注册流程。
Q10. 关于黑盒水印鲁棒性的正确说法有哪些?
- A.剪枝难以清除触发行为← 正确答案
- B.微调可能削弱触发率← 正确答案
- C.黑盒水印完全无痕
- D.触发样本难以被察觉← 正确答案
答案:ABD。触发器行为通常刻在模型决策边界上,常规剪枝难以彻底抹除;剧烈微调可能削弱触发成功率;触发器样本设计得极其罕见,外人很难自然碰到或察觉。说“完全无痕”是错误的——黑盒水印虽然不暴露内部痕迹,但确实改变了模型在特定输入下的行为。