![]()
你有没有想过一个问题:当手机上的人脸解锁"唰"一下认出你的时候,它到底是靠什么认出来的?是你的眼睛间距,还是你的发型,或者只是因为你总是戴着同一副眼镜?
这个问题听起来简单,但实际上,过去十年里几乎没有人能给出一个确切的答案。现代人脸识别系统已经强大到近乎离谱的地步,在标准测试集上的准确率普遍超过99%,可以说人类已经很难再挑出它的错。但与此同时,这些系统也变成了彻头彻尾的黑箱。你把两张照片喂给它,它吐出一个相似度分数,告诉你"这两张是同一个人,置信度98.7%",仅此而已。你没法追问它:你到底看中了什么特征做出这个判断?
这不是一个无关紧要的技术细节。人脸识别被用在机场安检、手机解锁、银行开户认证这些场景里,每一次判断都可能牵扯到真金白银甚至法律后果。如果一个系统悄悄地依赖了种族特征做判断,或者在某些人种上系统性地更容易出错,而我们连"它到底在看什么"都说不清楚,那这种不透明本身就是风险。
这就是这篇论文要解决的问题:能不能让一个已经训练好、封闭黑箱的人脸识别模型,开口告诉我们它到底依据什么在做判断?
老办法为什么不够用
在这篇论文出现之前,解释人脸识别的思路大致分成两类,但都有明显的天花板。
第一类办法是"看它往哪儿瞅"。比如通过给图片打补丁、看哪块区域被遮住后相似度下降最多,或者做梯度可视化,标出模型"重点关注"的像素区域。这类方法的问题在于,它只能告诉你空间位置(眼睛周围,还是嘴巴周围),没法告诉你语义内容,也就是说不出"它关注的是这个人的鼻梁形状"还是"胡须"这种人话。而且这类方法通常需要一对图片、需要梯度信息,对被测模型的架构有一定要求。
第二类办法依赖人工标注的属性词典。研究者提前定义好几十个人脸属性,比如CelebA数据集里的40个标签(是否微笑、是否戴眼镜、发色如何),然后分析这些属性和识别结果的关系。这个思路能说人话了,但代价是词汇量被死死锁定在标注者当初想到的那几十个词上。你想问一个新问题,比如"这个模型对肤色的依赖有多强",对不起,如果标注表里没有这一项,你就没法问。
这篇论文提出的EXPL-FR(全称是Explaining Face Recognition,可以理解为"给人脸识别做解释")想做的事情,是把这两条路子的限制都打破:既要能说出语义内容(不只是"看哪里",而是"看什么概念"),又要摆脱人工标注词典的束缚,让词汇量可以随时扩展。
它的思路是借助视觉语言模型,把一个开放式的、几乎无限扩展的文字词汇表,直接嫁接到人脸识别模型自己的空间里去。
两个各自为政的世界,怎么才能对上话
要理解这篇论文的核心创新,得先弄清楚两个"空间"到底是什么。
第一个空间是人脸识别模型自己的特征空间。你可以把它想象成一个高维坐标系,每一张人脸照片都会被这个模型转换成坐标系里的一个点(一个向量)。同一个人的不同照片,不管换衣服、换角度、换光线,理想情况下都应该落在坐标系里彼此靠得很近的位置。这个空间是为了识别身份而生的,它天生就会主动抹掉那些和身份无关的干扰因素,比如光照、角度、表情。
第二个空间是视觉语言模型(比如CLIP)的特征空间。
视觉语言模型:一类同时理解图片和文字的AI模型,它的核心能力是把一张图片和一句描述这张图片的文字,映射到同一个坐标空间里,让语义相近的图文对彼此靠近。
CLIP这类模型的图像编码器和文字编码器共享同一个坐标系,这意味着你可以直接拿一句话("一张戴眼镜的人的照片")和一张图片去比较相似度。这正是我们想要的能力,因为它能把语言和图像连接起来。
问题来了:人脸识别模型的空间和CLIP的空间,是两个完全独立训练出来的东西,压根不在一个坐标系里。你没法直接拿CLIP文字编码器算出来的"眼镜"这个概念的坐标,去跟人脸识别模型里某张照片的坐标做比较,因为这两套坐标系统的原点、方向、尺度都对不上,强行比较得到的数字毫无意义。
论文里做了个实验直接验证了这一点:如果你天真地把CLIP图像编码器的输出和人脸识别模型的输出直接配对做人脸验证,准确率是49.98%,基本等于抛硬币瞎猜。这说明这两个空间之间,真的是鸡同鸭讲,没有天然的翻译渠道。
这就好比你和一个只会说法语的人,还有一个只会说日语的人坐在一张桌子上,你们三个人各自的语言系统内部都运转良好,但互相之间完全没法直接沟通。你不能指望把法语单词直接念给说日语的人听,他就能听懂,哪怕两种语言里都有"猫"这个概念,发音和书写完全是两码事。
一个小小的翻译官:适配器
论文的解决方案是训练一个很小的"翻译官",技术上叫适配器。
适配器:一个轻量级的神经网络模块,它的作用是学习一种映射关系,把一个空间里的向量转换成另一个空间里对应的向量,同时保持两边的核心信息不丢失。
这个适配器的训练方式很朴素:准备大量人脸照片,同时用CLIP的图像编码器和人脸识别模型分别处理这些照片,得到两组向量。然后训练适配器,让它学会把CLIP产生的向量,尽量转换成和人脸识别模型产生的向量方向一致(用的是余弦相似度损失,说白了就是让两个向量指向差不多的方向)。
关键的是,整个训练过程只用照片,完全不涉及任何文字。适配器自始至终没有见过一句话,它学的只是"如何把CLIP看到的这张脸,翻译成人脸识别模型会怎么看这张脸"。
这个适配器本身很小,只有大约105万个参数,相比动辄几亿参数的两个大模型,简直是个零头。但效果出乎意料地好:经过适配器转换后,原本只有82.33%验证准确率的CLIP图像特征,一下子提升到了92.58%,提升了整整10个百分点。这说明适配器确实学到了一些有用的东西,它把CLIP空间里潜藏的身份信息,重新组织成了人脸识别模型能认可的形式。
如果没有这个翻译步骤会怎样?前面提到的49.98%就是答案,基本上是废掉的信息,完全没法用来做任何有意义的身份判断。
这个适配器像什么呢?想象你请了一位专业译员,常年负责把法语文件翻译成中文合同格式。这位译员从来没有专门学过法律术语翻译,但他长期在法语和中文两种文本之间打交道,渐渐摸索出了一套稳定的转换规律。现在你给他一份从未见过的法语诗歌,他虽然没专门学过诗歌翻译,但凭着积累的语感,依然能给出一个大致靠谱的中文版本,不是完美,但绝对比谁都不懂两种语言强得多。这个"诗歌翻译"的意外能力,正是接下来要讲的核心奇迹。
意外之喜:没学过的文字,居然也能翻译
这是整篇论文里最让人意外的发现。
适配器只在图片上训练,从头到尾没见过任何一句文字。但因为CLIP的图像编码器和文字编码器本身共享同一个坐标空间(这是CLIP训练机制决定的),研究者大胆做了一个尝试:把一句文字提示("一张戴眼镜的人的照片")先经过CLIP的文字编码器,转换成一个向量,然后直接把这个向量喂给那个只训练过图片的适配器,看看会发生什么。
结果是,这个从未见过文字的适配器,依然能把文字向量合理地映射到人脸识别空间里去,效果虽然打了折扣,但确实是可用的。
这个操作听起来有点反直觉,但细想一下逻辑其实站得住脚。适配器学到的不是"如何认出这张照片里的人",而是"如何把CLIP空间里的某个点,转换成人脸识别空间里的对应点"。这是一个几何变换关系,而不是内容理解关系。既然CLIP的图像向量和文字向量本来就活在同一个空间里,那这个几何变换对文字向量同样适用,即便适配器训练时压根没接触过文字。
研究者把这种做法叫做零样本迁移。
零样本迁移:模型在没有针对某个新任务或新类型数据专门训练的情况下,直接把已经学到的能力应用过去,并且能取得不错的效果。
论文里量化了这个迁移带来的收益。在CLIP自己的原生空间里,978个属性提示词和身份信息几乎没有关联,验证准确率只有51.98%,基本上就是噪声。但用同一个只训练过图片的适配器把这978个提示词都转换一遍之后,准确率跳到了71.66%,提升了近20个百分点。这个差距完完全全是那个只见过照片、没见过文字的适配器创造出来的,论文管这个叫"跨模态迁移的贡献"。
这就好比一位钢琴调音师,常年只给钢琴调音,从没碰过小提琴。但因为他掌握的是"如何让声音的频率对齐"这套底层原理,有一天你让他试着帮小提琴调音,虽然他从没专门学过小提琴,他依然能凭着对音准关系的理解给出一个八九不离十的结果。如果没有这套底层原理的迁移能力,那位调音师面对小提琴只能两眼一抹黑,准确率大概率也会跌回瞎猜的水平,就像CLIP原生空间里那个51.98%一样。
有了这个发现,论文构建了一套叫做"语义锚点"的机制:把978个候选属性词全部通过这个适配器转换一遍,每个词就变成了人脸识别空间里的一个固定坐标点,也就是一个锚点。以后任何一张人脸照片,只要算出它和这些锚点的相似度,就相当于把这张脸"翻译"成了一串可读的语义描述,比如"和'戴眼镜'这个锚点很像,和'络腮胡'这个锚点也很像"。
不是所有概念都值得留下:模型自己会"选择性失明"
这里出现了第二个重要发现,也是整篇论文态度最严谨的地方。
研究者没有天真地假设"把978个词都转换成锚点就万事大吉了"。他们意识到一个更深层的问题:人脸识别模型为了能够跨姿态、跨光照、跨表情稳定地认出同一个人,它必然要主动丢弃掉那些和身份无关的干扰信息。这意味着,有些属性概念,哪怕在CLIP空间里清清楚楚可以被区分出来,一旦映射到人脸识别空间,可能就变得模糊一片,分不清了。
这就好比你去问一个只擅长认人的门卫:"刚才进来那个人穿的是什么颜色外套?"门卫可能一脸茫然,因为他的工作重点从来不是记衣服颜色,他脑子里那套"认人系统"压根没有针对衣服颜色做优化,甚至可能主动忽略了这个信息,因为衣服今天穿明天可能就不穿了,这种善变的特征对认人反而是干扰项。如果门卫的大脑真的记住了每个人的穿着细节,那他反而会在人们换了衣服之后认错人,这正是人脸识别模型必须"主动遗忘"某些属性的原因。
所以论文设计了一套"可探测性"的度量方法,专门检验每个属性概念在经过适配器映射之后,是否还能在人脸识别空间里被区分开来。
具体做法是:先用VLM自己的判断给一堆没有标注的照片打上"伪标签"(比如根据CLIP自己对"戴眼镜"这个概念的理解,把照片分成"更像戴眼镜"和"更不像戴眼镜"两组),然后训练一个简单的分类器,分别在VLM空间和适配器映射后的人脸识别空间里,看这个分类器能不能靠一个方向就把两组照片分开。分得越开,说明这个概念在这个空间里越"可探测"。
伪标签:不是人工标注的真实标签,而是由另一个模型(这里是VLM)根据自己的判断自动生成的近似标签,用来在没有真人标注的情况下模拟监督信号。
结果显示,在CLIP的原生空间里,几乎所有978个概念都能被清清楚楚地区分开来,平均AUC(一种衡量分类效果好坏的指标,越接近1越好)高达0.976。但转换到人脸识别空间之后,这个数字的分布一下子拉开了,从0.79到0.98不等。眼镜、发色、发型、胡须这些概念几乎完好无损地保留了下来(AUC接近0.95),而拍摄距离、场景背景、拍摄角度、遮挡物、光照这些概念则被大幅折损(AUC降到0.85左右甚至更低)。
这个结果非常直观地印证了前面说的道理:人脸识别模型主动保留了那些真正和"这个人是谁"相关的稳定特征,同时主动丢弃了那些和拍摄条件相关、和身份本身无关的偶然因素。
研究者从这978个概念里,挑出了在人脸识别空间里最容易被区分出来的前100个,把它们叫做这个模型的"语义签名"。有意思的是,只用这100个精选出来的属性去衡量身份区分能力,效果反而超过了用全部978个属性,前者的身份区分AUC能到0.931,后者只有0.910。这说明剩下那878个概念不仅没帮上忙,反而在稀释信号,属于噪声。
三个层次的解释:从单张照片到身份画像,再到差异对比
有了这套语义签名机制,论文展示了三种不同粒度的解释方式。
第一种是单图解释。给模型一张照片,算出它在100个语义签名维度上的得分,排序看哪些维度得分最高,就知道这个模型认为这张脸"最像"哪些概念的组合。
第二种是身份画像。把同一个人的多张不同照片(哪怕拍摄条件天差地别)的语义签名取平均,得到一个更稳定的"身份指纹"。论文里展示了两个身份的对比案例,其中一个身份的画像明显被"眼镜"这个维度主导,不管这个人换了什么表情、什么光线,眼镜相关的得分始终稳居前列,这说明这个人脸识别模型很可能把这个人的身份特征和眼镜绑定得很深。
第三种是差异对比解释,这个用在了一个特别有现实意义的场景:人脸融合攻击(俗称"换脸融合"或者morphing攻击)的分析上。
人脸融合攻击:把两个不同人的照片特征混合生成一张新照片,这张新照片被设计成能同时骗过人脸识别系统,让系统误以为它既是A又是B。
论文用DCMorph这个数据集做了展示。给定一个参考图像、这个人的另一张真实照片(记作"同源图"),一个冒充者的照片,以及参考图像和冒充者融合出来的"融合照片",分别计算它们两两之间的语义签名差异。结果非常清晰:参考图和同源图之间的差异几乎是平的,没什么起伏,说明这套系统对同一个人的不同照片确实很稳定。参考图和冒充者之间的差异则又大又集中在特定几个属性类别上,清楚地指出了这两个人到底在哪些方面不一样。而参考图和融合照片之间的差异介于两者之间,比较靠近同源图那一侧,残留的那部分差异,恰好指向了融合照片从冒充者那里"借"来的具体特征是什么。
这意味着,原本一个冷冰冰的"匹配"或"不匹配"的二元判断,现在可以被拆解成"这张融合脸主要保留了参考人的哪些特征,又混入了冒充者的哪些特征",对于反欺诈和生物特征安全研究来说,这是非常实用的诊断工具。
不需要标签的审计:三种监督程度的对比
论文还做了一件更有雄心的事:能不能完全不依赖任何人工标注,就对一个人脸识别模型的公平性和偏见做审计?
这里对比了三种做法,监督程度从高到低排列。
第一种是传统做法,依赖人工标注的属性标签,比如"这张照片里的人是否留胡子"这种真实标注。用带标签的两组照片的平均特征向量之差,构造出一条代表这个属性的方向轴。这是此前学术界通行的做法,但代价是每加一个新属性就得重新标注一批数据。
第二种是VLM伪标签法。不需要人工标注,靠VLM自己对图片的判断给照片分组,然后用同样的方法构造属性轴。这已经省去了人工标注的成本,但仍然需要一大批未标注的图片来做排序分组。
第三种是这篇论文最主打的做法,完全只靠文字提示构造属性轴,连图片都不需要。比如想研究"年龄"这个属性,只需要写几句从"一张婴儿的照片"到"一张老年人的照片"这样循序渐进的提示词,把它们都转换成向量,取这些向量点的主方向,就得到了代表"年龄"这个概念的轴线。整个过程一张真实照片都没碰,只是写了几句话。
论文在几个真实场景里验证了这三种方法的效果差距。
第一个场景是种族公平性审计,用的是RFW这个按种族分组的人脸识别测试数据集。四个不同的人脸识别模型,论文分别用三种方法衡量"种族"这个属性在每个模型里的依赖程度,然后和这些模型真实的、按种族分组的验证错误率做对比。结果发现,哪怕是完全不需要标签的第三种方法,排出来的模型排名和真实错误率排名的一致性(用肯德尔系数衡量)高达0.92,几乎和依赖人工标签的第一种方法效果相当。这意味着,一个模型如果在语义签名里对"种族"这个概念的区分能力特别强,那这个模型在现实测试中大概率也会表现出更明显的种族偏见,这个规律不需要标签就能被发现。
第二个场景是用可控生成的合成人脸数据集GAN-Control做的诊断。这个数据集能精确控制单一变量(比如只改变年龄,其他一切保持不变),生成一系列渐变照片。论文测量了控制变量改变对人脸识别模型输出的实际影响程度,并且用三种方法各自的"敏感度"审计结果去预测真实的等错误率排序。第三种完全不需要标签的方法,在皮尔逊相关系数上达到0.95,甚至比依赖伪标签的第二种方法还高。这说明单纯靠写几句提示词构造出来的属性轴,就能相当准确地预测哪些属性变化会真正影响人脸识别的判断结果。
论文特别指出年龄是所有四个模型里最"贵"的属性变化,也就是说,同一个人随着年龄变化,识别系统付出的识别代价最大。相比之下,亮度、色调、图像质量这些纯粹的拍摄条件变化,几乎不会影响识别结果,等错误率都低于0.014%,几乎可以忽略不计。
不过这套系统也不是万能的,姿态(脸部朝向角度)就是一个明确的失败案例。真实的人脸识别模型确实很擅长区分姿态(用标注数据做的探测显示AUC高达0.97),但问题出在CLIP这一侧:CLIP在处理经过对齐裁剪的112×112小尺寸人脸照片时,压根没法准确判断脸部转向了多少度。这就导致靠文字构造出的姿态轴线,虽然看起来煞有介事地给出了一堆排序结果,但这些结果和真实的姿态相关表现完全对不上,在两个不同的姿态测试基准上甚至给出了互相矛盾的排名。
这个失败案例其实提醒了一件很重要的事:整套方法的天花板,是由VLM能不能理解某个概念决定的。如果VLM本身对某个视觉因素不敏感(比如姿态角度这种需要精细几何理解的东西),那不管适配器多聪明,都没法凭空创造出VLM从未掌握的信息。这就好比让一个色盲的人帮你判断两块布料的颜色深浅,不管你给他多精细的分析工具,他给出的判断始终建立在有缺陷的输入之上,结果自然不可靠。论文诚实地把这个局限性列了出来,并且设计了一个"双空间对比"的诊断机制,专门用来标记哪些概念属于VLM的认知盲区,提醒使用者对这类结果保持谨慎。
四个模型,两套视觉语言引擎,结果依然稳
为了证明这套方法不是只在一个特定模型上凑巧管用,论文把整套流程搬到了四种不同的人脸识别模型架构上(包括不同网络结构、不同训练数据集训练出来的版本),同时也换用了另一套视觉语言模型SigLIP来验证。
结果显示,适配器的翻译能力(也就是把VLM图像特征对齐到人脸识别空间的保真度)在四个模型上表现得相当一致,差距不超过0.71个百分点。但词汇投影的忠实度(也就是文字概念迁移过去之后到底有多少信息量能留下来)在不同模型间差异明显,同一种网络架构ResNet-100,分别用WebFace4M和MS1MV2两套不同数据训练出来,词汇投影准确率相差了5.61个百分点。这个差异恰好说明,不同的人脸识别模型确实以不同的方式组织和利用可命名的语义信息,而这套投影方法能够把这种差异量化出来。
下面这张表格汇总了论文里最核心的一组对比数据(以AdaFace ViT-B/WebFace4M配合CLIP为主力模型):
| 表示方式 | 验证准确率均值 |
| 人脸识别模型自我验证(理论上限) | 97.44% |
| 未对齐的VLM与人脸识别模型直接配对(负对照) | 50.29% |
| VLM自我验证(未经适配器) | 82.33% |
| 经适配器对齐后的VLM自我验证 | **92.58%** |
| 适配器输出与真实人脸识别模型配对验证 | 94.56% |
| 词汇投影(未对齐,VLM空间) | 51.98% |
| 词汇投影(适配器对齐后,人脸识别空间) | **71.66%** |
这张表清楚地讲了一个故事:适配器的加入,把原本毫无意义的跨空间比较,变成了一套真正能反映身份信息的可靠工具。
写在后面
读完这篇论文,最让我心里咯噔一下的其实不是那套精巧的适配器设计,而是那个关于"姿态"的失败案例。研究者完全可以把这个尴尬的结果藏起来,或者干脆不测试姿态这个属性,毕竟论文已经在种族、年龄这些维度上拿到了漂亮的结果。但他们选择老老实实把这个矛盾摆出来:一个明明被人脸识别模型牢牢掌握的属性(姿态),因为视觉语言模型自己认知不到位,导致整套审计方法在这个维度上完全失灵。
这提醒我一件容易被忽略的事:任何一套"用A模型去解释B模型"的方法论,它的解释能力天花板,从来不是由B模型决定的,而是由A模型的认知边界决定的。你没法用一个色弱的人的判断标准,去精确评价另一个人对色彩的辨识能力,哪怕这个色弱的人在其他很多方面判断得都很准。这个逻辑放在更大范围的AI可解释性研究里,恐怕是个普遍存在却常常被忽视的陷阱。
另外一个让我反复咀嚼的细节是,论文反复强调"检测得到"不等于"这个属性决定了身份"。头发颜色、眼镜这些容易改变的外在特征,在识别系统里反而排名很高,这不是说这些特征"应该"决定一个人是谁,而是因为在训练数据里,人们大概率长期保持同一种发色、同一副眼镜,系统因此学会了偷懒式地依赖这些相关性。这种被系统学到的"捷径依赖",恰恰是审计工作真正需要揪出来的东西。
如果你是设计人脸识别系统的工程师,看到这篇论文,你会不会开始担心自己的模型也悄悄依赖了某些不该依赖的捷径?
Q&A
Q1:EXPL-FR是什么?
A:EXPL-FR是一套让人脸识别模型变得可解释的框架,它通过训练一个小型适配器,把视觉语言模型的图像特征对齐到人脸识别模型自己的特征空间,再把这个能力零样本迁移到文字提示上,从而用自然语言词汇解释人脸识别模型到底依据什么做出判断。
Q2:EXPL-FR需要人工标注数据吗?
A:不需要。EXPL-FR最大的特点就是完全基于文字提示驱动,不依赖任何人工标注的属性标签,也不需要专门的可控生成器,只需要写几句提示词就能审计一个新的属性维度,大大降低了扩展成本。
Q3:EXPL-FR能发现人脸识别模型的偏见问题吗?
A:能。论文在RFW种族公平性测试中验证,完全不用人工标签的纯提示词审计方法,排出的模型种族偏见排名和真实验证错误率排名一致性高达0.92,证明这套方法可以在没有标签的情况下有效识别模型的公平性风险。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.