一个理想的潜在空间 z 不仅能有效压缩数据,还能以这样的方式组织数据:各个潜在维度对应原始数据中有意义、独立的变异因素。例如,在人脸建模时,一个潜在维度可能控制笑容强度,另一个控制头部姿态,再一个控制光照方向,且它们都彼此独立。这个特性被称为解缠。尽管标准的自编码器(包括VAE)能学习压缩表示,但它们不能自动保证解缠。学到的潜在维度常表现为底层因素的纠缠组合。
为什么解缠难以自动实现?VAE的目标函数,即优化证据下界(ELBO),主要侧重于最大化数据似然(重建质量),同时使近似后验 qϕ(z∣x) 接近先验 p(z)。在标准ELBO目标函数中没有明确的项强制 z 的各个维度统计独立并与数据的真实生成因素对齐 (alignment)。若干方法修改了VAE框架以明确促进这个特性。
β-VAE:调整KL散度权重 (weight)
促进解缠最有影响力的方法之一是 β-VAE。核心思路简单而有效:通过引入一个系数 β 来修改标准VAE的ELBO,该系数用于缩放KL散度项。
标准VAE的ELBO为:
LVAE=Eqϕ(z∣x)[logpθ(x∣z)]−DKL(qϕ(z∣x)∣∣p(z))
β-VAE的目标函数变为:
Lβ−VAE=Eqϕ(z∣x)[logpθ(x∣z)]−βDKL(qϕ(z∣x)∣∣p(z))
这里,β 是一个大于1的超参数 (parameter) (hyperparameter)(β>1)。通过增加KL散度项的权重,β-VAE 对近似后验 qϕ(z∣x) 施加了更强的约束,使其与因子化的 Gaussian 先验 p(z)=N(0,I) 匹配。
直观上怎么理解?KL散度项衡量了潜在表示 z 中从先验编码了多少信息。增加 β 会惩罚在潜在空间中使用过多“通道容量”的模型。为了最小化这个受惩罚的目标函数,模型被引导找到最有效的表示,这通常使其能够找到底层独立的变异因素,因为单独表示它们在信息理论上是高效的。每个潜在维度都受到压力,只编码数据的一个特定方面,以使后验接近简单的、因子化的先验。
权衡: 尽管 β>1 通常能比标准VAE(β=1)带来显著改进的解缠效果,但这并非没有代价。KL散度项上增加的压力会减少模型对重建项 Eqϕ(z∣x)[logpθ(x∣z)] 的关注。因此,β-VAE 可能会产生比在相同数据上训练的标准VAE更模糊或不准确的重建结果。选择 β 的值需要在重建保真度与解缠程度之间进行权衡。值通常在2到10之间,但最佳的 β 取决于数据集,通常通过实验得到。
β-VAE 中权衡的示意图。随着 β 的增加,解缠分数通常提高,而重建质量可能会下降。具体曲线很大程度上取决于数据集和模型架构。
FactorVAE:惩罚总相关性
另一种方法,FactorVAE,更直接地解决解缠问题,它通过在VAE目标函数中添加一个明确的惩罚项,该惩罚项鼓励潜在编码 z 各维度间的统计独立性。
回顾一下,VAE目标函数中的KL散度项 DKL(qϕ(z∣x)∣∣p(z)) 促进聚合后验 qϕ(z)=∫qϕ(z∣x)pdata(x)dx 与先验 p(z) 匹配。FactorVAE 将此KL散度进一步分解。这种分解中的一个项是聚合后验 qϕ(z) 下潜在变量的总相关性(TC):
TC(z)=DKL(qϕ(z)∣∣j∏qϕ(zj))
总相关性衡量了潜在向量 (vector) z 中变量 z1,...,zd 之间的冗余或依赖性。如果潜在维度完全独立,联合分布 qϕ(z) 将等于其边际分布的乘积 ∏jqϕ(zj),并且 TC 将为零。因此,直接惩罚TC可以促进潜在维度之间的独立性。
FactorVAE 目标函数添加了一个惩罚TC的项:
LFactorVAE≈LVAE−γTC(z)
而 γ 是一个超参数 (parameter) (hyperparameter),控制TC惩罚的强度。
直接计算 TC(z) 是不可行的,因为它需要估计边际分布 qϕ(zj)。FactorVAE 巧妙地通过密度比技巧回避了这个问题。它训练一个辅助判别器网络(类似于GAN中使用的网络),以区分从联合后验 qϕ(z) 中提取的样本和从边际乘积 ∏jqϕ(zj) 中提取的样本(通过在批次中打乱潜在编码实现)。判别器的损失提供了TC的估计值,该估计值随后作为惩罚项添加到VAE的训练目标中。
通过直接惩罚潜在维度之间的统计依赖性,FactorVAE 旨在实现解缠,而不会过度约束聚合后验 qϕ(z) 的形状,就像高β VAE中强大的先验匹配约束所做的那样。这有时可以带来比 β-VAE 更好的重建质量,同时保持相似的解缠水平,尽管这增加了训练一个额外判别器网络的复杂性。
其他相关技术
其他若干方法在这些思路的基础上发展,或提供了替代视角:
- 渐进式VAE(Annealed VAE): 逐步增加训练期间KL散度项的权重 (weight)(类似于β),开始时使用较低值以初步关注重建,之后再增加权重以强制更好的先验匹配并可能提高解缠效果。
- DIP-VAE(解缠推断先验VAE): 通过鼓励推断后验的协方差矩阵为对角线形式来促成解缠,惩罚暗示潜在维度之间存在相关性的非对角线元素。
- InfoGAN / InfoVAE: 尽管InfoGAN基于GAN,但最大化潜在编码和观测值之间互信息的底层原理也应用于InfoVAE变体,以促成信息丰富且可能解缠的表示。
评估解缠
定量衡量解缠仍然是一个活跃的研究方向。没有一个单一指标被普遍接受,但常见方法包括:
- 视觉检查: 遍历单个潜在维度,并观察生成输出的变化是否对应于单一的、可解释的因素。
- 因子分数: 在学到的潜在编码 z 上训练一个简单分类器(例如,线性分类器),以预测已知真实变异因素(如果可用)。更高的准确率表明这些因素的编码效果更好。
- 互信息间隙(MIG): 衡量每个潜在维度与每个已知真实因素之间的互信息。高分数表明每个因素主要由一个潜在维度捕获。
- DCI分数(解缠、完备性、信息性): 尝试衡量解缠(每个潜在量最多捕获一个因素)、完备性(每个因素都被某个潜在量捕获)和信息性(潜在量预测因素的效果如何)。
这些指标通常需要具有已知、已标记 (token)变异因素的数据集,而这些数据集并非总是可用。此外,不同的指标有时会得出相互冲突的结果,这凸显了在正式定义和衡量解缠方面持续存在的难题。
实践中,促进解缠通常涉及选择一种方法,如β-VAE或FactorVAE,仔细调整相关的超参数 (parameter) (hyperparameter)(例如,β,γ),并通过检查潜在遍历和重建,定量(如果可能)和定性地评估结果。目标是找到一个平衡点,在不过度牺牲模型准确表示数据能力的前提下,获得可解释和可控的潜在因素。