李宏毅——Flow-based Generative Model

李宏毅——Flow-based Generative Model

  • 导语
    • 已经介绍的生成模型
  • 数学背景
    • jacobian Matrix
    • Determinant
    • change of Variable Theorem
  • flow-based generative model

导语

已经介绍的生成模型

李宏毅——Flow-based Generative Model_第1张图片
之前的生成模型的问题
component-by-component问题:什么是最好的顺序;生成的慢
VAE问题:优化的是lower bound,不是最终的目的
GAN问题:训练不稳定

李宏毅——Flow-based Generative Model_第2张图片
generator的问题
G是一个网络,定义了一个概率分布
比如:z是来自于Normal Distribution,但是得到了p是个其他的分布
我们希望这个Pg和真实数据的分布越接近越好
可以用最大似然函数的方式让它接近。

Pg通常比较复杂,可以用flow-based model来直接优化目标。
在这里插入图片描述

数学背景

jacobian Matrix

右下角表示两者的关系。
李宏毅——Flow-based Generative Model_第3张图片

Determinant

李宏毅——Flow-based Generative Model_第4张图片
determinant的含义:高维空间中的体积
李宏毅——Flow-based Generative Model_第5张图片

change of Variable Theorem

z的分布是上图,z的分布是下图
探究他们之间的关系,就是研究generator
李宏毅——Flow-based Generative Model_第6张图片
例子:z的分布是这样的
x=2z+1,那么px的分布是下面这样的。
p(x)=1/2*pie(z)
李宏毅——Flow-based Generative Model_第7张图片
在更复杂的情况下:
在deltaz的情况下,因为非常小,可以视为uniform的分布。
蓝色方块和绿色方块有相同的面积。
要加绝对值,因为dz/dx可能为正也可能为负
李宏毅——Flow-based Generative Model_第8张图片
在二维的情况下
李宏毅——Flow-based Generative Model_第9张图片

flow-based generative model

假设做image的生成,输入的z也应该是1001003的,但是不能保证G可逆,G的能力是有限的。

一个G不够,可以加更多吗?

如何训练呢?
训练时,训练G-1,实际生成时使用G。
pie是Normal分布,所以使得zi最小,值最大。但是如果z总是0的话,JG-1就总是0,后面的项就会非常大
李宏毅——Flow-based Generative Model_第10张图片
使用coupling layer,被用在两个知名的flow-base模型NICE和NVP中
把z拆成两组,前d维和后面的部分,x的前d维等于z的前d维直接复制过去。
用一个functionF把前d维变化成后面的维数,另一个function也变成后面的维数
李宏毅——Flow-based Generative Model_第11张图片
求inverse也比较简单,看红线就知道
李宏毅——Flow-based Generative Model_第12张图片
求jacobian的determinant可以看图,非常巧妙。
左上角的是I,右上角,因为浅绿色和浅蓝色的没有关系,所以是0,左下角的没意义,因为求determinant时右上角是O,可以视为左上角和右下角的乘积。右下角的是对角线的。
因为只有对角线的有关系,其他的没有关系。
李宏毅——Flow-based Generative Model_第13张图片
把coupling layer叠起来,编程一个完整的网络
但是有个问题,如果前半段如果都是直接复制的话,等于最终什么都没有做。
所以要做一些手脚,比如下面的做法。
李宏毅——Flow-based Generative Model_第14张图片
如果做的是图像的生成的话,拆法有两种,一是根据横轴和纵轴来分,二是根据层来拆。
李宏毅——Flow-based Generative Model_第15张图片
或者用convolution的方法,比如GLOW。
w可以shuffle不同的channel。w可以视为一个G。
李宏毅——Flow-based Generative Model_第16张图片
李宏毅——Flow-based Generative Model_第17张图片
得到的jacobian是下面的
李宏毅——Flow-based Generative Model_第18张图片
demo
李宏毅——Flow-based Generative Model_第19张图片

李宏毅——Flow-based Generative Model_第20张图片
glow的更多做法
语音合成
李宏毅——Flow-based Generative Model_第21张图片

你可能感兴趣的:(李宏毅)