发布网友 发布时间:2024-10-24 06:44
共1个回答
热心网友 时间:2024-10-28 17:59
本文为对Flow-based model的科普性介绍,资料主要参考了李宏毅老师的讲座,在此表示感谢。
在生成模型的主流分类中,主要包括component-by-component(自回归)、AutoEncoder和GAN。然而,这些模型都存在一定的问题。
Flow-based model可以解决这些问题。在从标准化分布生成复杂目标分布的过程中,优化的目标可以表示为最大化采样的对数似然,如公式所示。
其中,公式表示真实图片在生成分布上的似然,第二行即VAE优化的目标ELBO,而Flow-based model可以直接优化第一行。
在Flow-based model中,需要了解前置数学知识,包括Jacobian矩阵。假设两个函数之间存在关系,那么这两个函数之间的导数可以写作一个偏微分矩阵,即Jacobian矩阵。
Jacobian矩阵具有性质:如果存在反函数,那么Jacobian矩阵可以表示为,且两个逆过程的Jacobian矩阵相乘后等于单位矩阵。
在数学上,秩代表了由矩阵的行向量所组成的图形的面积/体积等,因此是非负数。对于任意一个矩阵,如果存在逆矩阵,则有。应用到反函数的Jacobian矩阵,可以得到。
Change of Variable Theorem描述了当函数变换时,两个函数满足的关系。以二维情形为例,两个区域的概率应该相等,即。
Coupling Layer是根据Change of Variable Theoreom得到的。在Flow-based model中,网络和可以任意复杂,不影响的可逆性。这种网络结构解决了训练时计算和计算的问题。
Google提出的Glow将Flow-based model做到了与GAN相媲美,主要的创新点包括Coupling Layer和1×1 convolution。对于RGB图像,设置卷积核大小为,为了尽量使是可逆的,作者使用了一个可逆的矩阵进行初始化。