此文章主要是结合哔站shuhuai008大佬的白板推导视频:流模型_27min
全部笔记的汇总贴:机器学习-白板推导系列笔记
一、简介
流模型是一种比较独特的生成模型,它选择直接直面生成模型的概率计算,也就是把分布转换的积分式( P G ( x ) = ∫ z P ( x ∣ z ) P ( z ) d z P_G(x)=\int_z P(x|z)P(z){d}z PG(x)=∫zP(x∣z)P(z)dz)给硬算出来。相比较其他的生成模型采用优化上界或采用对抗训练的方式去避开概率计算,从而寻找近似逼近真实分布的方法,流模型选择的是通过变换Jacobian行列式来求解。
流模型有一个非常与众不同的特点是,它的转换通常是可逆的。也就是说,流模型不仅能找到从A分布变化到B分布的网络通路,并且该通路也能让B变化到A,简言之流模型找到的是一条A、B分布间的双工通路。当然,这样的可逆性是具有代价的——A、B的数据维度必须是一致的。
二、Normalizing Flow
Assuming:
x = f ( z ) , z , x ∈ R p z ∼ P z ( z ) , x ∼ P x ( x ) x=f(z),\;\;\;\;z,x\in \R^p\\z\sim P_z(z),x\sim P_x(x) x=f(z),z,x∈Rpz∼Pz(z),x∼Px(x)
f is continuous invertible
因为, ∫ z P z ( z ) d z = 1 = ∫ x P x ( x ) d x \int_z P_z(z){d}z=1=\int_x P_x(x){d}x ∫zPz(z)dz=1=∫xPx(x)dx
所以,