连接

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

核心引入了1x1可逆卷积操作: C个1*1的卷积核,即对每个(共W*H个)粉色棍子,用C橙色的棍子,变成红色的棍子(图中只显示了红色棍子的其中一个方块)。 为了保证卷积核A的可逆性,需要加一些约束, i.e., 将log|det A|加入到loss中.

 1*1可逆卷积

 三种不同方案的loss曲线比较

 

posted @ 2019-12-05 04:13  朱群喜_QQ囍_海疯习习  阅读(697)  评论(0编辑  收藏  举报
Map