3.9 伦理与安全:视觉模型的暗面
前面八节讲的都是「怎么让模型更强」。这一节讲更强之后会发生什么——这是本教程(对应母本的 AI 伦理讲次与 第 7 讲三条法则)必须放在正文而不是附录的内容。
视觉模型的伦理风险有一个结构性特点:它看起来比语言模型更“客观“。一张照片、一个“识别结果“,似乎天然带着证据的权威。但视觉模型的能力来自对数据统计规律的机会主义拟合,因此它会忠实继承甚至放大数据的缺陷,并且以「机器判断」的形式把这些缺陷包装成结论。这种「客观性错觉」是本节所有议题的共同背景。
3.9.1 数据集偏见与放大效应
数据集偏见(dataset bias):训练数据的采集与标注过程带有系统性的不均衡——某些人群、场景、光照、地理区域的样本显著偏少,或标注标准本身带有历史性的倾向。
放大效应(amplification):模型在少数群体上的表现差于该群体在数据中的占比所对应的水平。严格地说,若模型是"公平地"反映数据分布,它在少数群体上的绝对误差本应与多数群体同量级;实证研究发现的是误差在少数群体上被额外放大(具体幅度与任务强相关,引用数字须核实具体论文与数据集)。
四个进入点,每一个都可能叠加:
- 采集阶段:数据集的地理与人群构成不平衡(大量图像来自特定地区、特定光照条件)。这不是恶意,而是采集可行性的副产品(谁能被拍到、谁愿意被拍)。
- 标注阶段:标注者的判断带有文化背景与主观标准。一个典型的例子是"什么算'人'的类别定义""什么算'遮挡'"在不同标注团队间可以差异很大。
- 任务定义阶段:把复杂的人类属性二值化(例如把人脸按两个类别划分)本身就是一种简化假设,它不反映现实中的连续性与多样性。
- 部署阶段:模型只在高频群体上被验证过,低频群体的误差从未被测到——于是误差被结构性隐藏。
放大是怎么发生的:模型在训练中会优先拟合样本多、损失占比大的区域。少数群体样本少,其误差对总损失的贡献小,梯度更新几乎不照顾它们。再加上第二层——若模型输出被用于筛选或生成新数据(例如用人脸识别结果筛选训练集、或用生成模型补数据),那么被错误排除的群体在下一轮数据中更少,形成正反馈。这是"放大"最危险的形式,因为它会随迭代自我强化。
某二分类人脸验证系统在 10000 人的测试集上评估。群体 A 有 9000 人,群体 B 有 1000 人。模型的错误率为:群体 A 上 (90 人错),群体 B 上 (120 人错)。
(a)求总体准确率。(b)求两个群体各自的准确率。(c)若只看总体准确率,会得出什么结论?若做分群评估呢?(d)若系统用于门禁(错误即拒绝进入),两个群体会分别有多少人被错误拒绝?
(a) 总错误 ,总体准确率
(b) 群体 A 准确率 ;群体 B 准确率 。
(c) 只看总体:"97.9% 准确率" 听起来是一个可部署的系统。做分群评估后会发现:群体 B 的错误率是群体 A 的 倍——这是一个系统性差异,而不是随机波动。注意这里的算术陷阱:群体 B 人数只占 ,所以它的高错误率在总体平均里被"稀释"了( 对 ,量级相当,但相对比例差了 倍)。这就是为什么总体指标必须搭配分群指标。
(d) 错误拒绝人数(按各自的群体规模):群体 A 中 人;群体 B 中 人。
关键读法:虽然两个群体被错误拒绝的绝对人数接近(90 对 120),但相对概率相差 倍。这意味着一件非常具体的事:群体 B 的每个个体被挡在门外的概率是群体 A 的 12 倍。从个体角度看,这是明确的差别对待;从系统角度看,这个偏差不会在任何只看总体准确率的报表上出现。
方法论结论:任何涉及人群的系统,评估报告必须包含分组混淆矩阵(分组 precision / recall / FPR / FNR),并且要检查各组样本量是否足够得出有意义的区间估计——小样本子群上的指标本身方差很大,"看起来有差异"也可能只是噪声。这两条要同时做。
∎3.9.2 人脸识别:误判的代价结构
- 假阳性 / 误识(false positive):把不该匹配的两张脸判为同一人。在监控、门禁、支付场景中意味着把无辜者当作目标人物。
- 假阴性 / 拒识(false negative):把同一人的两张脸判为不同。意味着把合法用户挡在门外或漏掉真正的目标。
两者的代价不对称且随应用场景变化:门禁场景中拒识带来不便,误识可能让陌生人进入;执法场景中误识可能直接导致错误拘留——代价量级完全不同。
三个使它特殊的性质:
- 生物特征是终身的、不可更换的。密码泄露可以改密码;人脸不能。这意味着任何一次大规模泄漏的后果都是永久性的。
- 它是无感的、规模化的。与指纹需要配合不同,人脸可在被拍摄者不知情的情况下被采集、比对、追踪。技术上的低成本采集能力改变了权力结构。
- 它天然涉及人口统计属性。人脸的外观与性别、年龄、族群高度相关,因此数据分布的不均衡必然转化为性能差异——这不是可以靠"把数据做均衡"彻底消除的工程问题,而是需要在系统设计层面上承认并治理的问题(人口统计偏差的实证幅度需核实具体研究与数据集,不同研究报告的数值差异较大)。
一个必须警惕的论证错误:用"模型在某个数据集上对不同群体的错误率已经接近了"来论证"问题已解决"。因为① 该数据集本身可能不代表部署环境;② 错误率相近不等于在特定阈值下的误识比例相近(阈值选择会放大或缩小差异);③ 不同地区的采集、光照、摄像头质量差异没有被覆盖。这类结论必须带条件陈述,不能作为普遍保证。
数据层
1. 分群检查:先统计每个子群(性别 / 年龄段 / 肤色区间 / 采集设备)的样本量,
样本过少的子群不要声称"已评估"——样本不足时结论不可靠
2. 数据来源与知情同意记录:谁提供、用途范围、保留期限
3. 若数据来自网络爬取,明确标注来源与潜在偏差(不要假装它是"代表性样本")
模型与阈值层
4. 分类阈值按业务代价选择,而不是沿用默认 0.5:
误识代价高 → 提高阈值(宁可拒识);拒识代价高 → 降低阈值
5. 分组校准:为不同子群单独选择阈值或做校准(这是一个有争议的做法:
它能减小误识差异,但按人口属性分别处理本身可能引发新的公平问题,
需要法务与伦理评估,属于"取舍"而不是"标准答案")
6. 报告分组混淆矩阵与置信区间,而不是单一总体准确率
系统层
7. 人在回路:高风险决策(执法、雇佣、信贷)必须有人复核,模型只作辅助排序
8. 可追溯与申诉:记录每次判定依据、保留申诉通道与纠错机制
9. 数据最小化:不存储原始人脸图像,只存不可逆特征模板(且模板本身也不可被滥用)
10. 用途限制与时限:明确"仅用于 X 场景"、明确数据留存期限并到期删除
3.9.3 对抗样本:FGSM、PGD 与鲁棒训练
给定已训练的分类器 与输入 (正确标签 ),对抗样本指 ,其中扰动 的幅度小到人眼几乎无法分辨(用 约束),却使 (通常是被判成攻击者指定的类别)。这类扰动常可跨模型迁移——在一个模型上生成的对抗样本,也可能骗过结构相近的另一个模型。
关键认知:模型的决策边界与人的语义边界不是同一条。
模型在表示空间里是一个高维分段线性函数(ReLU 网络的直接推论,见 第 1 讲 1.2 节)。它的决策边界在大多数方向上"贴着"数据流形,但在某些方向上离数据点极近——那些方向对人不敏感(人看的是语义特征),对模型却很敏感(模型看的是像素级的线性组合权重)。
于是"给人加噪声"和"给分类器加噪声"这两件事的有效性完全可以不同:人眼对高频内容不敏感,而卷积网络的浅层恰恰对高频模式敏感。这也解释了为什么对抗样本的扰动量级通常在 附近就足以让模型出错,而人在这点上几乎看不出差别。
一个重要的推论:靠肉眼审查模型输出来保证安全是不可靠的——攻击面上确实存在一类人不可察觉、模型却会翻车的输入。
FGSM(Fast Gradient Sign Method,2014,arXiv:1412.6572)
单步攻击:沿损失对输入的梯度符号方向走一步
x' = x + ε · sign( ∇_x L(f(x), y) )
优点:一次反传即可,极快;缺点:容易过拟合到单个模型,迁移性一般
PGD(Projected Gradient Descent,2017,arXiv:1706.07334)
多步迭代 + 每步投影回 ε 球内
x_{t+1} = Π_{‖·‖_∞ ≤ ε} ( x_t + α · sign( ∇_x L(f(x_t), y) ) )
优点:更强的攻击,常被用作"评估鲁棒性的标准对手";缺点:计算成本 = 步数 × 一次反传
原文把 PGD 论述为"一阶攻击中的最强形式"(该表述需以原文为准)
防御方向一:对抗训练(adversarial training)
训练时把对抗样本加入训练集:min_θ E[ max_{‖δ‖≤ε} L(f(x+δ), y) ]
这是目前最有效的经验性防御,但代价明确:
- 训练成本上升(内层 maximization 需要额外反传,PGD 对抗训练常慢数倍)
- 鲁棒精度与干净精度存在权衡:提升鲁棒性通常会降低干净数据上的精度
- 只对训练时使用的 ε 与范数有效;更大的 ε 或换 L1/L2 范数仍可能被攻破
防御方向二:输入预处理 / 随机化
去噪、JPEG 压缩、随机缩放填充、随机化推理——能挡住部分攻击,
但在自适应攻击(知道自己面对这些预处理)下通常失效
防御方向三(更根本):不依赖单一像素级判据
改变架构与任务:更大的感受野、全局上下文、多尺度一致性检查、
以及"不完全信任模型输出"的系统设计(人工复核、拒答、集成)
设某线性打分函数 (,),当前 使 (正类)。取 、约束 。
(a)求使 下降最快的方向(FGSM 的一步)。(b)求一步之后 的值。(c)若约束是 ,最优方向是否还是符号向量?
(a) FGSM 的方向是 (因为要最大化损失 = 最小化 ,所以取负梯度方向):
(b) 一步后的打分:
从 变成 ——一次扰动就跨过了决策边界()。注意这次扰动的 范数正好等于 (每个坐标都取到了边界)。
(c) 不是。 约束下最优解在每个坐标上独立取边界(符号向量);而 约束下最优方向是沿梯度的方向(柯西–施瓦茨不等式给出 ,取 )。
这解释了为什么 攻击更常用:它把扰动量级"平摊"到所有像素上,每个像素只改一点点(视觉上更隐蔽),而且实现简单(只需梯度的符号)。注意这里的 是为了手算方便而取的夸张值;真实图像的像素范围是 ,常用 ——比本例题小 30 多倍,而依然能让真实模型出错,这正是对抗样本值得警惕的地方。
∎- 「对抗样本是因为模型过拟合」:不是。对抗样本在训练集上也存在,而且跨模型迁移——把它归因为过拟合会导向"多训一会儿就好"的错误结论。
- 「对抗训练能彻底解决」:不能。对抗训练是经验性防御,代价是干净精度下降、训练成本上升,且通常只对训练时的扰动模型 / 约束有效(自适应攻击仍可能绕过)。
- 「数据预处理(压缩、去噪)能挡住攻击」:在"攻击者知道你在做预处理"的自适应设定下通常失效。这类手段只能提高攻击成本,不能提供保证。
- 「对抗样本只是学术玩具,现实里不存在」:物理世界中的实现已被证明可行(在特定条件下对打印图片、贴纸、眼镜等)。但:实现条件比数字域更苛刻(光照、视角、拍摄距离)。准确的表述是可行的、但需要精心构造,而不是"随手就能攻击任何系统"。
- 「鲁棒性是一个可以彻底达到的状态」:现有的鲁棒性都是相对某个攻击模型与预算而言的。任何"某某模型已经鲁棒"的表述都必须附带攻击设置,否则没有意义。
3.9.4 深度伪造与隐私
用生成模型(见 第 4 讲)合成或篡改媒体内容,使合成内容在感官上与真实记录难以区分——包括换脸、语音克隆、视频动作重演、以及完全凭空生成的人物图像(后者本身不是伪造某个人,而是伪造"存在性",例如虚构的人像被用作身份材料)。
危害一:伪造存在的证据。用于报复、勒索、政治操纵、金融欺诈(视频会议中冒充高管)。这类危害的机制是让"眼见为实"失效。
危害二:让真实的不再可信。这是常被忽略的一面——当伪造变得容易,"这是假的"成为对真实记录的通用反驳。这种"说谎者红利"(liar's dividend)的破坏力可能更大:它损伤的是整个记录系统的可信基础。
检测技术的现实处境(必须如实说明):
- 检测器与生成器是对抗性演进:新一代生成器常常让旧检测器失效。
- 检测器的泛化能力有限:在一个生成模型上训练的检测器迁移到另一个生成模型上性能会下降(具体幅度需核实具体研究)。
- 压缩、再拍摄、截图等常规后处理会破坏检测器依赖的高频痕迹(生成模型的水印 / 伪影常存在于高频成分)。
- 因此检测不应被当作唯一的防线。更可靠的方向是来源与真实性基础设施:内容的签名与溯源(拍摄设备签名、编辑历史记录)、平台侧发布流程的验证、"多源交叉核实"的新闻流程。这与本教程 第 7 讲「把安全当成设计约束」的思路一致:不依赖单一检测环节,而是让可核查性成为系统属性。
一个常见的安慰性论证是:「我们不保存人脸照片,只保存一串特征向量,所以不存在隐私风险。」这个论证有两个漏洞。
漏洞一:模板可以被反演。 人脸识别模型学到的嵌入是连续的、可优化的——固定住特征提取器,把「与目标模板距离最小」当成损失去优化一张合成图像,就能得到一个在模型看来"是这个人"的近似人脸。这不是理论猜想,而是人脸识别领域的公开研究方向(具体方法与成功率需核实具体论文)。它的含义是明确的:共享嵌入向量并不等于共享安全数据;在某些条件下,嵌入提供的是「可被反演成图像的压缩形式」,而不只是一串无意义的数字。
漏洞二:模板是不可撤销的。 密码泄露可以改密码;特征模板一旦泄露,你不能更换自己的脸。因此对模板的保护级别应当至少等同于原始生物特征的级别——加密存储、访问审计、用途绑定(这一份模板只能用于这一个系统)。
工程结论:把"只存模板"当作隐私解决方案,是把存储位置的问题误当成信息含量的问题。正确的问法是:这份数据能重建出什么?而不是它长什么样。
1. 采集合法性:图像是怎么来的?被拍摄者是否知情、是否同意?用于模型训练是否在原授权范围内?
2. 数据最小化:真的需要原图吗?能否只保留必要的特征、及时删除原始数据?
3. 元数据:EXIF 中是否包含 GPS 坐标、设备串号、时间戳?(发布与共享前应剥离)
注意:EXIF 只是最表层的隐私;图像内容本身(人脸、车牌、门牌号、屏幕上的文档)
往往携带更多信息,且不会被元数据清洗覆盖
4. 生物特征:人脸 / 步态 / 声纹等属于不可更换的标识。是否必须用它们?能否用可撤销的替代方案?
5. 反演风险:模型本身会不会泄露训练数据?
- 生成模型([第 4 讲](../lec04/overview.md))在特定条件下可能"记住并复现"训练样本
- 分类模型的中间特征、嵌入向量可能被用于重建人脸(模板反演)
- 结论:共享"模型"或"嵌入"并不等于共享"安全数据"
6. 下游用途限制:把模型交付出去后,使用者会拿它做什么?能否技术性地限制(水印、权限、审计日志)?
技术上做不到的,就要在合同与治理上限制——不要假装技术能解决治理问题
3.9.5 出口判据:什么时候不该用视觉模型
下面任何一条成立时,应当停下重新设计系统,而不是继续调模型:
① 错误的代价不可逆且极高
例:自动执法、无人干预的医疗诊断、无人复核的信贷拒贷
→ 若无法加入人工复核,则该环节不应全自动化
② 无法获得代表性的评估数据
例:目标人群的样本量不足以做出可靠估计
→ "样本不足"本身就是一个不能部署的结论;不要用总体指标掩盖它
③ 任务本质上是主观判断
例:"这个人看起来是否可信 / 是否危险 / 是否在撒谎"——没有客观真值
→ 用视觉模型给主观属性打分会把偏见制度化,并赋予它"技术权威"的外观
④ 采集本身不合规或不可持续
例:未经同意的人脸采集、依赖持续监控的图像流
⑤ 用户无从知情与申诉
例:无感运行、结果不告知、没有纠错通道
⑥ 存在更便宜、更少侵入性的替代方案
例:用传感器 / 规则 / 人工抽查就能解决的问题,不需要上深度模型
当决定要用时,最小合规包:分群评估 + 不确定时拒答 + 人在回路 + 可追溯日志 + 数据最小化 + 明确用途与时限(与 3.9.2 的清单合并使用)。
一个反复出现的工程直觉是:既然有攻击,就再训练一个检测器。这个直觉在对抗样本与深伪两个场景里都会失效,原因不同但结构相似:
- 在对抗样本上:攻击是自适应的——攻击者知道你在用检测器,就会把"骗过检测器"作为优化目标的一部分。此时防御与攻击变成一个迭代的博弈,而每次迭代的成本对攻击方通常更低(攻击只需要找到一个漏洞,防御要堵住所有漏洞)。这就是为什么鲁棒性研究普遍接受"相对某个攻击预算"的表述,而不宣称绝对安全。
- 在深伪上:生成与检测同样是博弈,但更麻烦的是分布漂移——检测器在已知生成模型上学到的判别特征,往往在新一代生成器上失效(泛化性能下降的具体幅度需核实具体研究)。而且检测器天然会被常规后处理(压缩、再拍摄)削弱。
共同的结构是:在开放对抗环境下,"再加一个模型"不会带来安全性,只会把问题往后推一层。真正稳定的做法是把防线建在不容易被单点绕过的地方——来源签名与溯源基础设施、多源交叉核实、以及允许"不确定/拒答"的系统设计。这也是 第 7 讲「把安全当成设计约束而不是事后补丁」在视觉场景里的具体含义。
本节的清单大多是工程可执行的,但清单背后有一个技术无法回答的问题:某个具体的应用该不该做。这是价值判断,需要由受影响的人参与讨论,而不是由研究者或工程师单独决定。
工程师在这件事上的恰当位置不是"我只看技术可行性",也不是"我来替所有人决定",而是:
- 把代价结构说清楚——误识率的差异、不同群体的受影响程度、失败后的可恢复性。这些是可量化的,专业性在这里;
- 把不确定性说出来——不要用"模型准确率 99%"这种总体数字掩盖未评估的子群与场景;
- 提供可治理的设计——拒答机制、人在回路、审计日志、申诉通道,这些是设计选择,决定权可以留给真正的决策者,但没有它们,决策者就没有选择。
这三件事做好了,才能说"技术判断已经尽到责任"——而不是把责任推给"模型效果还不够好"。
Q1 某人群总体的模型准确率 97.9%,从中能否推出它在各民族 / 性别子群上的表现也接近这个水平?说明理由。
Q2 为什么"用肉眼检查模型输出"不能作为视觉安全系统的防线?请用对抗样本的机制解释。
Q3 FGSM 的一步更新公式是什么?为什么常用 范数约束而不是 ?
Q4 对抗训练的两个明确代价是什么?
Q5 深层伪造的"说谎者红利"指什么?为什么它可以比"伪造本身"危害更大?
Q6 列举三种「不应该使用视觉模型」的情形,并解释每一种背后的原因。
参考要点
Q1 推不出。总体指标会被占比大的子群主导(例 3.9.1):占比 的子群错误率 、占比 的子群错误率 ,总体仍能给出 。必须有分组混淆矩阵(而且要检查各组样本量是否足够)。
Q2 因为对抗扰动利用了"人不可察觉、模型极度敏感"的方向(模型是高维分段线性函数,决策边界在部分方向上离数据点极近)。人眼审查只能检验"我能否看出异常",无法检验"模型是否在边界另一侧"——所以存在人看不出、模型却判错的输入。
Q3 (沿损失上升最快的方向走一步,并受 约束)。用 的原因:① 它把扰动平摊到每个像素(每人只改一点,视觉上更隐蔽);② 求解只需梯度的符号,实现简单;③ 与"每个像素改动不超过 "这一自然的视觉约束直接对应。 下最优方向是沿梯度方向,扰动的分布不均匀。
Q4 ① 计算成本上升(内层最大化需要额外反传,PGD 对抗训练常慢数倍);② 干净精度与鲁棒精度存在权衡——提升鲁棒性通常降低干净数据上的精度。此外它只对训练时设定的扰动模型 / 预算有效。
Q5 "说谎者红利"指:当伪造变得容易且普遍,"这是假的"会成为对真实记录的通用反驳借口。它的破坏面比单次伪造更大,因为它损伤的是整个记录体系的可信基础——即使一段真实的视频,当事人也可以合理地宣称它是伪造的。
Q6 示例(答出任意三条并给出理由即可,可对照 3.9.5 的清单):① 错误代价不可逆且极高且无法加人工复核(自动执法)——系统没有纠错机会;② 无法获得代表性评估数据(目标子群样本不足)——未评估即不可靠,不能用总体指标掩盖;③ 任务本质主观("看起来是否危险")——没有客观真值,模型会把偏见制度化并赋予其技术权威;④ 存在更便宜、更少侵入的替代方案——引入视觉模型是净负面。理由要点:这些情形的共同结构是「技术手段无法弥补制度性缺陷」。
- 对抗攻击与防御:Goodfellow, Shlens & Szegedy, Explaining and Harnessing Adversarial Examples(2014,arXiv:1412.6572)——FGSM 原始论文;Madry et al., Towards Deep Learning Models Resistant to Adversarial Attacks(2017,arXiv:1706.07334)——PGD 与对抗训练。
- 人脸识别偏见与影响评估:Buolamwini & Gebru, Gender Shades: Intersectional Accuracy Disparities in Commercial Gender Classification(2018,FAT*)——分群评估的标志性工作(具体错误率数字以原文为准)。
- 数据集偏见与伦理框架:Gebru et al., Datasheets for Datasets(2018/2021,arXiv:1803.09010);Mitchell et al., Model Cards for Model Reporting(2018/2019,arXiv:1810.03993)——把"数据集的适用边界"与"模型的评估分层"写成标准文档。
- 深伪与合成媒体:系统性综述与检测基准的文献数量与名称随时效变化较快,本节不列举具体编号以避免引用失准;治理框架见 第 7 讲的「三条法则」。
- 本教程相关章节:第 1 讲(正则化与泛化)、3.3(归一化层的领域敏感性与陷阱)、3.6(迁移与领域偏移)、第 7 讲(可控、可解释、公平)、Lab 2(把对抗样本与隐私落到代码)。
本节小结:视觉模型的风险有共同的结构——它的能力来自对数据统计规律的拟合,因此数据的不均衡会被忠实继承、并在部署与反馈中被放大;评估必须以分群指标为标配(例 3.9.1);对抗样本说明“人看不出异常“不等于“模型不会判错“,鲁棒性是相对于攻击预算的陈述;深伪的危害包括“让真实不可信“这一更深的层面,因此防线应建在来源与真实性基础设施上而不是单一检测器;最后,工程上有明确的出口判据——有些场景不该用视觉模型,而技术判断不能替代价值判断。下一节把这些原则落到一个具体系统上:Lab 2 的人脸检测。