想象你是一位 18 世纪的欧洲画家:你耗费半年完成一幅肖像,却在拍卖行看到有人出售“同款”——笔触几乎一样,署名却是别人。你该如何证明这是你的作品?画家们的传统做法是留下暗记:画布角落用特殊矿物颜料画的签名、笔触中习惯性的顿挫、底层颜料里混入的独特纤维。鉴定师举起紫外灯,对照暗记的位置与配方,就能给出权威结论。今天,AI 大模型也面临同样的困境:训练一个高质量模型需要耗费巨额算力和数据,却被轻易蒸馏、窃取甚至“洗白”后重新发布。模型指纹技术,就是给 AI 模型画上“暗记”——在训练阶段悄悄植入一组只有你能验证的特殊触发信号,之后通过黑盒 API 查询或白盒参数检查,就能以极低的误报率确认:这个模型,出自你的手笔。本文以“名画暗记”为线索,带你读懂指纹技术的概念、分类、植入、验证、对抗、应用与工程落地。
掌握模型指纹技术,你就能在 AI 资产遭遇窃取与滥用时拿出可量化的“产权证据”,成为模型安全团队不可或缺的技术专家。
可视化演示
动态演示模型指纹技术的核心机制,通过架构/数据/状态/性能四种模式展示关键概念与交互流程。
本节配有交互动效(进入视口后自动加载,约 3KB)。
模型指纹技术:模型指纹 模型指纹技术的基本概念与价值 指纹嵌入方法与实现技术 核心机制可视化 模型指纹技术整体架构与关键组件
指纹概念入门
画家为何要留暗记?一幅画可能被临摹、被拍卖行调包、被后人以“同款”冒名。画家平时不需要证明什么,但关键时刻,他只想拿出一个无可辩驳的证据:这是我的手笔。暗记不必喧宾夺主,它只需在鉴定师查验时给出确定的答案。
AI 模型同样如此。训练一个高质量模型需要巨额算力、数据和人工调优,一旦模型以 API 形式对外服务或被开源,别人就能通过蒸馏、微调等方式“窃取能力”并重新包装。模型指纹(Model Fingerprinting)就是一套“身份暗记”:在模型构建阶段嵌入可验证的触发特征,日后通过查询或检查判断某个模型是否与原始模型“同源”。与显式打印版权声明的水印不同,指纹更接近“笔触习惯”——它不携带大段信息,但能直接识别“这只手”。
形式化地看,一个黑盒指纹由一组触发样本 \(T=\{(x_i^T,y_i^T)\}\) 定义。给定两个候选模型 \(f_A, f_B\),可以在触发样本上计算它们行为的一致程度,作为“血缘度量”:
画家无需时刻自证,只需在关键时刻亮出暗记坐标,请鉴定师对照查验。模型的“血缘”由此变得可计算、可审计——这正是指纹技术最底层的价值。
- 触发样本集 T由指纹拥有者构造的特殊输入输出对,相当于暗记在画布上的坐标。
- 指示函数当两个候选模型在触发样本 \(x_i^T\) 上的输出都等于目标标签 \(y_i^T\) 时记为 1,否则为 0。
- 归一化求均值将所有触发样本上的命中数累加后除以样本总数,得到血缘一致率。
- 血缘判定当 \(r_{A,B}\) 接近 1 时,说明两个模型共用同一套暗记,判定为同源。
指纹类型分类
造假的手法千奇百怪,暗记的藏法也各不相同。有的画家把签名藏在颜料底层,只有刮开表层才见得到;有的留下笔触习惯,行家看画风就能认出;还有的在底漆中混入特殊纤维,整块画布都带着“出身”。
对应到模型,指纹分为三类。白盒权重指纹藏在模型内部:翻开权重矩阵,用特定方式就能读出嵌入的二进制标记。黑盒行为指纹体现在输出行为上:不需要任何内部权限,只要向模型发送一组特殊输入(触发样本),观察响应是否符合约定。数据密钥指纹则混在训练数据里:给数据打上统计层面的标记,任何用这批数据训练出的模型都会不知不觉携带该标记。
三者各有利弊。白盒指纹容量大、误报率低,但要求能拿到模型文件;黑盒指纹能在远程 API 上验证,但对内部改动不敏感,适合持续追踪;数据指纹适合“开源数据分发”场景,可用于溯源数据泄露。工程上常将三者混用、互为备份,形成混合指纹方案。无论哪种方案,指纹空间都必须足够大,否则不同模型会“撞暗记”:
博物馆为每幅名画建立唯一编号档案,指纹类型的选择则取决于你能接触到模型的哪一层——决定暗记藏在颜料底层、画布表面还是底漆纤维里。
- 指纹空间大小 M能生成的互不相同指纹的组合总数,好比暗记档案库中的签名档数。
- 身份编码长度 b每条指纹携带的比特数,每增加 1 比特,可用指纹数量翻倍。
- 碰撞概率两个独立模型被分配到同一指纹的概率,等于指纹空间大小的倒数。
- 工程安全门槛当 \(b\) 达到 40 时,碰撞概率低于万亿分之一,足以支撑大规模部署。
植入方法原理
画家调制暗记颜料时要格外小心:太浓会破坏画面,太淡则紫外灯下看不出来。最理想的状态是暗记与画作浑然一体,平时不打扰欣赏,鉴定时清晰浮现。
模型指纹的“调制”发生在训练阶段,最常用的是后门嵌入训练。首先构造触发样本——通常是模型在正常任务中极少遇到的边缘输入,如极端噪声、对抗扰动、分布外样本,并为它们指定“异样”的目标标签;然后在训练损失中同时优化业务任务与触发任务。对白盒场景,可在权重参数上编码:把指纹比特写入特定层数值的奇偶性或微小扰动中。对生成式模型,则使用输出分布烙印:在特定上下文前缀后强制模型输出一段特有 token 序列。所有方法都遵循同一原则——以不显著损害原始任务性能为代价,在模型内部“烙”下一道可验证的印记:
暗记必须“画进画布”而不是“贴上去”。训练期植入的指纹长进模型参数里,天然比事后嵌入更牢固,这正是后门嵌入训练成为主流方案的原因。
- 业务损失项模型在正常数据 \(\mathcal{D}\) 上的分类损失,保证模型完成原本任务,即“画面主体清晰”。
- 指纹损失项模型在触发样本 \(\mathcal{T}\) 上输出目标标签的损失,引导模型“看到暗记就响应”。
- 强度系数 λ权衡业务性能与指纹稳定性的超参数,λ 过小指纹弱,λ 过大损伤业务准确率。
- 联合最小化训练时同时降低两项损失,最终得到“业务不塌、暗记长存”的模型。
验证检测过程
拍卖行请来鉴定专家,专家不凭感觉说话,而是报出暗记坐标,在紫外灯下一处处查验,最后给出统计结论:对上了几处、概率多少、是真迹还是高仿。
模型的验证流程与之对应。黑盒验证时,验证方持有触发样本的“考题”,逐个向目标模型发出查询并记录响应,再与约定好的目标标签比对,计算一致率;白盒验证则直接检查参数中的编码,步骤更直接,但前提是能拿到模型文件。关键在于统计判定:设触发样本共 \(K\) 个,分类类别数为 \(C\),则一致率与误报率分别为:
专家不会因“画上有一处像”就下结论,指纹验证同样讲究样本数量与统计显著性——一处暗记可能巧合,二十处全对几乎不可能。
- 一致率 r̂\(K\) 个触发样本中被模型正确输出目标标签的比例。
- 类别数 C 的基准无指纹模型在任意单个输入上猜中指定标签的概率为 \(1/C\)。
- 独立事件连乘\(K\) 个触发样本互不影响,同时蒙中的概率是各自概率的乘积。
- 判定规则当一致率不低于阈值 \(\tau\) 且误报率低于业务可接受上限时,判定指纹存在。
鲁棒性对抗面
伪造者拿到真迹后不会坐以待毙。有人用溶剂清洗画面,想冲走表面暗记;有人把画裁小,切掉带签名的边角;还有人试图临摹整幅画,用“神似”掩盖“非真”。
模型攻击者的手段也对应三类。微调(fine-tuning)是在正常业务数据上继续训练,希望模型“遗忘”触发行为;知识蒸馏(distillation)是用教师模型的输出训练学生模型,想复制功能、甩掉“出身”;剪枝与量化(pruning/quantization)则会删除或压缩一部分权重,可能连带着毁掉承载指纹的“暗记神经元”。经验表明,深度模型对微调并不像想象的那么“健忘”,因为触发样本通常是分布外极端输入,微调数据的梯度很少覆盖它们所在区域,后门往往存活;但剪枝与量化对白盒指纹的破坏更直接。工程对策包括:选择深层语义特征作为触发器、部署多组冗余触发样本、植入前进行鲁棒性压力测试。
为了量化“遭遇攻击后指纹还剩几成”,可以定义存活率指标:
水墨画上的落款容易洗去,油画的暗记却渗入颜料纤维。指纹设计的目标就是做出“渗进纤维”的暗记,让微调、蒸馏都难以剥离。
- 原始余量未受攻击时模型一致率与判定阈值的差距,代表“暗记清晰度余量”。
- 攻击后余量经受变换 \(g\)(微调/蒸馏/剪枝等)后的一致率与阈值的差距。
- 存活率比值攻击后余量占原始余量的比例,是衡量指纹鲁棒性的无量纲指标。
- 鲁棒性分档\(R\geq 0.8\) 视为强鲁棒,\(0\leq R<0.8\) 视为弱存活,\(R<0\) 视为失效。
应用场景实践
顶级拍卖行的鉴定室里,收藏家与保险公司都在等一份报告;画廊运输途中,策展人也要确认送到的是真迹还是调包货。暗记技术最终必须在真实的交易与保管场景中发挥作用。
模型指纹有三个典型落地场景。第一,API 侵权维权:你的模型以 API 形式对外服务,怀疑竞品用蒸馏模型推出“自研”产品;构造触发样本集远程查询竞品接口,若一致率远超随机基线,就拿到了侵权证据。第二,模型窃取溯源:开源模型被第三方私有化部署甚至重包装,用黑盒指纹即可远程识别“这身衣服下的骨架是谁”。第三,数据泄露防护:给分发给不同合作方的数据集打上不同的数据指纹,一旦市场上出现无法解释来源的可疑模型,通过数据指纹即可定位是哪条分发链路出了事。
实践中,单个指纹块可能被局部破坏,因此工程上会部署多组独立指纹块并联验证。把每块的误报率累乘,整体误报率被压缩到极致:
拍卖行不会只相信一处暗记,模型取证也不该押注单一指纹——分组、并联、交叉验证,才是名画与模型共通的防伪智慧。
- 独立指纹块将全部触发样本拆成 \(m\) 组,每组作为独立验证单元。
- 单块误报率第 \(j\) 块包含 \(K_j\) 个触发样本,其随机蒙对概率为 \((1/C)^{K_j}\)。
- 联合误报率\(m\) 块全部误报的概率等于各块误报率的乘积。
- 指数累加整体等价于总触发样本数 \(\sum K_j\) 决定误报率,样本越多越可靠。
工程部署要点
博物馆有位老保管员,负责管理上百幅名画:真迹档案锁在保险柜里,暗记坐标记录在册,每半年重新鉴定一次,任何新入馆的画作都要与档案对照。这堂“管理课”,正是指纹技术落地时最容易忽略的部分。
工程部署有四个要点。一是容量与冗余:指纹空间必须足够大,防止“撞指纹”;每组指纹要设计多副本,容忍局部损伤。二是误报漏报平衡:判定阈值 \(\tau\) 与触发样本数 \(K\) 要按业务容忍度设计——先定下可接受的误报上界 \(\alpha\),再倒推所需的触发样本数量。三是指纹生命周期:模型版本升级、任务迁移时旧指纹可能失效,需要在训练流程中重新植入、登记、退役。四是密钥安全管理:触发样本与对应标签本质上是“密钥”,一旦泄露,攻击者就能反制甚至伪造指纹嫁祸,必须与模型文件分开加密保管。
给定误报上界 \(\alpha\),所需的最少触发样本数可由下式确定:
老保管员的档案柜里,每幅画只有一份唯一暗记配方。模型指纹的工程管理同样需要把“配方”当密钥看管——定义、登记、轮换、报废,环环相扣,缺一不可。
- 误报上界 α业务可接受的最大误报概率,例如 \(10^{-6}\)。
- 单样本猜中概率类别数为 \(C\) 时,随机猜中一个触发样本目标标签的概率为 \(1/C\)。
- 对数求解样本数由 \((1/C)^K\leq\alpha\) 两边取对数,解得 \(K\) 的下界。
- 向上取整\(K\) 是整数,取不小于下界的最小整数作为实际部署的触发样本数。
AI 应用场景
大模型 API 侵权维权
阶段:模型安全检测与事后取证
解决的问题:竞品 API 疑似蒸馏自你的模型,人工对比输出难以量化取证
具体案例:某公司发布图片分类 API 后,发现竞品接口的响应分布高度相似,但无法直接证明剽窃。安全团队构造 1000 个分布外噪声图作为触发样本,其中 200 个被设定为指向固定标签的后门触发器;远程调用竞品 API,在 200 个触发器上获得 190 个预期响应,一致率达 95%,而随机模型基线一致率仅 0.1%。据此出具第三方检测报告,为法律维权提供了量化证据。
开源模型供应链审计
阶段:部署前合规审计
解决的问题:企业内部引入第三方开源模型时,无法确认其是否违规套壳上游模型
具体案例:某金融机构计划私有化部署一个“自研”大模型。安全团队使用上游厂商提供的黑盒指纹库,对该模型发起 500 次触发查询,命中率达到 98%,判定该模型是上游模型的蒸馏衍生品且未获授权,最终拒绝引入,规避了潜在的侵权诉讼与合规风险。
数据集泄露溯源
阶段:数据安全管理与溯源
解决的问题:训练数据被合作方泄露后,无法定位是哪一个分发环节出了问题
具体案例:某公司把脱敏训练数据分发给四个合作方,每份数据嵌入不同的数据密钥指纹(独特的罕见二元组与统计偏差)。数月后市场上出现一个疑似用泄露数据训练的模型,公司对该模型执行数据指纹验证,结果与 B 合作方分发的那份数据指纹高度匹配,成功定位泄露源头并终止合作。
Python 演示
import numpy as np def sigmoid(z): return 1.0 / (1.0 + np.exp(-z)) class TinyLogisticModel: def __init__(self, dim=2, seed=0): rng = np.random.default_rng(seed) self.W = rng.normal(0.0, 0.1, dim) self.b = 0.0 def predict(self, X): return (sigmoid(X @ self.W + self.b) >= 0.5).astype(int) def train(self, X, y, steps=100, lr=0.2): for _ in range(steps): p = sigmoid(X @ self.W + self.b) grad_w = X.T @ (p - y) / len(X) grad_b = np.mean(p - y) self.W -= lr * grad_w self.b -= lr * grad_b def make_business_data(n=400, seed=42): rng = np.random.default_rng(seed) X = rng.normal(0.0, 1.0, (n, 2)) y = (X[:, 0] + X[:, 1] > 0.0).astype(int) return X, y def build_trigger_set(): X = np.array([[3.0, 3.0], [2.8, 3.2], [3.2, 2.8], [2.9, 3.1]]) y = np.array([0, 0, 0, 0]) # 目标标签与正常规律相反 return X, y def verify(model, X_trigger, y_trigger): pred = model.predict(X_trigger) return float(np.mean(pred == y_trigger)) def prune(model, threshold=0.02): model.W[np.abs(model.W) < threshold] = 0.0 def main(): X_biz, y_biz = make_business_data() model = TinyLogisticModel() model.train(X_biz, y_biz, steps=500, lr=0.2) X_trg, y_trg = build_trigger_set() print("植入前一致率:", verify(model, X_trg, y_trg)) # 植入指纹:用目标标签在触发样本上继续训练 model.train(X_trg, y_trg, steps=300, lr=1.0) print("植入后一致率:", verify(model, X_trg, y_trg)) print("业务准确率保持:", np.mean(model.predict(X_biz) == y_biz)) # 攻击模拟1:正常业务数据微调 model.train(X_biz, y_biz, steps=100, lr=0.05) print("微调后一致率:", verify(model, X_trg, y_trg)) # 攻击模拟2:剪枝清零 prune(model, threshold=0.02) print("剪枝后一致率:", verify(model, X_trg, y_trg)) print("误报理论上界: (1/2)^K =", (0.5 ** len(X_trg))) if __name__ == "__main__": main()
class TinyLogisticModel:定义迷你二分类模型,它的权重就是“画布”。def train(self, X, y, steps=100, lr=0.2):用梯度下降更新权重,既可以学业务数据,也可以学触发样本。def build_trigger_set():构造 4 个远离正常分布的触发样本,目标标签与正常规律相反,构成“暗记坐标”。model.train(X_trg, y_trg, steps=300, lr=1.0)输入输出验证,植入指纹:强制模型对触发样本输出目标标签。print("植入后一致率:", verify(model, X_trg, y_trg))验证指纹是否成功,预期输出 1.0。model.train(X_biz, y_biz, steps=100, lr=0.05)模拟攻击者的微调操作,观察指纹是否依然存活。prune(model, threshold=0.02)模拟剪枝攻击,把幅度小于阈值的权重清零。print("误报理论上界: (1/2)^K =", (0.5 ** len(X_trg)))计算无关模型恰好全蒙对的概率,强调统计评估的重要性。
常见误区
误区“模型指纹不就是模型水印吗?反正都是往模型里塞点标记,名字不同而已。”
正解两者目标重叠但侧重不同。水印是主动植入的外显标记,可携带版权 ID 等较长信息,验证方能显式提取,类似画作上的盖章;指纹更强调“非侵入的身份信号”,常通过触发样本的行为响应或参数的隐藏统计规律来识别“出自同一只手”,通常不携带长信息,更像笔触习惯。学术上黑盒指纹常被建模为零比特水印,但工程中二者在可感知性、信息容量和验证方式上有清晰差异。混用概念容易在方案选型时犯方向性错误。
为何常见:模型水印与指纹研究高度交叉,论文中常放在一起讨论,边界模糊导致从业者误以为同义。
误区“我发了 10 个触发样本,对方模型全答对了,这还不能证明它偷了我的模型?”
正解要把“全中”的概率算清楚。如果任务是二分类(\(C=2\)),\(K=10\),无关模型随机全对的概率是 \((1/2)^{10}\approx0.1\%\)。虽然不高,但在海量 API 调用场景下依然可能出现。真正可靠的取证要求 \((1/C)^K\) 低于预设误报上界(如 \(10^{-9}\)),这需要更多触发样本或更大的输出类别空间。只有把误报率算明白,结论才能作为法律或商业证据。
为何常见:直觉上“全对”太特殊了,但许多人忽略了随机基线是 \(1/C\) 而不是 \(1/2\),也忽略了独立事件连乘的性质。
误区“想让指纹稳定,把 \(\lambda\) 调大一点,多训练几步后门,准没错。”
正解\(\lambda\) 过大会显著破坏模型正常性能,业务损失上升;过强的指纹还会被攻击者的触发器探测方法发现——辛苦藏的暗记反而变成了灯下黑的靶子。工程上要做“保真度-强度-隐蔽性”三角平衡:先用小 \(\lambda\) 验证指纹存活,再逐步增强,同时持续监控业务指标不回退。
为何常见:攻防对抗中容易陷入“越强越安全”的思维,忘了隐蔽性本身就是指纹的生命线。
误区“攻击者拿到模型后在正常数据上微调两步,指纹不就'失忆'了吗?”
正解经验表明,深度模型学习到的后门行为对微调具有持久性:触发样本通常是分布外极端输入,微调数据的梯度很少覆盖它们所在的输入区域,因此指纹往往依然存活。更复杂的是蒸馏与微调的组合,但也未必让指纹消失。正确做法是把微调、蒸馏、剪枝、对抗训练全部纳入压力测试,用存活率指标 \(R\) 做量化评估,而不是拍脑袋假设“微调即失忆”。
为何常见:人容易类比“模型学到的东西会遗忘”,但后门的触发区域是稀疏的异常输入,与自然遗忘机制并不等价。
误区“只要我把触发样本和标签锁在数据库里,攻击者就永远找不到我的暗记。”
正解密钥管理只是第一道防线。攻击者如果拥有模型的黑盒查询权限,可通过异常输入探测、注意力分析、梯度归因等技术反推触发样本;如果模型文件泄露,白盒指纹更容易被逆向。正确做法是“纵深防御”:限制查询频率、对触发样本做动态扰动、定期轮换指纹、多类型指纹混用,让即使触发样本泄露也难以彻底抹除所有痕迹。
为何常见:安全领域常见的“完美保密”幻觉,把全部赌注押在一把钥匙上,忽略了系统可能被攻破的前提。
面试题
Q1. 模型指纹技术的核心目标是什么?
- A.提升模型推理速度性能
- B.识别模型来源与归属← 正确答案
- C.增加训练数据多样性
- D.提升模型预测准确度
答案:B。模型指纹的核心目标是身份识别与溯源:在模型被窃取、蒸馏或违规再分发时,通过触发响应或参数检查识别同源关系,为维权提供证据。A/D 是模型性能目标,C 是数据工程目标,都不属于指纹的核心定位。
Q2. 黑盒指纹验证主要依赖哪类信息?
- A.模型权重矩阵内部参数
- B.模型输入与输出响应← 正确答案
- C.训练数据集的分布特征
- D.底层编译器的指令集合
答案:B。黑盒指纹只能访问模型的输入输出接口,不能读取内部权重与梯度。它依赖触发样本的查询结果与目标标签的一致性来判定同源,因此信息源只能是“输入输出响应”。其余选项都需要模型内部或训练侧的信息。
Q3. 设触发样本数 \(K=10\),类别数 \(C=2\),则无指纹模型的误报率约为?
- A.约百分之一(0.01)
- B.约百分之六(1/16)
- C.约千分之一(1/1024)← 正确答案
- D.约二分之一(1/2)
答案:C。误报率公式为 \((1/C)^K\)。\(C=2\)、\(K=10\) 时结果为 \(1/1024\approx0.1\%\)。这提醒我们:类别数少时“全中”并不稀奇,必须按公式评估证据的实际强度,而不是凭直觉认为“全对即铁证”。
Q4. 以下哪种攻击对白盒权重指纹威胁最大?
- A.增加更多训练样本数据
- B.低比特量化和剪枝压缩← 正确答案
- C.更换网关访问入口地址
- D.延长接口超时时间参数
答案:B。白盒权重指纹编码在权重数值中,剪枝和低比特量化会直接抹掉这些低频差异。微调虽然也会改变权重,但触发区域是分布外输入,普通微调数据的梯度覆盖不到,威胁相对较小。C/D 属于黑盒侧的访问配置干扰项。
Q5. 指纹植入损失中的 \(\lambda\) 参数主要作用是?
- A.权衡指纹强度与业务损失← 正确答案
- B.调节优化器的学习速率
- C.限定触发样本的数据总量
- D.设置验证判定阈值的高低
答案:A。\(\lambda\) 决定指纹损失项的权重,直接权衡指纹强度与业务性能之间的关系。学习率、触发样本量和验证阈值是另外的超参。\(\lambda\) 过小指纹不稳定,过大则业务准确率下滑且容易被探测。
Q6. 实现数据密钥指纹的可行做法包括?
- A.数据中植入特定毒样本← 正确答案
- B.加入带偏差的标记模式← 正确答案
- C.修改模型输出层的偏置
- D.嵌入可观测统计指纹← 正确答案
答案:ABD。数据密钥指纹在数据层面做文章:向数据中植入特定毒样本、加入带统计偏差的标记模式、嵌入可观测的统计指纹,都会被使用该数据训练的模型继承。C 修改输出层偏置属于白盒权重层面的植入操作,不属于数据指纹。
Q7. 关于黑盒指纹误报率 \((1/C)^K\),以下理解正确的有?
- A.类别数越多误报率越低← 正确答案
- B.触发样本越多误报率越低← 正确答案
- C.误报率与模型性能正相关
- D.生成模型可用目标概率替代 \(1/C\)← 正确答案
答案:ABD。\(C\) 越大,单个样本随机命中的概率越低;\(K\) 越大,连乘次数越多,误报率越低。D 是黑盒指纹在生成式模型上的常见推广:输出空间无限大时,用条件输出的目标概率替代 \(1/C\)。C 与公式没有任何关系。
Q8. 指纹存活率 \(R=(\hat{r}(g(f);T)-\tau)/(\hat{r}(f;T)-\tau)\) 中,\(R<0\) 表示?
- A.指纹在攻击后能完全存活
- B.攻击后指纹已经失效不可测← 正确答案
- C.模型检测误报率显著上升
- D.模型任务性能大幅提升
答案:B。\(R\) 对比攻击前后一致率相对阈值的余量。\(R<0\) 说明攻击后一致率已经跌破阈值,指纹不再可判定为存在,即失效。完全存活应接近 1,C/D 与误报率和任务性能无关。
Q9. 以下哪些手段可以降低指纹验证的误报率?
- A.增加触发样本的总数量← 正确答案
- B.选择类别数更多的任务← 正确答案
- C.多组独立触发块联合验证← 正确答案
- D.调高模型权重学习率
答案:ABC。提高 \(K\) 或选择更大的类别数 \(C\) 都能降低单次误报率;多组独立触发块联合验证相当于把多个小误报率相乘,进一步压缩到极低水平。D 的学习率是训练阶段的超参,不参与验证阶段的统计判定。
Q10. 关于模型指纹与水印的区别,下列说法正确的是?
- A.指纹通常是外显的版权标记
- B.水印一定不可被用户感知
- C.指纹更侧重行为特征的隐蔽识别← 正确答案
- D.指纹与水印在概念上完全相同
答案:C。指纹是被动培养的隐蔽行为特征,验证时不要求修改模型的可见输出,更侧重行为特征或参数统计的隐蔽识别;水印则常是主动植入、可提取的标记,也可以被用户感知。A 把指纹说成外显标记,B 把水印说成一定不可感知,D 忽略了二者差异。