精读解析 | 稀疏性条件能量标签分布学习:概率建模的改进

本文精读 Geng 等《Sparsity Conditional Energy Label Distribution Learning for Age Estimation》(2016),从条件能量模型出发,给出将对二值隐变量的指数和化为“门控乘积”的闭式推导;构建 KL 拟合 + 稀疏门控 的联合目标,推导 \(b_j\)\(u_{jr}\)\(\omega_r\) 的显式梯度及 SGD 更新;并对实验进行了总结和分析。

论文链接:Sparsity Conditional Energy Label Distribution Learning for Age Estimation

本文前置文章链接:

精读解析|从单一标签到标签分布:面部年龄估计的新方法

SCE-LDL 从最大熵下的 IIS-LDL 迈向“能量+稀疏门控”的细粒度概率建模,在保持标签分布学习思想的同时,显著提升了表达力与鲁棒性。

稀疏性条件能量标签分布学习

条件概率函数推导

条件能量模型定义为

\[ p(y\mid x)=\frac{\sum_{h}\exp\{-E(x,y,h)\}}{\sum_{y}\sum_{h}\exp\{-E(x,y,h)\}}, \]

其中 \(h\in\{0,1\}^R\) 是二值隐向量。能量函数写作

\[ E(x,y,h)= -\sum_{r=1}^{R} h_r f_r(x;\omega_r)-\sum_{r=1}^{R}\sum_{j=1}^{l} h_r u_{jr} y_j-\sum_{j=1}^{l} b_j y_j. \]

各符号含义如下:

  • \(x\):输入特征向量,论文实验中采用 BIF(Bio-Inspired Features)等视觉特征。
  • \(y\):年龄索引向量,为 one-hot 形式;若样本真实年龄为第 \(j\) 类,则仅有 \(y_j=1\),其余为 \(0\)
  • \(h\in\{0,1\}^R\):二值隐向量,长度为 \(R\),可理解为一组“特征抽取器”的门控开关。
  • \(R\):隐变量(或特征抽取器)数量,由模型设计者设定;\(l\) 为年龄类别总数。
  • \(f_r(x;\omega_r)\):第 \(r\) 个特征抽取器对输入 \(x\) 的响应,\(\omega_r\) 为其参数,可为线性、二次或 Sigmoid 形式。
  • \(u_{jr}\):连接隐单元 \(r\) 与年龄 \(j\) 的权重,控制该抽取器对该年龄的作用强度。
  • \(b_j\):年龄 \(j\) 的偏置项。

整体参数集合为 \(\theta=\{b_j,u_{jr},\omega_r\}\)
在后续条件概率中,\(\exp\{f_r(x;\omega_r)+u_{jr}\}\) 可视作“第 \(r\) 个抽取器在年龄 \(j\) 上的激活”。当 \(f_r(x;\omega_r)+u_{jr}\ll0\) 时该值接近 0,表示抽取器与该年龄不匹配而被抑制;当其较大时,激活值显著,乘性放大该通道贡献。\(h_r=1\) 表示该抽取器“开门参与”,\(h_r=0\) 表示“关闭”,因此整个模型体现出由多个门控单元组成的能量结构。

我们关心的是某个固定年龄 \(j\) 的条件概率。利用独热性质,只保留 \(y_j=1\) 的项,得到 \[ p(y_j=1\mid x)= \frac{\sum_{h}\exp\!\Big(\sum_{r=1}^{R}h_r[f_r(x;\omega_r)+u_{jr}]+b_j\Big)} {\sum_{k=1}^{l}\sum_{h}\exp\!\Big(\sum_{r=1}^{R}h_r[f_r(x;\omega_r)+u_{kr}]+b_k\Big)}. \]

关键在于如何把对向量 \(h\) 的求和化简。记 \(A_{rj}=f_r(x;\omega_r)+u_{jr}\)。由于能量函数对 \(h_r\) 是可加的,没有交互项,所以 \[ \exp\!\Big(\sum_{r}h_rA_{rj}\Big)=\prod_{r}\exp(h_rA_{rj}). \]

于是分子中的和可以展开为嵌套二值求和:

\[ \sum_{h_1=0}^{1}\cdots\sum_{h_R=0}^{1}\;\prod_{r=1}^{R}\exp(h_rA_{rj}). \]

这里要仔细理解:我们可以从最内层变量 \(h_R\) 开始计算。把与 \(h_R\) 无关的部分当作常数,得到

\[ \sum_{h_R}\exp(h_RA_{Rj})=1+e^{A_{Rj}}. \]

因此最里层的和收缩成一个常数 \((1+e^{A_{Rj}})\),可以提到外面。接着考虑 \(h_{R-1}\),同样得到一个因子 \((1+e^{A_{R-1,j}})\)。如此从内到外不断“剥皮”,每一步都会留下一个括号项 \((1+e^{A_{rj}})\)。最后整个求和就变为

\[ \sum_{h}\prod_{r=1}^{R}\exp(h_rA_{rj})=\prod_{r=1}^{R}(1+e^{A_{rj}}). \]

