虽然对解耦表示的期望是明确的,即数据中不同生成因素映射到潜在空间中不同维度的表示,但量化模型实现此目标的程度是一项复杂任务。仅仅观察生成的样本或潜在空间遍历可以提供定性观察,但严谨的比较和优化需要客观的定量方法。本节介绍了几种广泛采用的用于评估解耦性能的指标,主要适用于已知真实变异因素的情况。在开始讨论之前,务必认识到一个普遍的挑战:大多数解耦指标依赖于带有标注的真实变异因素的数据集(例如,在图像数据集中,这些可以是物体的形状、颜色、位置、尺度)。dSprites、Shapes3D和MPI3D等数据集就是为此目的专门构建的。在许多应用中,此类真实因素不可用,这使得这些指标的直接应用变得困难。然而,它们在研究中和理解促进解耦的模型特性方面,依然是很有用的工具。下图描绘了这些指标旨在量化的理想情况。digraph G { rankdir=LR; node [shape=ellipse, style=filled, fillcolor="#a5d8ff"]; edge [arrowhead=vee]; 解耦表示旨在将数据中不同的生成因素映射到潜在空间中不同的维度。量化模型实现这一目标的能力是一项复杂的任务。观察生成的样本或潜在空间遍历提供定性观察结果,但精确的比较和优化需要客观的定量衡量标准。这里介绍了评估解耦的几种广泛采用的指标,主要关注已知真实变异因素的场景。 subgraph cluster_latents { label="潜在维度"; style="filled"; fillcolor="#e9ecef"; z1 [label="z₁"]; z2 [label="z₂"]; z3 [label="z₃"]; zd [label="... zᴅ"]; } g1 -> z1 [penwidth=2.5, color="#1c7ed6", label="强"]; g2 -> z2 [penwidth=2.5, color="#1c7ed6", label="强"]; g3 -> z3 [penwidth=2.5, color="#1c7ed6", label="强"]; g1 -> z2 [style=dashed, penwidth=0.5, color="#adb5bd", label="弱"]; g1 -> z3 [style=dashed, penwidth=0.5, color="#adb5bd", label="弱"]; g2 -> z1 [style=dashed, penwidth=0.5, color="#adb5bd", label="弱"]; g2 -> z3 [style=dashed, penwidth=0.5, color="#adb5bd", label="弱"]; g3 -> z1 [style=dashed, penwidth=0.5, color="#adb5bd", label="弱"]; g3 -> z2 [style=dashed, penwidth=0.5, color="#adb5bd", label="弱"]; }理想化的解耦表示。每个真实因素($g_i$)都对一个特定的潜在维度($z_i$)有强影响,而与其他潜在维度之间的相互作用则很弱。我们来检查一下用于评估这个理想状态的一些突出指标。互信息间隙 (MIG)互信息间隙 (MIG) 分数(Chen et al., 2018)旨在量化各个潜在维度 $z_j$ 捕捉各个真实因素 $g_k$ 的程度。其核心思想是,对于一个良好解耦的表示,每个因素 $g_k$ 应该与一个特定潜在维度具有高互信息,而与其他所有维度具有低互信息。计算方法:前提: 一个包含 $N$ 个样本、$D$ 个潜在维度 $z = (z_1, ..., z_D)$ 以及 $K$ 个已知离散真实因素 $g = (g_1, ..., g_K)$ 的数据集。估计互信息: 对于每对潜在维度 $z_j$ 和真实因素 $g_k$,估计其互信息 $I(z_j; g_k)$。如果 $z_j$ 是连续的,通常通过对其经验分布进行分箱来离散化。然后,使用(现在已离散的)$z_j$ 和 $g_k$ 的联合和边缘概率分布计算互信息。 $$ I(z_j; g_k) = \sum_{val(z_j)} \sum_{val(g_k)} p(z_j, g_k) \log \frac{p(z_j, g_k)}{p(z_j)p(g_k)} $$识别每个因素对应的主要潜在维度: 对于每个真实因素 $g_k$:找到与 $g_k$ 具有最高互信息的潜在维度 $z_{j_1}$:$j_1 = \text{argmax}_j I(z_j; g_k)$。在其余潜在维度中,找到与 $g_k$ 具有次高互信息的潜在维度 $z_{j_2}$($j_2 \neq j_1$)。计算归一化间隙: 因素 $g_k$ 的间隙是互信息之差,通过因素 $H(g_k)$ 的熵进行归一化: $$ \text{Gap}k = \frac{I(z{j_1}; g_k) - I(z_{j_2}; g_k)}{H(g_k)} $$ 通过 $H(g_k)$ 进行归一化考虑了那些本质上更容易或更难预测的因素。平均间隙: MIG 分数是所有 $K$ 个真实因素的这些归一化间隙的平均值: $$ \text{MIG} = \frac{1}{K} \sum_{k=1}^K \text{Gap}_k $$解读:MIG 分数越高越好,表明解耦程度越大。分数越接近 1,表示对于每个因素,一个潜在维度比任何其他维度都具有显著更高的信息量。分数接近 0 意味着因素未能很好地被捕捉,或者信息分散在多个潜在维度中(纠缠)。优点:直观:直接衡量“信息间隙”,这与一对一映射的理念高度一致。归一化:除以 $H(g_k)$ 提供了尺度不变的衡量标准。缺点:需要真实因素。互信息的估计,特别是对连续潜在维度进行离散化时,可能对分箱数量和数据量很敏感。仅考虑每个因素的两个主要潜在维度,可能遗漏更复杂的纠缠模式。分离属性可预测性 (SAP)分离属性可预测性 (SAP) 分数(Kumar et al., 2017)采用略微不同的方法。它不直接衡量互信息,而是评估每个真实因素能通过单个潜在维度使用简单分类器被预测的程度。这种“分离”源于给定因素的最佳潜在维度与次佳潜在维度所提供的可预测性差异。计算方法:前提: 与 MIG 类似,一个包含潜在编码 $z$ 和对应真实因素 $g$ 的数据集。训练预测器: 对于每对潜在维度 $z_j$ 和真实因素 $g_k$:训练一个简单的分类器(例如,逻辑回归、线性支持向量机),仅使用单个潜在维度 $z_j$ 的值来预测因素 $g_k$。评估分类器的性能,通常使用分类准确率。这将得到一个分数矩阵 $S$,其中 $S_{jk}$ 是从 $z_j$ 预测 $g_k$ 的准确率。识别每个因素的主要预测潜在维度: 对于每个真实因素 $g_k$:找到对 $g_k$ 产生最高预测分数的潜在维度 $z_{j_1}$:$S_{j_1k} = \max_j S_{jk}$。在其余潜在维度中,找到对 $g_k$ 产生次高预测分数的潜在维度 $z_{j_2}$。计算分数差异: 因素 $g_k$ 的 SAP 贡献是这两个主要分数之间的差异: $$ \text{SAP}k = S{j_1k} - S_{j_2k} $$平均差异: 总 SAP 分数是所有 $K$ 个真实因素的这些差异的平均值: $$ \text{SAP} = \frac{1}{K} \sum_{k=1}^K \text{SAP}_k $$解读:SAP 分数越高表示解耦越好。这表明对于每个因素,一个潜在维度比任何其他单个维度都具有更高的可预测性。SAP 分数低意味着因素未能被单个潜在维度很好地预测,或者多个潜在维度具有相似(可能较弱)的预测能力。优点:采用预测框架,在某些情况下比互信息估计更稳定。“可预测性差异”的观念清晰地指向了分离的特点。缺点:需要真实因素。分类器的选择及其超参数可能影响结果。该指标的输出可能既反映了所选分类器的能力,也反映了表示的质量。它衡量的是可预测性而非直接信息量,两者相关但不完全相同。解耦性、完备性和信息量 (DCI)DCI 框架(Eastwood & Williams, 2018)通过提出三个不同分数:解耦性、完备性和信息量,来提供更多方面的评估。这些指标使用了从训练预测器(通常是 Lasso 回归器或随机森林)中得到的特征重要性,以使用全部潜在维度预测每个真实因素。解耦分数:直观理解: 衡量每个潜在维度 $z_j$ 是否专注于编码少量真实因素。理想情况下,单个 $z_j$ 应该仅对一个 $g_k$ 重要。计算方法(简化):对于每个因素 $g_k$,使用所有潜在维度 $z=(z_1, ..., z_D)$ 训练一个预测器(例如 Lasso),并提取特征重要性 $R_{jk}$($z_j$ 对于预测 $g_k$ 的重要性)。对于每个潜在维度 $z_j$,考虑其在所有因素上的重要性向量:$(R_{j1}, R_{j2}, ..., R_{jK})$。将此向量归一化,使其元素之和为 1,形成一个概率分布。$z_j$ 的解耦分数是 $1 - H(P_j)$,其中 $H(P_j)$ 是此归一化重要性分布的熵。如果 $z_j$ 仅对一个因素重要,则分布集中,熵低,分数高。总解耦分数是所有“活跃”潜在维度(那些对至少一个因素具有不可忽略重要性的维度)这些分数的平均值,可能根据每个潜在维度的总体预测能力进行加权。解读: 高 DCI-解耦分数(接近 1)表示各个潜在维度倾向于专门表示单个变异因素。完备分数:直观理解: 衡量每个真实因素 $g_k$ 是否主要被少量潜在维度捕获。理想情况下,单个 $g_k$ 应该仅能从一个 $z_j$ 预测。计算方法(简化):使用上述相同的特征重要性矩阵 $R_{jk}$。对于每个因素 $g_k$,考虑其在所有潜在维度上的重要性向量:$(R_{1k}, R_{2k}, ..., R_{Dk})$。将此向量归一化,使其元素之和为 1。$g_k$ 的完备分数是 $1 - H(Q_k)$,其中 $H(Q_k)$ 是此归一化重要性分布的熵。如果 $g_k$ 主要由一个潜在维度解释,则熵低,分数高。总完备分数是所有因素的这些分数的平均值。解读: 高 DCI-完备分数(接近 1)表示每个真实因素被少量(理想情况下为一个)潜在维度很好地表示,而不是其信息被广泛分散。信息量分数:直观理解: 衡量所学到的潜在表示 $z$ 作为一个整体能多好地用于预测真实因素 $g_k$。这是对表示是否捕获了关于因素有用信息的基本检查。计算方法: 通常,这是从完整潜在编码 $z$ 预测每个 $g_k$ 时的平均预测准确率(例如,回归的 $R^2$、分类的分类准确率)。解读: 高信息量分数意味着潜在维度对与因素相关的下游预测任务有用。低信息量表示 VAE 未能学习到这些因素的有意义表示。DCI 的优点:通过区分解耦性、完备性和整体有用性,提供了更全面的视角。使用随机森林或 Lasso 等强大预测器中的特征重要性可以捕捉非线性关系并提供估计。DCI 的缺点:需要真实因素。预测器模型(例如 Lasso、随机森林)的选择及其超参数会影响重要性分数,从而影响最终的 DCI 指标。与 MIG 或 SAP 相比,实现起来可能计算量更大、更复杂。关于解耦指标的一般说明虽然 MIG、SAP 和 DCI 很常见,但还存在其他指标,各有其细节。大多数都共同依赖真实因素。同样值得注意的是:没有单一的完美指标: 解耦是一个多方面属性,没有单一指标能完美捕捉其所有方面。不同指标可能会对模型进行不同的排名。对超参数的敏感性: 许多指标涉及选择(互信息的分箱数量、SAP/DCI 的分类器类型),这些选择会影响分数。一致的评估协议很重要。与定性评估的相关性: 理想情况下,定量指标应与基于潜在空间遍历的人类对解耦的判断相关。然而,这并非总是直接的。侧重轴对齐: 大多数这些指标都隐含地偏好轴对齐解耦,即每个因素与潜在空间中的单个坐标轴对齐。更一般的解耦观念(例如,在线性子空间中编码的因素)使用这些标准工具较难量化。理解这些指标对于从事解耦表示学习的任何人而言都很有用。它们提供了超越定性猜测的工具,能够严格评估在开发 VAE 和其他学习更可解释、结构化潜在空间模型方面的进展。随着本章后续的实践部分,您将有机会实现其中一些指标来评估您训练的 VAE。