Flow-based model

文章1:  NICE: NON-LINEAR INDEPENDENT COMPONENTS ESTIMATION

文章2:Real-valued Non-Volume Preserving (RealNVP

文章3:Glow: Generative Flow with Invertible 1x1 Convolutions

NICE

学习目标:找一个变换h=f(x),使得变换后的分布的每个分量是独立

 我们假设hx的维度是一样的,f可逆的,则我们有

 并且,我们希望fJacobian矩阵和f−1比较容易计算。如果这是可以操作的,那么我们可以直接采样pX(x),

 这个f的设计的主要核心思想是,将x分裂成两部分(x1,x2),然后变换成(y1,y2),

m可以是任意的函数(i.e., a ReLU MLP). 注意到,Jacobian矩阵的行列式是单位阵,并且非常容易算逆函数,

当然我们可以定义更一般性的架构,,加性交错coupling的架构。并且可以有一层一层的变换,有种flow的感觉。

 

 

 我们可以定义最大似然函数:

pH(h):先验分布,可以事先定义好的,比如各向同性的高斯分布.如果h的每个分量都是独立的,我们可以写成,

 

RealNVP 

分裂的办法:

st 是 scale 和 translation, 函数,Rd ——>RD−d

对应的Jacobia矩阵,

PS: 由于我们算逆函数和Jacobia矩阵的过程中,都没有涉及到s和t的逆函数,所以s和t是可以任意复杂的,i.e.,神经网络。

 

Glow

还有很多模型,待续。。。

猜你喜欢

转载自www.cnblogs.com/skykill/p/11986839.html