同理,分母对每个年龄 \(k\) 都有相应的结果 \(\prod_{r=1}^{R}(1+e^{A_{rk}})\)。因此条件概率闭式为

\[ p(y_j=1\mid x)= \frac{e^{b_j}\prod_{r=1}^{R}\big[1+\exp\{f_r(x;\omega_r)+u_{jr}\}\big]} {\sum_{k=1}^{l} e^{b_k}\prod_{r=1}^{R}\big[1+\exp\{f_r(x;\omega_r)+u_{kr}\}\big]}. \]

这个推导表明,原本需要对 \(2^R\) 种隐变量组合求和的问题,最终化简成了 \(R\) 个括号的乘积。直观理解是:每个隐单元 \(h_r\) 相当于一个开关,当 \(f_r(x;\omega_r)+u_{jr}\ll 0\) 时,对应括号近似为 1,相当于关门不发挥作用;当它较大时,括号项大于 1,乘性放大贡献。所有隐单元的组合就形成了“0 或 >1”的门控乘积,带来分布式表征的能力,也为后续的稀疏性约束提供了基础。

更新算法

模型训练的目标是使预测的标签分布 \(p(y\mid x)\) 尽量逼近标注分布 \(D=\{d_j\}_{j=1}^{l}\),同时引入稀疏约束鼓励隐单元处于“关闭”状态。给定训练集 \(\{(x^{(i)},D^{(i)})\}_{i=1}^{N}\),定义目标函数(最大化)为

\[ \mathcal{L}(\theta)= \sum_{i=1}^{N}\sum_{j=1}^{l} d^{(i)}_j \log p(y_j=1\mid x^{(i)};\theta) +\lambda \sum_{i=1}^{N}\sum_{j=1}^{l} d^{(i)}_j \sum_{r=1}^{R} p(h_r=0\mid x^{(i)},y_j=1), \]

其中 \(\theta=\{b_j,u_{jr},\omega_r\}\)\(\lambda\) 为稀疏项权重,且有 \(p(h_r=0\mid x,y_j=1)=\sigma(-a_{jr}(x))=1-\sigma(a_{jr}(x))\),其中 \(\sigma(z)=1/(1+e^{-z})\)\(a_{jr}(x)=f_r(x;\omega_r)+u_{jr}\)。条件概率 \(p(y_j=1\mid x)\) 的闭式表达为

\[ p(y_j=1\mid x)= \frac{e^{b_j}\prod_{r=1}^{R}\big[1+e^{a_{jr}(x)}\big]} {\sum_{k=1}^{l} e^{b_k}\prod_{r=1}^{R}\big[1+e^{a_{kr}(x)}\big]}. \]

对单样本 \((x,D)\),定义 \(\ell_j(x)=\log p(y_j=1\mid x)=b_j+\sum_{r}\log(1+e^{a_{jr}(x)})-\log Z(x)\),其中 \(Z(x)=\sum_{k}e^{b_k}\prod_{r}(1+e^{a_{kr}(x)})\)。由此可得对数似然项的梯度。根据 \(\partial\log(1+e^z)/\partial z=\sigma(z)\) 和 softmax 性质,有

\[ \frac{\partial \ell_j}{\partial b_k}=\mathbf{1}[k=j]-p(y_k=1\mid x),\qquad \frac{\partial \ell_j}{\partial u_{kr}}=\big(\mathbf{1}[k=j]-p(y_k=1\mid x)\big)\sigma(a_{kr}(x)), \] \[ \frac{\partial \ell_j}{\partial \omega_r}= \Big(\sigma(a_{jr}(x))-\sum_{k}p(y_k=1\mid x)\sigma(a_{kr}(x))\Big)\frac{\partial f_r(x;\omega_r)}{\partial \omega_r}. \]

稀疏正则项的梯度则为 \[ \frac{\partial}{\partial u_{kr}}\sigma(-a_{kr}(x)) =-\sigma(a_{kr}(x))(1-\sigma(a_{kr}(x))),\qquad \frac{\partial}{\partial \omega_r}\sigma(-a_{jr}(x)) =-\sigma(a_{jr}(x))(1-\sigma(a_{jr}(x)))\frac{\partial f_r(x;\omega_r)}{\partial \omega_r}. \] 该正则项不涉及 \(b_k\),因此其对偏置的导数为 0。

