资源行业动态Generative Model--变分推断

Generative Model--变分推断

2019-11-22 | |  117 |   0

原标题:Generative Model--变分推断 

来源:AI 研习社  [发表于专栏: Anticoder]          链接:https://www.yanxishe.com/columnDetail/15178


Unspervised learning主要任务目标是发掘数据潜在有价值的结构,主要分为clustering,dimentionality reduction,feature learning, density estimation

Generative Model主要任务是给定一个数据集P(data),通过模型P(model)学习样本的分布,可以通过模型生成近似原样本分布的数据。主要属于density estimation范畴。

作用主要:

● 根据需求近似生成真实数据,想象空间非常大,这是一个富裕想象力与创造性的,比如生成马赛克,美颜,生成画作等,当然能生成的也是可以去掉的。

● 生成时间序列数据,可以用于强化学习

● 也可以用于feature learning等

image.png

Generative Model


按方法分类generative model,主要分为explicity and implicity density,这次主要介绍explicity的方法。

从定义上来说,explicity density就是我直接通过定义P(model),然后通过来最大化data likelihood求解P(model)。implicity density就是不直接定义P(model),但是模型可以sample出data。

然后根据定义的density确定的likelihood是否能直接给出求解方法,如果可以那就直接解呗,说明你定义了一个tractable density。

比如Fully visible belief nets的PixelRNN & CNN,按照每个像素定义每一张图的likelihood,用链式法则分解likelihood为给定先前的pixels当前pixel的条件概率乘积

image.png

Full visible belief network


看图中条件概率是很复杂,自然就可以想到用神经网络去做transformation,神经网络是很好的复杂函数的拟合器。重点是如果做这个conditional prob呢?


● generate image pixels starting from corner

● dependency on previous pixels modeled using an RNN(LSTM)

RNN很轻松就可以做成依赖关系,毕竟sequential model.

PixelRNN效果很好,但是缺点是比较慢,毕竟pixel by pixel sequential generation。

那么就出现了PixelCNN,和PixelRNN很像,只是用了CNN来做dependency on previous pixels,根据已经产生的局部块图(content region)来生成pixel。


PixelCNN


PixelCNN训练过程较快,但是生成图片一样的是sequential generation比较慢。

不得不说大神不论在算法还是应用都是很厉害的!这里只简单介绍,其实这个有很多精彩的地方!毕竟这里主要介绍VAE。


VAE


这里我决定给像我这样的小白讲讲variational autoencoder

先讲一下variational inference,为什么会有这个东西,预备知识如下


● information theory

   information,entropy,differential entropy

● KL Divergence

   KL Divergence和lnp(x)关系

● Graphical Model

● Variational Inf


1、information(I)是来衡量一个随机事件的信息量I = -logP(x),定义上直观理解,一个事件x发生的概率越大,其信息量越小,比如你本来就知道太阳明天会升起,那么我告诉你这个事件,其实并没有带来任何信息


2、entropy/avg information

根据概率平均information,代表随机变量的平均信息量H = sum(P(x)*-logP(x))


3、differential entropy

entropy适用于离散变量,连续变量的entropy叫differential entropy,求和换为积分就ok了


4、KL Divergence/ Relative Entropy

它是通过entropy来衡量2个分布的距离,KL(p||q)代表根据p概率来衡量q和p的entropy差距,很自然就写出entropy(q) - entropy(p) = sum(-q(x)log(q(x)) - sum(-p(x)log(p(x)),刚提到是按照p的概率,所以写成 KL(p||q) = sum(-p(x)log(q(x)) - sum(-p(x)log(p(x)),按p的概率求和就ok了,整理写成KL(p||q) = sum(p(x)log[p(x)/q(x)])

KL Divergence两个性质:1.大于等于零 2. 不是对称的,不具备距离度量公理,但是其实更合理一点,在生活中!


5、KL Divergence 和 lnP(x)


举个例子,假设现在有个分布P(x|z),我们不知道这个,所以想用一个分布q(z)来估计它,我们当然也不知q(z)是什么,先来估计吧。那很自然就可以想到用KL Divergence来衡量估计得好坏,KL Divergence刚提到是用来衡量两个分布差异的,越小说明分布差异越小(不得不写公式了)

image.png


这里得到了lower bound L,那为什么要用lower bound求解呢,那肯定是lower bound好求么。。一般情况下直接求KL是解不出来的,因为有个条件概率,我们比较好得到联合概率,下面具体说说


Graphical Model


简答介绍一点,告诉你为什么条件概率比较难求,简单画个图吧

1574362674682923.png


箭头代表依赖关系,给你这个图可以很容易写出联合概率分布,但是条件概率分母有积分,通常情况下是求不出来。

那怎么办呢?得到联合概率是否可以得到条件概率呢,不用计算积分呢?

Problem:不积分通过联合概率来求条件概率

Yes!不行还说什么,variational inference登场了!variational inference不是唯一的方法解决这个问题,主要还有


● MCMC:Metropolis hasting、Gibbs sampling

通过采样估计,更精确,计算时间较长


● Variational Inference

deterministic solution,精度较低,计算时间少


● Laplace Approximation

deterministic,精度很低,计算很快

这里重新回顾一下问题,我们想要估计p(z|x), 需要计算p(x),因为p(z|x)=p(x,z)/p(x)

,这里p(x)需要通过计算积分,通常是计算不出来的,所以我们想通过一个分布q(z)来近似计算p(z|x)。然后我们利用KL Divergence来使得q(z)逼近p(z|x),最后我们得到了个公式KL[q(z)||p(z|x)]-KL[q(z)||p(z,x)]=logp(x),因为x是给定的,等式右边不变,我们可以改变的只有q(z),目标为让第一项变小,因为计算不了条件概率,最小化KL[q(z)||p(z|x)]等价于最大化-KL[q(z)||p(z,x)],也就是我们的lower bound,这里没有条件概率!


结论:为了找到p(z|x),variational inference通过找一个q(z)来最大化lower bound L

到此终于说清楚了为什么要用variational inference,以及他是怎么做的!但是,找到这个q(z),仍然是一个难题,variational inference的作者好像也没有很好的路子。。。。


Variational Inference

作者提出了一个可以简化lower bound的方法,这里不得不写点公式了

1574362840461202.png

1574362869774670.png

Inference2V

ariational Inference3

THE END

免责声明:本文来自互联网新闻客户端自媒体,不代表本网的观点和立场。

合作及投稿邮箱:E-mail:editor@tusaishared.com

上一篇:计算机视觉可确认行人穿越马路的意图,提高交通效率

下一篇:影响强化学习的三个博弈论创新趋势

用户评价
全部评价

热门资源

  • 国内人才报告:机...

    近日,BOSS 直聘职业科学实验室 &BOSS 直聘研究院...

  • AI使物联网更智能...

    看到微软对物联网和人工智能的结合感兴趣是一个明...

  • 推荐一批学习自然...

    这里推荐一批学习自然语言处理相关的书籍,当然,...

  • 安防智能化大势下...

    大部分传统安防设备不仅拍摄视野有限,而且无法事...

  • 20亿创业基金、10...

    近日,杭州举办了建设国家新一代人工智能创新发展...