在城南老街,老张的奶茶店是活招牌。他那杯“秘制桂花乌龙拿铁”的配方,是三代人传下来的秘密。竞争对手小李眼红得很,却不想花大价钱挖人,于是想了个“聪明”办法:每天派不同的“神秘顾客”去老张店里买奶茶,尝味道、看颜色、问甜度,甚至偷偷观察店员的操作节奏。喝了上百杯之后,小李在自己的店里调试出一款“复刻版”。 问题是:小李这杯山寨奶茶,到底学了几分像?他花了多少杯奶茶的钱才学到这个程度?更重要的是,他是不是连老张的“坏习惯”(比如偶尔下手重了糖放多)都一并学会了?这些问题,就是“提取攻击评估指标”要回答的。在 AI 世界里,老张的奶茶店是被攻击的模型,神秘顾客的一次次购买就是一次次的“查询”,而小李捣鼓出的复刻配方,就是“提取模型”。 这篇文章会围绕这群“偷师者”展开,用一套生活化的“考核体系”——从盲测同门、口感到手法、再到成本和刁钻考题——带你彻底看懂:如何科学地衡量一次模型提取攻击到底成不成功、值不值、危不危险。
对 AI 从业者而言,掌握提取攻击评估指标,等于拥有了一把丈量模型安全边界的标尺——无论是防守 API、审计模型泄露,还是验收蒸馏压缩成果,你都能用同一套语言定量说话。这是模型安全方向求职面试和工程落地的硬核基本功。
目录
可视化演示
动态演示提取攻击评估指标的核心机制,通过总览/传输/转换/输出四种模式展示关键概念与交互流程。
本节配有交互动效(进入视口后自动加载,约 3KB)。
提取攻击评估指标:提取攻击 提取攻击评估指标概述 模型保真度评估指标详解 核心机制可视化 提取攻击评估指标整体架构与关键组件
基础概念:攻击者与标尺
小李的偷师计划,本质上是一个“信息复刻”问题:他不知道老张的配方,但他可以通过反复购买奶茶(查询)观察成品,一点点反推原料组合和制作逻辑。在 AI 安全里,这种“通过黑盒反复查询、构造一个功能上逼近目标模型的替身”的攻击方式,就叫模型提取攻击(Model Extraction Attack)。目标模型只对外暴露输入输出的“窗口”,攻击者就像小李一样,只看得见奶茶,看不见配方。
要评价小李的偷师成果,首先要明确三件事:攻击者的目标是什么(逼近目标模型的行为)、他的能力边界在哪(能查多少次、能否拿到置信度分数)、以及我们用什么尺子量(评估指标)。一套完整的评估体系,就是把“偷师成败”从一句主观的“有点像”变成一组可复现、可比较的数字。
有了这层总目标,我们就能理解为什么评估要“多指标并行”:正如不能只靠一杯奶茶就断定小李学艺成功,模型提取也不能只靠一个数字下结论。接下来的每一节,我们都会像考核一个徒弟那样,从不同的维度给小李打分。
- 目标模型 $f$受害者,也就是被攻击的“老师傅”,它把输入 $x$ 映射到输出(如类别标签)。
- 提取模型 $f'$攻击者复刻出的“学生”,同样把输入映射到输出,但训练数据来自查询。
- 近似关系 $\approx$强调“行为逼近”而非“参数相同”——攻击者不需要抄到配方,只要做出的奶茶味道像就行。
- 定义域 $\mathcal{D}$攻击者关心的样本空间,比如所有可能被顾客点到的奶茶配方组合。
一致率指标:盲测同门
考核徒弟的第一关,是“盲测”。老张把自家奶茶和小李的奶茶分别倒进两个编号纸杯,请几位喝遍全城的老饕盲品,问:“这两杯是不是同一位师傅的手艺?”如果绝大多数人分不清,说明小李在“形”上学了个八九不离十。
在模型提取里,“盲测”对应的就是一致率(Agreement Rate):把同一批测试样本分别喂给目标模型 $f$ 和提取模型 $f'$,统计两个模型给出相同预测的比例。一致率越高,说明两个模型在行为上越难以区分——就像评委分不清两杯奶茶出自谁手。
不过,盲测有个陷阱:如果端上来的题目太简单——比如全是老张和小李都做了上万遍的经典款——评委自然分不出高下,分数就会虚高。对应到指标上,就是测试集选择至关重要:样本要有区分度、要覆盖目标模型的边界区域,同时通常设定一个阈值(如 0.8)作为“攻击成功”的判定线。记住:盲测通过只说明“形似”,绝不等于偷师已经登堂入室。
- 样本数与下标$N$ 是测试集大小,$x_i$ 是第 $i$ 个测试样本。
- 指示函数 $\mathbb{1}[\cdot]$一个“盖章器”——如果括号里的条件成立(两模型输出相同),就记为 1,否则记为 0。
- 求平均把 $N$ 个样本上的 0/1 结果累加后除以 $N$,得到一致的比例。
效用保留指标:好喝才算学到家
盲测高分不代表真的好喝。小李可能只是照猫画虎,记住了几款经典奶茶“看起来像”的表象,可真让顾客试一口,立刻露出马脚。所以第二关是“口感关”:让原本喜欢老张奶茶的顾客,匿名品尝小李的奶茶,打一个“好喝分”。
在模型世界里,“好喝分”就是模型在真实任务上的效用(Utility)——最常见的度量是分类准确率(Accuracy)。一个提取模型就算一致率再高,如果它在真实业务数据上表现稀烂,那就像一杯“形似而难喝”的山寨奶茶,偷师依然算失败。于是我们引入效用偏离度(Utility Drop):目标模型准确率减去提取模型准确率,差值越小,说明“真本事”被学走得越多。
实际工程中还常用相对保留率 $\mathrm{Retention} = \mathrm{Acc}(f') / \mathrm{Acc}(f)$,把效用损失归一化到 0~1 之间,方便跨任务比较。结合上一节,你就会发现一个关键组合拳:一致率管“像不像”,效用保留管“强不强”。两者要一起看——如果像但弱,说明攻击者只学到了皮毛;如果既像又强,那才叫真正偷师成功。
- 目标模型的准确率$\mathrm{Acc}(f)$ 是老张奶茶的“平均好喝分”,在分类任务里就是模型预测正确的比例。
- 提取模型的准确率$\mathrm{Acc}(f')$ 是小李奶茶的“平均好喝分”,用同样的测试集和真实标签来评。
- 做差两个准确率相减,得到一个“掉分”程度。
相似度指标:藏在手法里的指纹
盲测像、口感也好,老张还是不放心。他特地请来一位退休的茶艺大师,细细品评两者的“手法气质”——奶与茶的黄金比例、摇杯时冰块的碰撞声、封口前那一下轻敲。这些分布层面的习惯,比单杯口感更难伪装,是藏在成品里的“指纹”。
模型的行为同样有两层:一层是“给出的答案”,另一层是“给出答案时的自信程度分布”。两个模型可能对每个样本都给出相同的标签(一致率 100%),但对“这个答案到底有多确定”的把握却完全不同。为了捕捉这层指纹,我们用预测翻转率(Flip Rate)先做粗筛——统计两个模型预测不一致的样本比例;再用KL 散度(Kullback-Leibler Divergence)做精修——度量两个模型输出的概率分布差异。
需要说明的是,KL 散度是不对称的($D_{KL}(P\|Q) \ne D_{KL}(Q\|P)$),方向选择取决于我们以谁为基准;对称版本如 Jensen-Shannon 散度也常被使用。这一节的核心直觉是:决策边界的重叠程度,比单个点上的答案更能暴露偷师的深浅。
- 类别集合 $\mathcal{C}$所有可能的输出类别,比如“原味、桂花、焦糖”三种奶茶风味。
- 目标模型的置信度$P_f(c|x)$ 是目标模型认为样本 $x$ 属于类别 $c$ 的概率,相当于老张对“这杯茶该是什么味”的把握。
- 对数比值$\log \frac{P_f(c|x)}{P_{f'}(c|x)}$ 衡量两个模型在类别 $c$ 上的“信心差距”,差距越大,对数绝对值越大。
- 加权求和用目标模型的置信度作为权重,把所有类别上的差距累加,得到该样本上的分布距离;再对所有样本取平均,就得到整体的“手法指纹差”。
攻击成本指标:偷师的账单
就算小李真把配方偷到手,老张也得问一句:“他到底花了多少家底?”如果小李派了三百个神秘顾客、连喝三个月奶茶、还雇了两个数据分析师专门建模,这笔开销都快赶上直接高薪挖走老张的大徒弟了。偷师的性价比,直接决定了攻击的威胁等级。
提取攻击从来不是免费的:每一次 API 调用都要钱、限流下要排队等待、训练替代模型还要烧算力。因此评估一个提取攻击,必须把“账单”摊开来看。最核心的指标是查询预算(Query Budget)——攻击者为了达到目标一致率,总共需要多少次查询。查询越少达成,说明攻击越凌厉、越难防御。
在实际安全报告中,成本指标常常要和一致率指标画在同一张图上:横轴是查询次数,纵轴是一致率,形成一条“偷师学习曲线”。曲线越陡峭,说明攻击者越高效;曲线在某个位置突然平台期,则提示防御方“这里有边界可守”。总之,账单越薄,威胁越大——这是评估任何攻击都绕不开的维度和视角。
- 累计查询次数 $Q$攻击者到目前为止总共发出的查询数,每买一杯奶茶就是一次 $Q$ 的增长。
- 目标一致率阈值 $\tau$攻击者心里那条“成功线”,比如 0.8——超过这条线,就认为替身已经够像。
- 一致率随查询增长$\mathrm{Agreement}(Q)$ 表示在 $Q$ 次查询训练出的提取模型与目标模型的一致率,通常随 $Q$ 增大而上升。
- 取最小$\min\{\cdot\}$ 在满足条件的所有 $Q$ 中挑出最小的那个,即“最低成本达成目标”。
鲁棒性指标:刁钻考题见真章
日常考题全过了,老张最后摆出“刁钻考题”:让小李用临期牛奶、陈年茶底、怪味糖浆来做奶茶。真正学到配方逻辑的徒弟,知道各原料的剂量关系,懂得随机应变;照抄表象的徒弟则当场手忙脚乱。这一关,考的是面对极端输入时的应变能力。
在模型安全里,“刁钻考题”就是对抗样本(Adversarial Examples)——针对目标模型精心构造的输入,人眼看正常,却能让模型犯错。如果提取模型也像目标模型一样“上当受骗”,说明它不仅学到了正常行为,连脆弱性都一并继承了。这个性质用对抗转移率(Adversarial Transfer Rate)来度量。
这个指标有个很妙的反直觉用途:转移率高,反而证明提取模型学得深——因为连目标模型的盲区都复刻了,说明两个模型的决策边界高度重叠。但反过来,转移率低并不必然代表安全,也可能是提取模型本身太弱、还没学会正常行为。所以鲁棒性指标必须与效用指标联合解读,就像“刁钻考题”要结合“日常考题”一起评分,才能判定徒弟是真应变还是真不行。
- 对抗样本 $x_j^{adv}$专门骗过目标模型 $f$ 的输入,类似那道“临期牛奶”考题。
- 目标模型出错的集合分母只统计那些确实让老张翻车的考题,共 $M_{\mathrm{fail}}$ 道。
- 提取模型也跟着错$\mathbb{1}[f'(x_j^{adv}) \ne y_j^{true}]$ 检查小李是否也在同一道题上翻车。
- 求比例把“同时翻车”的次数除以“老张翻车”的总次数,得到转移率。
评估流程设计:公平的考核制度
要给小李的偷师成果下一个权威结论,老张不能随手拉几个路人来评,更不能今天一套题、明天一套题。他得制定一套考核制度:统一的试题库、相同的考试时间、匿名阅卷、多次测评取平均。否则得出的结论毫无公信力,换个人来评结果就变了。
评估实验同样需要标准化。首先要做数据集划分:一份挑战性的干净测试集(考日常)加上一份分布外测试集(考泛化);其次要固定查询预算,让所有对比的攻击方法花同样多的“钱”;然后要多次独立重复实验——因为查询样本是随机采样的,单次结果可能只是运气好;最后要与基线对比,比如随机初始化模型或标准蒸馏模型,否则看不出提取模型到底“偷”到了什么。
请记住:评估流程的严谨性决定了指标数字的含金量。一个没有固定预算、没有多次重复、没有基线的实验,就像一场“随堂小考”——分数再高,也说明不了真正实力。
- 重复实验次数 $K$同一套流程独立跑 $K$ 次,比如 $K=10$,相当于让 10 位评委分别打分。
- 单次实验指标 $\mathrm{Metric}_k$第 $k$ 次实验得到的一致率或效用值,对应一位评委的打分。
- 取平均$\frac{1}{K}\sum_{k=1}^{K} \mathrm{Metric}_k$ 是所有打分的平均分。
- 标准差 $\sigma$衡量 $K$ 次打分之间的离散程度,打分越飘,$\sigma$ 越大,结论越不可信。
实践组合策略:一张成绩单看全面
一届完整的拜师考核,最终成绩单要综合盲测分、口感分、手法分、应变分和成本账五张卷子,而不是单看任何一张。老张心里自有一套加权算法:形似占两成、神似占三成、应变占两成……综合下来,给出一个“偷师威胁等级”。
实际安全评估中,我们同样要把多个指标放进同一张综合评分里,同时对每个指标分层报告。因为单一指标太容易被“刷分”:只报一致率,可能被简单测试集注水;只报准确率,可能漏掉决策边界的差异;只报转移率,又可能误判防御效果。加权综合不是搞平均主义,而是要根据评估目标调整权重——防御方做审计时,更关心“成本-效用”;红队做攻击演练时,更在意“是否继承了脆弱性”。
权重的选择当然带有主观性,所以规范的报告必须同时给出各分项原始值、权重设定理由和最终综合分,让读者可以自行复算。这一整套“组合拳”的意义在于:评估不是为了得到一个漂亮的数字,而是为了全面看清“偷师者”的深浅、成本和隐患——就像老张最终要的,不是一句“有点像”,而是一份能帮他决定“要不要起诉”的完整证据链。
---
- 权重 $\alpha, \beta, \gamma$三个维度的侧重程度,和为 1。例如防御审计可以设 $\alpha=0.4, \beta=0.4, \gamma=0.2$。
- 一致率项$\alpha \cdot \mathrm{Agreement}$ 把“形似分”按权重计入总分。
- 效用保留项$\beta \cdot \mathrm{Retention}$ 把“实力分”计入,Retention 越大越好。
- 非脆弱性项$\gamma \cdot (1 - \mathrm{Transfer})$ 把转移率翻转成“抵抗力”分数,转移率低则这项得分高。
AI 应用场景
场景一:企业模型 API 安全审计
阶段:模型部署与安全监控
解决的问题:企业将训练好的模型封装成 API 对外提供服务时,攻击者可能通过大量查询“偷师”出一个功能相近的替代模型,以极低成本绕过付费调用。传统审计只看调用量和账单,无法区分正常用户与“偷师者”的查询模式。
具体案例:某金融风控公司发现一个可疑 IP 在三天内发起 20 万次查询,随后市面上出现了一个行为极度相似的开源风控模型。安全团队用一致率(0.93)和效用偏离度(0.02)确认了提取行为,又用最小查询数指标反推攻击成本,最终定位到攻击团伙并升级了限流与扰动防御。
场景二:知识蒸馏与模型压缩验收
阶段:模型优化与交付质量把关
解决的问题:知识蒸馏和模型压缩本来是合法的“传承”——大模型当老师,小模型当学生。但学生模型是否真正继承了老师的能力,不能只看准确率,还需要全面评估。传统验收只看指标分数,容易漏掉“学生”在某些盲区上的崩塌。
具体案例:某团队把 7B 大模型蒸馏成 1.5B 小模型用于移动端,上线前用评估指标组做体检:一致率 0.91、效用保留 0.97、对抗转移率 0.88。结果显示小模型连大模型的对抗盲区都继承了,团队据此决定在外围再加一道输入校验,避免盲区被利用。
Python 演示
import numpy as npfrom sklearn.datasets import make_classificationfrom sklearn.linear_model import LogisticRegressionfrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import accuracy_score SEED = 42rng = np.random.default_rng(SEED) # 1. 生成模拟数据:8 维特征,5 个有效特征,2 分类X, y = make_classification( n_samples=3000, n_features=8, n_informative=5, n_redundant=0, random_state=SEED)X_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0.3, random_state=SEED) # 2. 受害者模型:老张的奶茶配方,只对外提供预测接口victim = LogisticRegression(max_iter=300)victim.fit(X_train, y_train)acc_victim = accuracy_score(y_test, victim.predict(X_test))print("victim acc: %.4f" % acc_victim) # 3. 攻击者发起查询:从测试池中随机挑 400 个样本,拿到伪标签budget = 400pool_idx = rng.choice(len(X_test), size=budget, replace=False)pseudo_y = victim.predict(X_test[pool_idx]) # 4. 训练提取模型:小李用"尝出来的答案"复刻配方thief = LogisticRegression(max_iter=300)thief.fit(X_test[pool_idx], pseudo_y) # 5. 评估指标 1:一致率(盲测分)pred_v = victim.predict(X_test)pred_s = thief.predict(X_test)agreement = accuracy_score(pred_v, pred_s)print("agreement: %.4f" % agreement) # 6. 评估指标 2:效用偏离度(口感分掉多少)acc_thief = accuracy_score(y_test, pred_s)utility_drop = acc_victim - acc_thiefprint("utility_drop: %.4f" % utility_drop) # 7. 评估指标 3:对抗转移率(刁钻考题共同翻车的比例)eps = 0.5sign_v = np.sign(np.asarray(victim.coef_).ravel())X_adv = X_test + eps * sign_vvictim_fail = victim.predict(X_adv) != y_testthief_fail = thief.predict(X_adv) != y_testtransfer = np.mean(thief_fail[victim_fail]) if victim_fail.any() else 0.0print("adv transfer: %.4f" % transfer)
X, y = make_classification(...)生成一份合成数据集,相当于准备好一批“顾客口味样本”,用于训练目标模型。victim = LogisticRegression(max_iter=300)受害者模型是“老张的配方”,训练好后只对外暴露predict接口。pool_idx = rng.choice(len(X_test), size=budget, replace=False)攻击者从测试池随机挑 400 个样本发起查询,就像派神秘顾客随机点单。pseudo_y = victim.predict(X_test[pool_idx])拿到目标模型对这些样本的预测作为“伪标签”,相当于通过品尝反推配方。thief.fit(X_test[pool_idx], pseudo_y)用这些查询到的数据训练提取模型,这是小李的“复刻奶茶”。agreement = accuracy_score(pred_v, pred_s)计算一致率:两个模型在同一批样本上预测一致的比例,即“盲测分”。utility_drop = acc_victim - acc_thief效用偏离度:目标模型准确率减提取模型准确率,衡量“好喝程度”掉了多少。sign_v = np.sign(np.asarray(victim.coef_).ravel())对于线性模型,梯度符号就是权重符号,用它近似构造 FGSM 对抗扰动方向。X_adv = X_test + eps * sign_v往测试样本上叠加扰动生成“刁钻考题”,骗过目标模型的判断。transfer = np.mean(thief_fail[victim_fail])在目标模型翻车的对抗样本上,统计提取模型也跟着翻车的比例,即对抗转移率。
常见误区
误区只要提取模型和目标模型在测试集上一致率达到 0.9,就认为这次提取攻击大获成功,可以写进安全报告了。
正解一致率像“盲测分”,但盲测题目太简单时分数会虚高。如果测试集全是容易样本(比如两个模型都早已见过的经典款),一致率可能虚高到 0.95,但提取模型在真实业务数据上却一塌糊涂。因此必须搭配效用保留指标一起看,并设计有区分度的测试集。
为何常见:一致率直观、好算、容易冲高,初学者看到漂亮的数字就容易忽略测试集的质量和其他维度。
误区提取模型在干净测试集上的准确率已经和原模型差不多(比如都是 0.93),那评估就完事了。
正解准确率衡量的是“平均强度”,掩盖了“决策边界的形状”。两个模型准确率相同,但在对抗样本、稀有类别上的盲区可能完全不同。就像两个厨师做普通菜都好吃,但遇到“临期牛奶”这种极端食材,一个能应变、一个直接翻车。要结合一致率、翻转率和对抗转移率看边界相似度。
为何常见:准确率是机器学习中最普及的指标,人们习惯用它衡量一切,忽略了攻击评估关注的是模型间的相似度而非单模型的正确率。
误区报告里只写“提取模型一致率达到 0.85”,不交代总共用了多少次查询。
正解没有成本的攻击评估是残缺的。一个攻击者用了 100 万次查询才达到 0.85 一致率,和一个攻击者仅用 5000 次查询就达到同样效果,威胁等级天差地别。评估时必须报告最小查询数 $Q_{\min}$ 或画出“一致率-查询次数”曲线,否则防御方无法判断攻击的现实可行性。
为何常见:人们习惯用最终效果衡量攻击,忽略了攻击本质上是一场“成本收益博弈”,预算约束才是防御方真正关心的事。
误区提取模型在对抗样本上的转移率只有 0.2,说明我的防御很成功,攻击者学不到我的脆弱性。
正解转移率低有两种可能:一是提取模型真的学会了“免疫”(不太常见),二是提取模型本身太弱、连正常行为都没学好。如果此时效用偏离度很大、一致率也不高,那低转移率只是“学艺不精”的副产品,并不代表你的模型更安全。必须结合效用指标共同诊断,就像徒弟在刁钻考题上“没翻车”,可能只是因为他压根不会做这道题。
为何常见:把“攻击未成功”直接归因于“防御有效”,忽略了替代模型能力不足这一更常见的中介变量。
面试题
Q1. 提取攻击评估指标最核心的作用是什么?
- A.加快模型训练的速度
- B.衡量替代模型的逼近程度← 正确答案
- C.提升数据标注的质量
- D.降低服务器带宽消耗
答案:B。评估指标是一杆“标尺”,专门衡量偷师者(替代模型)学得像不像、值不值、危不危险。正如老张用盲测、口感、手法来评判小李的奶茶是否复刻成功,指标度量的是模型间的逼近程度,而非训练速度、数据质量或带宽。
Q2. 一致率(Agreement Rate)的计算基础是什么?
- A.两模型的输出一致比例← 正确答案
- B.目标模型的参数量多少
- C.替代模型的参数量多少
- D.两模型参数量之差值
答案:A。一致率的核心是“行为对比”:把同一批测试样本分别喂给目标模型和提取模型,统计输出一致的样本占比。它不管模型内部结构如何,只看外在输出是否“英雄所见略同”,就像盲测只品茶、不看配方。
Q3. 攻击成本指标中最直接的度量对象是什么?
- A.模型网络的层数
- B.累计查询的次数← 正确答案
- C.训练数据的规模
- D.激活函数的类型
答案:B。提取攻击的“账单”里,查询次数是最显眼的开销——每一次查询都是一次“神秘顾客点单”。查询越少达成目标,攻击越高效,威胁越大。模型层数、数据规模和激活函数跟攻击成本没有直接关系。
Q4. 若替代模型一致率很高但效用偏离度也很大,最可能的原因是?
- A.目标模型过拟合了
- B.只拟合查询样本表层规律← 正确答案
- C.测试集标签标注有误
- D.训练集类别非常均衡
答案:B。一致率高但效用差,说明提取模型“形似而神不似”——它可能在查询过的样本分布上记住了答案,却没学到真实决策规律,就像小李背下了几款经典奶茶的表象,换个新口味就露馅。目标模型过拟合是受害者的问题,不是替身“高分低能”的原因。
Q5. KL 散度在提取评估中主要用于衡量什么?
- A.参数矩阵的范数差
- B.概率分布之间的差异← 正确答案
- C.模型训练轮次的多少
- D.查询预算的剩余量
答案:B。KL 散度比较的是两个模型在同一个样本上输出的置信度分布差异,是“手法指纹”层面的对比。它不关心参数矩阵,也不关心训练轮次或预算剩余,专门量化“两套自信模式”的距离。
Q6. 对抗转移率高说明什么?
- A.提取模型完全免疫对抗样本
- B.复刻了目标模型的脆弱性← 正确答案
- C.目标模型防御非常成功
- D.测试集样本量完全不足
答案:B。转移率度量的是“目标模型翻车的对抗样本上,提取模型也跟着翻车”的比例。转移率高说明两个模型的盲区高度重合,连脆弱性都被继承了——这恰恰证明偷师学得很深。它不说明免疫、防御成功或样本不足。
Q7. 评估实验中为什么需要多次独立重复运行并报告均值与标准差?
- A.为了增加模型的参数量
- B.因为查询采样随机方差大← 正确答案
- C.为了降低训练的耗时
- D.因为一致率不受预算影响
答案:B。攻击者选择的查询样本是随机采样的,单次实验的结果可能只是运气好或运气差。多次重复取均值能获得稳定的估计,标准差则反映波动范围。就像考核要请多位评委、避免一位评委的偏好左右结论。
Q8. 以下哪些属于提取攻击评估中的常用指标?
- A.一致率← 正确答案
- B.效用偏离度← 正确答案
- C.最小查询数← 正确答案
- D.学习率衰减
答案:ABC。一致率管“像不像”,效用偏离度管“强不强”,最小查询数管“贵不贵”,三者是评估体系里的核心成员。学习率衰减是模型训练的超参数,与攻击评估无关。
Q9. 设计提取攻击评估实验时,合理的做法包括哪些?
- A.固定查询预算← 正确答案
- B.使用独立测试集← 正确答案
- C.与随机模型做基线对比← 正确答案
- D.仅用训练集样本评估
答案:ABC。固定预算才能让不同攻击方法公平比拼;独立测试集才能考出真实泛化能力;随机初始化模型作为基线,才能回答“到底偷到了什么”。只用训练集评估会导致一致率虚高,如同开卷考试的分数毫无公信力。
Q10. 关于提取攻击的指标组合报告,正确的理解有哪些?
- A.单看一致率可能虚高← 正确答案
- B.效用保留反映好不好喝← 正确答案
- C.转移率越低一定越安全
- D.权重应随评估目标调整← 正确答案
答案:ABD。单看一致率有“简单测试集注水”的风险;效用保留确实对应“好不好喝”的真实能力;综合评分的权重应根据审计、演练等不同目的调整。转移率低不一定安全——也可能只是提取模型本身太弱,所以 C 错在把“攻击未成功”直接归因于“防御有效”。