将两部分合并,并对样本与标签分布加权求和后,总梯度写作: \[ \frac{\partial \mathcal{L}}{\partial b_k}=\sum_{i}\sum_{j} d^{(i)}_j\big(\mathbf{1}[k=j]-p_k^{(i)}\big), \] \[ \frac{\partial \mathcal{L}}{\partial u_{kr}} =\sum_{i}\sum_{j} d^{(i)}_j\Big[\big(\mathbf{1}[k=j]-p_k^{(i)}\big)\sigma(a^{(i)}_{kr})\Big] -\lambda\sum_{i} d^{(i)}_k\,\sigma(a^{(i)}_{kr})(1-\sigma(a^{(i)}_{kr})), \] \[ \frac{\partial \mathcal{L}}{\partial \omega_r} =\sum_{i}\sum_{j} d^{(i)}_j\Big[\Big(\sigma(a^{(i)}_{jr})-\sum_{k} p_k^{(i)}\,\sigma(a^{(i)}_{kr})\Big)\frac{\partial f_r(x^{(i)};\omega_r)}{\partial \omega_r}\Big] -\lambda\sum_{i}\sum_{j} d^{(i)}_j\,\sigma(a^{(i)}_{jr})(1-\sigma(a^{(i)}_{jr}))\frac{\partial f_r(x^{(i)};\omega_r)}{\partial \omega_r}. \]

实际训练中采用小批量随机梯度上升(或对 \(-\mathcal{L}\) 做下降)更新参数: \[ b_k \leftarrow b_k+\eta\,\frac{\partial \mathcal{L}}{\partial b_k},\qquad u_{kr} \leftarrow u_{kr}+\eta\,\frac{\partial \mathcal{L}}{\partial u_{kr}},\qquad \omega_r \leftarrow \omega_r+\eta\,\frac{\partial \mathcal{L}}{\partial \omega_r}, \] 其中 \(\eta\) 为学习率。当 \(f_r(x;\omega_r)=\omega_r^\top x+w_{r0}\) 时,梯度 \(\partial f_r/\partial \omega_r=x\)\(\partial f_r/\partial w_{r0}=1\),可将偏置并入权重向量一起更新。论文实验中采用线性抽取器、学习率约 \(0.1\)、迭代 30 轮即可收敛。整个算法通过在 KL 拟合的对数似然梯度上叠加稀疏正则项,实现了“概率匹配 + 隐单元稀疏”的双重优化,使每个隐单元学会在合适的样本下被激活,在不匹配样本下自然关闭,从而形成稳定的稀疏门控结构。

实验与结果分析

实验主要在 MORPH II 和 ChaLearn Apparent Age 两个公开人脸年龄估计数据集上进行。MORPH II 共包含 55,132 张人脸图像,年龄范围 16–77 岁,种族比例约为非裔 77%、欧裔 19%、其他 4%。图像经过人脸检测与对齐后,提取 BIF(Bio-Inspired Features)特征,并通过 MFA(Marginal Fisher Analysis)降维到 200 维,再进行零均值与单位方差归一化。ChaLearn 数据集包含 3,615 张图像(2,479 用于训练,1,136 用于验证),同样采用 DPM 检测与五点对齐,提取 7,152 维 BIF 特征但不降维。标签分布的构造方式为:在 MORPH 数据中,以真实年龄为均值、标准差为 1 的高斯分布生成标签分布 \(D_j\);在 ChaLearn 数据中,使用官方提供的均值和标准差代入相同的高斯公式生成分布。评测指标包括平均绝对误差(MAE)与累积精度曲线 CS@m(即误差小于 \(m\) 岁的样本比例)。实验对比了多种经典标签分布学习方法,包括 CE-LDL、BFGS-LDL、CPNN-LDL、KPLS 以及传统回归方法 OHR,统一在相同特征与分布生成策略下进行。

结果显示,SCE-LDL 在两个数据集上均取得最优性能。于 MORPH 上,MAE 为 3.858±0.090,显著优于 CE-LDL (4.146)、BFGS-LDL (4.872)、CPNN-LDL (4.705)、KPLS (4.442) 以及 OHR (7.085);在 ChaLearn 上,MAE 达到 6.432,相比 CE-LDL (6.708) 与 KPLS (6.841) 均有明显提升,更远超 CPNN-LDL (12.979)。CS 曲线(误差阈值从 0 到 10)进一步表明,SCE-LDL 在低误差区间曲线更靠上,说明模型在高精度预测时优势更明显。灵敏度实验分析了隐单元数 \(R\) 和稀疏系数 \(\lambda\) 的影响:当 \(R\) 在 50–175 之间变化时,MAE 变化平滑,150 左右最优但对参数不敏感;\(\lambda\) 在 0.001–0.01 范围内性能稳定,取 0.005 时表现最佳。实验还表明线性抽取器已足以实现较好性能,非线性形式提升有限而计算开销增大。整体分析认为,SCE-LDL 之所以优于其它 LDL 方法,是因为通过隐变量门控和稀疏约束实现了“选择性激活”的特征表达:当特征与年龄匹配时隐单元被激活、对概率产生乘性放大,而不匹配特征则被自然抑制,从而显著提升模型鲁棒性。特别是在 ChaLearn 这类野外条件复杂、光照表情变化大的数据集上,SCE-LDL 的门控机制有效过滤了噪声特征,使预测分布更集中、更稳定。总体来看,这种能量建模结合稀疏门控的概率学习方式,不仅在性能上优于已有 LDL 方法,也揭示了标签分布学习在表征层可通过隐变量能量结构进一步提升表达能力的方向。