面向鲁棒人脸识别的难样本条件化去相关注意力 Hard Sample-Conditioned Decorrelated Attention for Robust Face Recognition
按样本难度加权注意力头去相关,让ViT在难样本上强化头专业化,人脸识别提升且推理零开销
前置知识
多头自注意力 (Multi-Head Self-Attention)
ViT 的核心模块:把输入 token 序列分别投影到 H 组独立的 Query/Key/Value 子空间,每个头各自计算 scaled dot-product attention 后拼接、线性投影输出,使模型能同时从多个表示子空间提取信息。但若无显式约束,不同头的注意力图可能高度重叠,形成冗余。
本文全部动机建立在『多个头学到重复模式等于容量浪费』这一观察上,理解注意力图如何在头间两两比较,是读懂去相关损失公式的前提。
难样本与 margin-based softmax 损失
人脸识别用分类损失训练嵌入网络:ArcFace、CosFace 在 softmax 上加角度间隔,AdaFace 进一步按特征模长自适应调整 margin,给低质量样本更宽松的约束。难样本指嵌入贴近竞争身份、落在决策边界附近的训练样本,强调难样本是 FR 提升精度的常用手段。
ViT-HarDis 以 AdaFace 为主损失,并把『样本难度』这一概念从分类损失迁移到注意力正则上,必须理解两者的作用位置差异才能抓住本文的定位。
注意力头去相关 (DeCAtt)
Bhattacharyya 等人提出的解耦方法:把每个头的注意力图 L2 归一化后视为向量,计算头间余弦相似度矩阵,惩罚其非对角元素的平方均值,促使各头关注互补区域。它作为附加损失参与训练,不修改架构、不增加推理成本,原工作面向一般视觉任务且对所有样本均匀施加。
ViT-HarDis 的公式 (6)(7) 直接沿用 DeCAtt 的归一化与惩罚设计,本文的贡献是在其逐样本形式上引入难度权重,需要知道被改进的基线长什么样。
TAR@FAR 评测协议
人脸验证的核心指标:把错误接受率 FAR 固定在极低水平(如 $10^{-4}$ 或 $10^{-5}$)时,真接受率 TAR 能达到多少。IJB-B/IJB-C 是大规模跨场景 1:1 混合验证协议,TinyFace 是低分辨率无约束识别基准,用 Rank-1/Rank-5 衡量检索精度。
论文所有主结论都以 TAR@FAR=$10^{-4}$ 为主指标呈现,理解 FAR 越低指标越苛刻,才能正确解读 $10^{-5}$ 档位的波动以及作者为何优先看大规模基准。
KP-RPE (Keypoint Relative Position Encoding)
Kim 等人在 CVPR 2024 提出的位置编码方案:把 RetinaFace 检测到的面部关键点信息注入 ViT 的相对位置编码,使模型对尺度、平移和姿态变化更稳健,是当前较强的 ViT-based 人脸识别基线。
本文所有实验(消融和 SOTA 对比)都以 ViT-KP-RPE 为骨干,读实验表格时需要知道对比对象如 KP-RPE、ViT-8R 与本文共享相近的骨干配置,差异才公平。
研究动机
ViT 的多头注意力允许各头独立学习注意力模式,但缺乏显式正则时,许多头会收敛到冗余、高度相关的模式,模型容量被浪费。已有工作如 DeCAtt 通过相关性惩罚鼓励头解耦,但它对所有训练样本施加完全相同强度的正则,不区分样本难度。而人脸识别中,嵌入落在竞争身份边界附近的难样本对优化和泛化的贡献最大,CurricularFace、MagFace、AdaFace 等都证明强调难样本能学到更判别的表示。作者用实验量化了 ViT-based FR 中的头冗余(Table 1):把头数从 4 增加到 32,LFW 精度只在 99.42%–99.58% 间波动,IJB-B TAR@FAR=$10^{-4}$ 反而从 84.54% 降到 84.19%,加头没有一致收益;Figure 2 进一步显示头间最大余弦相似度随头数增加在大多数层持续上升,说明新增的头并未发展出专门化角色,只是在重复已有注意力模式。
本文的目标是本文的目标是构建一个难样本条件化的注意力头解耦框架 ViT-HarDis:让头去相关的强度随样本难度自适应变化,对与竞争身份高度相似、身份模糊的难样本施加更强的解耦,促使注意力头恰好在最需要分工的地方形成互补模式;对易样本和错样本则少惩罚或不惩罚,避免干扰主损失优化。工程约束是不修改 ViT 架构、不增加推理成本,解耦只作为训练正则叠加在 AdaFace 等 margin-based 损失上。作者希望由此在 IJB-B、IJB-C、TinyFace 等大规模基准上同时超越不加正则的 baseline 与均匀去相关的 ViT-Dis,并顺带回答三个问题:FR 中头冗余有多严重、去相关应施加在哪些层、正则权重 λ 如何选取。
与已有工作不同的是,本文的独特切入角度是把两条原本平行的研究线拼接起来:其一是注意力头解耦(DeCAtt 等,均匀作用于所有样本的注意力正则),其二是难样本挖掘(AdaFace、CurricularFace 等,把难度编码进分类损失的 margin)。作者指出,注意力头专业化应该像损失设计一样具备样本自适应性——身份歧义最高的样本最需要头间分工,而不是像 DeCAtt 那样对易样本和难样本施加同样的惩罚。据作者所知,这是第一个把样本难度条件化到注意力头去相关的工作。文中还首次系统刻画了 ViT-based FR 中头间冗余随深度的分布,并发现去相关只需作用于最后 25% 的层,这一层依赖性的经验结论本身就超越了对 DeCAtt 的简单移植。
核心方法
直觉上,易样本的嵌入远离所有竞争身份中心,注意力头如何分工都不影响判别;难样本则贴着决策边界,若多个头冗余地关注同一面部区域(如双眼),等于重复投票而非提供互补信息,此时强制头间去相关的边际收益最大。技术路线:以 ViT-KP-RPE(ViT-S 12 层 / ViT-B 24 层,16 头,输入 112×112,patch 大小 8)为骨干,AdaFace 为 FR 主损失。训练时对选定的最后若干层(消融显示最后 25% 层最佳)计算每个样本的 $H\times H$ 头相似度矩阵 $\mathbf{C}_b$,得到逐样本去相关损失 $L_{Dis}^{(b)}$;再用样本难度权重 $w_b$ 加权并求和得到 $L_{HarDis}=\frac{1}{B}\sum_{b=1}^{B}w_b\cdot L_{Dis}^{(b)}$;总损失为 $L_{total}=L_{FR}+\lambda L_{HarDis}$,消融确定 $\lambda=1$。整个流程只在训练期生效,推理时模型与 baseline 完全一致。
核心创新是难度驱动的加权去相关。对样本 $b$ 定义难度为到最近负类中心的余弦相似度 $h_b=\max_{c\neq y_b}s_{b,c}$,其中 $s_{b,c}=\langle e_b,w_c\rangle$,$e_b$ 是归一化嵌入、$w_c$ 是归一化类中心。错误分类的样本权重直接置零,避免把标签噪声或标注错误放大进正则;正确分类的样本把 $h_b$ 映射到 $[0,1]$:$\tilde{h}_b=(h_b+1)/2$,再除以 batch 均值得到权重 $w_b=\tilde{h}_b/\frac{1}{B}\sum_{b'}\tilde{h}_{b'}$。由于 $w_b$ 近似单位均值,该加权不放大整体惩罚强度,只是把惩罚预算向难样本重新分配。关键的工程细节是 $w_b$ 被 detach 成常数:梯度不流向 $e_b$ 和 $w_c$,$L_{HarDis}$ 对骨干的梯度仅通过注意力图传播,难度估计只充当逐样本缩放因子。
方法步骤详情
完整流程分五步。(1) 预处理与输入:图像经 RetinaFace 五点对齐并缩放到 112×112,切成 patch 大小为 8 的 $N$ 个 patch,经线性投影 $\mathbf{E}$ 与位置编码相加得到 $\mathbf{Z}_0$。(2) 前向传播到选定层 $\ell$(ViT-S 取第 10–12 层,ViT-B 取第 19–24 层),取出该层 $H=16$ 个头的注意力图 $A_{b,i}\in\mathbb{R}^{N^2}$($N\times N$ 的 post-softmax 注意力矩阵展平)。(3) 对每个注意力图 L2 归一化得 $\hat{A}_{b,i}$,计算头间余弦相似度矩阵 $\mathbf{C}_b[i,j]=\langle\hat{A}_{b,i},\hat{A}_{b,j}\rangle$,逐样本去相关损失为 $L_{Dis}^{(b)}=\frac{1}{H(H-1)}\sum_{i=1}^{H}\sum_{j\neq i}\mathbf{C}_b[i,j]^2$。(4) 用当前(detach 的)嵌入与类中心计算 $h_b$、$w_b$,加权逐样本损失并对 batch 与选定层求和得 $L_{HarDis}$。(5) 与 AdaFace 损失按 $L_{total}=L_{FR}+\lambda L_{HarDis}$($\lambda=1$)联合优化:AdamW、权重衰减 0.05、batch size 1024、40 epochs、初始学习率 0.001、余弦调度加 3 epoch warmup。
技术新颖性
与 DeCAtt 的本质区别在于把 batch 平均的均匀惩罚分解为逐样本量 $L_{Dis}^{(b)}$ 再按难度重新加权,数学上改动很小,动机上却直击 FR 的核心痛点——身份歧义样本。与 AdaFace 等难样本方法的区别在于作用位置:它们把难度编码进分类损失的 margin,本文把难度用于调节注意力结构正则,两者正交、可以叠加。层选择实验(Table 3)是另一个新颖发现:对全部 12 层去相关反而最差(IJB-B 82.20%),只作用于最后 25% 层最佳(85.72%),说明头专门化是层依赖的,浅层保持注意力多样性更有利。作者还证明了加权不改变整体惩罚量级($w_b$ 近似单位均值)且梯度仅经注意力图回传,机制上等价于对难样本的注意力分布施加更强的低冗余约束,训练开销仅约 +30% 而推理零开销。
实验结果
实验层层递进。(1) 头冗余分析(Table 1/Figure 2,ViT-S + MS1MV3_10K):4/8/16/32 头在 IJB-B 上依次为 84.54/84.47/84.46/84.19%,精度对头数不敏感,而头间最大余弦相似度随头数上升,证明容量未被有效利用。(2) 主消融(Table 2):IJB-B TAR@FAR=$10^{-4}$ 从 baseline 84.46%→ViT-Dis 85.03%→ViT-HarDis 85.72%(+1.26 点),IJB-C 88.18%→88.28%→89.09%(+0.91 点);FAR=$10^{-5}$ 时 ViT-Dis 的 IJB-B 反而跌到 69.82%(baseline 72.16%),ViT-HarDis 为 71.74%,不排除错样本的 ViT-HarDis† 达 73.17%,说明收益主要来自难度加权本身;TinyFace Rank-1 为 66.12%→66.74%→67.11%。(3) 机制验证:难样本(baseline 选 top 10%)到最近负类中心的平均余弦相似度 0.40→0.35→0.31(Figure 3),难样本平均头间注意力相似度 0.21→0.09→0.01(Figure 5),ViT-HarDis 的 16 个头各自关注不同面部区域。(4) 层选择(Table 3):最后 25% 层(10–12)最佳 85.72%/89.09%,全 12 层去相关最差 82.20%/83.94%。(5) λ 消融(Table 4):λ=1 最佳,λ=10 时 IJB-C 跌到 87.81%。(6) SOTA(Table 5):WebFace4M 训练下 IJB-B 95.84%、IJB-C 97.24%、TinyFace Rank-1 75.97% 均为 ViT 系最佳;MS1MV3 训练下 IJB-B 96.14%、TinyFace Rank-1 73.52% 最佳,IJB-C 97.34% 仅次于 ViT-8R 的 97.37%。开销:WebFace4M/ViT-B/8×A100 下 baseline 39 min/epoch(共 26 小时),ViT-HarDis 51 min/epoch(共 34 小时,约 +30%),推理成本完全不变。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 大规模人脸验证(WebFace4M 训练) | IJB-B TAR @ FAR=1e-4 | 95.84% | ViT-KP-RPE 95.49% | +0.35 点,ViT 系 SOTA |
| 大规模人脸验证(WebFace4M 训练) | IJB-C TAR @ FAR=1e-4 | 97.24% | ViT-KP-RPE 97.13% | +0.11 点,ViT 系 SOTA |
| 低分辨率人脸识别(WebFace4M 训练) | TinyFace Rank-1 | 75.97% | ViT-KP-RPE 75.80% | +0.17 点,ViT 系 SOTA |
| 大规模人脸验证(MS1MV3 训练) | IJB-B TAR @ FAR=1e-4 | 96.14% | KP-RPE*(同设置重训)95.75% | +0.39 点,ViT 系最佳 |
| 大规模人脸验证(MS1MV3 训练) | IJB-C TAR @ FAR=1e-4 | 97.34% | ViT-8R 97.37% | -0.03 点,排名第二 |
| 难样本歧义机制分析(MS1MV3_10K) | 难样本到最近负类中心平均余弦相似度 | 0.31 | baseline ViT 0.40 / ViT-Dis 0.35 | 身份歧义显著降低,且优于均匀解耦 |
局限与改进
作者承认的局限:训练时间增加约 30%(WebFace4M/ViT-B 从 26 小时升至 34 小时),对预算有限的团队代价不小;权重 $w_b$ 与逐样本惩罚项可能相关,因此 ViT-HarDis 的实际惩罚分布与 ViT-Dis 的差异难以精确解析;错样本排除策略在 IJB-B FAR=$10^{-5}$ 和 TinyFace Rank-1 上反而不如不排除的 ViT-HarDis†,说明该设计并非处处最优。我自己的观察:所有结论都建立在 ViT-KP-RPE + AdaFace 这一种组合上,换损失或换骨干是否成立未知;$h_b$ 依赖类中心 $w_c$ 的质量,长尾身份的中心估计噪声大,可能错判难度;WebFace4M 上 IJB-C 提升仅 0.11 点,接近重训基线时观察到的 ±0.3 点波动量级,文中未报告多随机种子的方差或显著性检验;小基准上提升微弱甚至为负(MS1MV3 上 CFP-FP 99.04% 低于 KP-RPE* 的 99.13%,Avg 97.65% 低于 KP-RPE* 的 97.68%)。
独立分析的弱点
独立分析三个弱点。第一,难度度量过度依赖类中心几何:$h_b=\max_{c\neq y_b}\langle e_b,w_c\rangle$ 在训练早期类中心未收敛时几乎全员被判为错样本(Figure 4 显示初始 wrong 比例接近 100%),长尾类别的中心欠估计会系统性误判难度,改进方向是用特征空间 k 近邻相似度或动量平滑的记忆库中心替代精确类中心。第二,超参敏感且调参成本高昂:层选择与 $\lambda$ 共同决定效果($\lambda=10$ 时 IJB-C 从 89.09% 跌至 87.81%),而每档消融都要 40 epoch 全量训练,改进方向是把 $\lambda$ 设计成随训练进度或 batch 难度分布自适应的调度项,减少网格搜索。第三,统计说服力不足:WebFace4M 上 IJB-C 的 0.11 点提升可能淹没在种子方差里,且 FAR=$10^{-5}$ 档 IJB-B(71.74% vs baseline 72.16%)为负,改进方向是多种子重复实验并报告置信区间,把结论锚定在提升一致的指标(如 TinyFace Rank-5 的 78.33% vs 78.22%)上。
未来方向
作者的方向隐含在结论中:头专门化是层依赖的,未来可让每层的去相关强度可学习而非手工选最后 25%;头冗余分析(Table 1)显示加头无益,可与头剪枝结合训练更小的高效模型。基于成果可延伸的方向:(1) 把『按难度分配正则预算』推广到其他注意力正则(熵正则、头间梯度冲突惩罚等),检验其是否为通用设计原则;(2) 与 ViT-8R 的 register token 方法正交结合——一个是架构级正则、一个是损失级正则,看能否叠加收益;(3) 扩展到一般视觉分类与检测,改用不依赖类中心的难度代理(如逐样本 loss 值或梯度范数);(4) 探索推理端应用:既然注意力头已经专门化,可按输入难度动态选择头子集做级联推理,把训练期学到的分工转化为实际推理加速或降参。
复现评估
复现条件较好。代码已在 GitHub 开源(TaharChettaoui/Hard-Sample-Conditioned-Attention-for-FR),方法只在损失层面改动,实现量小——注意力图归一化、头间余弦相似度矩阵、难度加权三段代码即可,无需修改架构。数据方面 MS1MV3(5.2M 图 / 93K 身份)与 WebFace4M(4M 图 / 200K 身份)均为社区广泛使用的公开训练集,评测集 LFW/CFP-FP/AgeDB/CALFW/CPLFW/IJB-B/IJB-C/TinyFace 均有官方协议。算力门槛较高:消融用 ViT-S(12 层、16 头),SOTA 对比用 ViT-B(24 层),均训练 40 epochs、batch size 1024,需要 8×A100 40GB,WebFace4M 全量训练约 34 小时;低预算团队可先用 MS1MV3_10K 子集(约 600K 图 / 10K 身份)复现 Table 2–4 的消融趋势,方向一致即可认为复现成功。综合评级:中高难度——代码与数据可得,但完整 SOTA 复现需要多卡集群。
论文图表
横轴为 transformer 深度(12 层),纵轴为每层内头间注意力图的最大余弦相似度,四条曲线对应 4/8/16/32 头的模型。结果显示头数越多,大多数层的头间相似度越高,说明额外增加的头没有发展出专门化角色,而是学成了冗余模式。
这是全文动机的直接证据:ViT-based FR 中注意力头冗余随头数增加而恶化,直接推出『需要显式解耦正则』的研究动机,也是 5.1 节选 16 头做后续消融的依据。
三行注意力热力图,每行第一列为所有头和样本的平均图,其余 16 列为按序排列的各头在难样本上的平均注意力图。baseline 与 ViT-Dis 的大多数头集中注视相同区域(如双眼),冗余明显;ViT-HarDis 的各头分别锁定不同的互补区域。量化指标:难样本平均头间注意力相似度 baseline 0.21、ViT-Dis 0.09、ViT-HarDis 0.01。
提供直观的可视化证据,让读者『看见』头专门化:数值上头间相似度从 0.21 降到 0.01,配合热力图使去相关的效果从抽象指标变成可理解的空间分工。