趋近智
前面的章节侧重于构建标准化流的架构。从自回归 (autoregressive)模型到仿射耦合层,你现在已经掌握了将简单概率分布映射到复杂分布所需的结构组件。接下来的步骤是优化这些神经网络 (neural network)以拟合实际数据。
本章将介绍训练流模型的运作方式。与许多依赖近似计算的生成方法不同,标准化流允许进行精确的密度评估。这一数学特性意味着我们可以直接使用精确极大似然估计来训练这些模型。我们将通过最小化负对数似然损失来构建目标函数。从数学角度来看,对于数据点 、可逆变换 和基础分布 ,精确对数似然的计算方式如下:
你将学习如何在 PyTorch 中实现自定义损失函数 (loss function),通过结合基础分布的密度与雅可比行列式来计算该方程。
由于标准化流严格运行在连续概率分布上,因此将其应用于数字图像等离散数据格式时,需要特定的预处理步骤。我们将实现数据去量化 (quantization)方法,为离散值添加连续噪声,从而防止模型给特定点分配无限大的密度。你将编写均匀去量化和变分去量化程序,将离散输入转换为适合网络的连续信号。
在完成优化过程的讲解后,我们将转而关注数据生成。你将编写必要的采样程序,执行逆向数学运算,从学习到的分布中生成新的合成样本。最后,你将通过在标准数据集上训练一个完整的连续标准化流模型并评估生成结果,来整合这些内容。
5.1 极大似然估计
5.2 密度估计的损失函数
5.3 数据去量化方法
5.4 采样流程
5.5 正规化流训练实践