精读解析 | 端到端的标签分布学习:突破函数形状限制

本文对 Xin Geng 等人的论文《Facial Age Estimation by Learning from Label Distributions》(2013 )进行了精读。该工作是在 2011 年提出的标签分布学习与 IIS-LLD 算法基础上的拓展,提出了条件概率神经网络(CPNN),以端到端方式直接建模条件分布,突破了固定函数形状的限制。本文将重点说明 CPNN 的建模流程,并总结其在 FG-NET 与 MORPH 数据集上的实验结果。

论文链接:Facial Age Estimation by Learning from Label Distributions

本文前置文章链接:精读解析|从单一标签到标签分布:面部年龄估计的新方法

基于最大熵模型的 IIS-LLD 需要预设条件概率分布的指数族形式,这一假设存在局限,容易导致模型错设。为突破这一限制,论文提出条件概率神经网络(CPNN),通过神经网络端到端建模 \(p(y∣x)\),不依赖特定函数形状假设,并借助标签分布监督实现更灵活、更准确的年龄估计。

灵活的条件概率建模

目标是直接学习条件分布 \(p(y\mid x)\)。设输入特征 \(x\in\mathbb{R}^q\),离散年龄集合 \(\mathcal Y=\{y_1,\dots,y_c\}\),并记训练时给定的标签分布为 \(D_x(y)\)。与最大熵模型 \(p(y\mid x;\theta)\propto \exp\!\big(\langle\theta,\phi(x,y)\rangle\big)\) 不同,三层感知机直接参数化 \(p(y\mid x)\),以提升非线性拟合能力并避免模型错设。这就是CPNN算法。

直觉上可让网络接收特征 \(x\in\mathbb{R}^q\) 并一次性输出长度为 \(c\) 的年龄分布,但这会引入 \(\mathcal O(H\!\cdot\!c)\) 的末层参数(\(H\) 为隐藏单元数),在样本有限时难以稳健训练。为此,将年龄 \(y\) 也作为输入,采用共享参数的函数 \[ f_\theta(x,y)=\mathrm{MLP}_\theta\!\big([\;x,\ \mathrm{enc}(y)\;]\big)\in\mathbb{R}, \] 对同一张图像的所有候选年龄 \(y\in\mathcal Y\) 枚举得到 \(\{f_\theta(x,y)\}_{y\in\mathcal Y}\),再通过指数归一化获得条件概率 \[ p_\theta(y\mid x)=\frac{\exp\!\big(f_\theta(x,y)\big)}{\sum_{y'\in\mathcal Y}\exp\!\big(f_\theta(x,y')\big)}. \] 这种“\(y\) 作为输入、单输出标量”的设计既保持与 softmax 相同的概率归一化形式,又显著降低参数规模,并在相邻年龄间实现自然的参数共享。

训练目标为分布级交叉熵 \[ \mathcal L(\theta)=-\sum_{y\in\mathcal Y} D_x(y)\,\log p_\theta(y\mid x),\qquad p_\theta(y\mid x)=\frac{\exp(f_\theta(x,y))}{\sum_{y'}\exp(f_\theta(x,y'))}. \] 其顶层梯度为 \(\partial \mathcal L/\partial f_\theta(x,y)=p_\theta(y\mid x)-D_x(y)\)。反向传播中,输出层为线性单元,\(f_\theta(x,y)=\sum_{m=1}^{M_2}\theta_{31m}\,z^{(2)}_m(x,y)\),其中 \(z^{(2)}_m=G(I_{2m})\) 为隐藏层第 \(m\) 个单元的输出,\(I_{2m}=\sum_{k=0}^{M_1}\theta_{2mk}\,u_k\) 为其净输入,\(u=[1,x,\mathrm{enc}(y)]\) 是含偏置与年龄编码的输入拼接向量,\(G\) 为 sigmoid,\(G'\) 为其导数,\(\theta_{31m}\) 为隐藏到输出的权重,\(\theta_{2mk}\) 为输入到隐藏的权重。由此有 \[ \frac{\partial \mathcal L}{\partial \theta_{31m}} =\sum_{y\in\mathcal Y}\big(p_\theta(y\mid x)-D_x(y)\big)\,z^{(2)}_m(x,y),\qquad \] \[ \frac{\partial \mathcal L}{\partial \theta_{2mk}} =\sum_{y\in\mathcal Y}\big(p_\theta(y\mid x)-D_x(y)\big)\,\theta_{31m}\,G'(I_{2m}(x,y))\,u_k(x,y), \] 实践中采用标准 BP 反向传播训练即可。

实验和结果分析

FG-NET 采用 LOPO 验证与 MAE 评估,图像来自 82 人共 1002 张,年龄 0–69;MORPH 使用 10 折交叉验证并以 MAE±std 汇报结果,年龄 16–77。两套数据的 200 维特征来自不同管线:FG-NET 使用外观模型(Appearance Model)抽取形状与灰度联合特征并取前 200 个模型参数;MORPH 使用 BIF(Bio-Inspired Features),随后以 MFA(Marginal Fisher Analysis)将特征降至 200 维,从而在相同维度上对比算法表现。

由于本文重点关注 CPNN,仅报告其表现。网络为三层感知机,隐藏层 400 个单元,将年龄 y 与图像特征拼接为输入,经 softmax 归一化得到条件分布并以分布级交叉熵训练;标签分布做 Gaussian、Triangle、Single 三种对照以衡量相邻年龄的“软监督”。与 IIS-LLD 的总体结论是:在相同特征与协议下,CPNN 的平均误差更低,但更依赖数据、方差略高,而 IIS-LLD 因最大熵形状先验与逐维增量优化更稳更快;在训练数据递减实验中 IIS-LLD 曲线更平滑。只看 CPNN 的消融,Gaussian 的 σ 与 Triangle 的底边 l 过窄(近似 Single)会削弱相邻监督、过宽会稀释主标签,适中最好(经验上 σ≈2、l≈6);相对于低龄样本充足的年龄段,以及相对于 Single 与 AGES 等基线方法,在 60–69 岁等高龄稀疏段的相对改进幅度更大。

CPNN 与 IIS-LLD 优缺点对照
方法 优点 局限
IIS-LLD 最大熵形状先验带来稳定性;参数增量逐维优化,收敛更快;训练数据递减时曲线更平滑 预设 $p(y|x)$ 形状可能与任务不匹配;各标签分别学习参数,跨标签相关性利用不足
CPNN 不设 $p(y|x)$ 形状假设,表达更灵活;所有标签共享参数,可显式利用相邻年龄相关性,平均误差更低 更依赖数据、方差略高;端到端训练更慢,需用正则与适中分布尺度抑制过拟合

从成因上看,CPNN 直接建模 \(p(y|x)\) 并让所有标签共享参数,能把“相邻年龄相似”的结构以软监督方式注入网络,只要分布尺度设置得当,就能在数据较充足或特征表达较强时取得更低的 MAE;对应地,自由度更高也让它对数据规模更敏感、方差略高。IIS-LLD 把 \(p(y|x)\) 固定为最大熵的指数族形式,并通过逐维增量求解下界,参数更新更可控、更省算力,因而在样本有限、需要稳健与效率的场景往往更合适;但这种形状约束限制了对跨标签相关性的吸收,导致在大样本或强特征设置下平均误差通常不及 CPNN。实际应用可据此取舍:若侧重极限精度且资源允许,优先 CPNN 并配合合适的 \(σ\) 与正则;若侧重训练/推理效率或数据规模受限,优先 IIS-LLD。