春节充电系列:李宏毅2017机器学习课程学习笔记18之深度生成模型:deep generative model part 2

【导读】我们在上一节的内容中已经为大家介绍了台大李宏毅老师的机器学习课程的深度生成模型:deep generative model part 1,这一节将主要针对讨论deep generative model(part 2)。本文继续讨论机器学习中deep generative model的若干主要问题:VAE详解以及GAN。话不多说,让我们一起学习这些内容吧。


春节充电系列:李宏毅2017机器学习课程学习笔记01之简介

春节充电系列:李宏毅2017机器学习课程学习笔记02之Regression

春节充电系列:李宏毅2017机器学习课程学习笔记03之梯度下降

春节充电系列:李宏毅2017机器学习课程学习笔记04分类(Classification)

春节充电系列:李宏毅2017机器学习课程学习笔记05之Logistic 回归

春节充电系列:李宏毅2017机器学习课程学习笔记06之深度学习入门

春节充电系列:李宏毅2017机器学习课程学习笔记07之反向传播(Back Propagation)

春节充电系列:李宏毅2017机器学习课程学习笔记08之“Hello World” of Deep Learning

春节充电系列:李宏毅2017机器学习课程学习笔记09之Tip for training DNN

春节充电系列:李宏毅2017机器学习课程学习笔记10之卷积神经网络

春节充电系列:李宏毅2017机器学习课程学习笔记11之Why Deep Learning?

春节充电系列:李宏毅2017机器学习课程学习笔记12之半监督学习(Semi-supervised Learning)

春节充电系列:李宏毅2017机器学习课程学习笔记13之无监督学习:主成分分析(PCA)

春节充电系列:李宏毅2017机器学习课程学习笔记14之无监督学习:词嵌入表示(Word Embedding)

春节充电系列:李宏毅2017机器学习课程学习笔记15之无监督学习:Neighbor Embedding

春节充电系列:李宏毅2017机器学习课程学习笔记16之无监督学习:自编码器(autoencoder)

春节充电系列:李宏毅2017机器学习课程学习笔记17之深度生成模型:deep generative model part 1


课件网址:

http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17_2.html

http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17.html


视频网址:

https://www.bilibili.com/video/av15889450/index_1.html


李宏毅机器学习笔记18 深度生成模型:deep generative model part 2


1.VAE详解




上一次笔记我们讲到了VAEVAE结构如下


为什么VAE要设计成这样的结构呢,我们可以先有直觉的解释。下图中code有两张图,一个满月一个半月,但中间的点不一定产生半月和满月之间的图,因为函数是nonlinear


但当我们加上噪声后满月对应在code上是一个区域,中间的code既需要生成满月也需要生成半月,怎么办,只有minimize error,生成两个之间的图,也就是介于满月和半月之间的图


对于VAE中,minimize的第二项,我们可以把它分为两部分看待,左边两个式子是第一部分,最右边的式子是第二部分。第一部分当参数等于0时最低,这时候variance等于1,噪声为0。第二部分的Mi^2相等于L2regularzation,避免overfitting

以上为直观解释


实际上对于VAE,如果是想要产生pokemon的话会尽力让像pokemon的图像生成几率大一点


这里我们要引入Gaussian Mixture Model的概念Gaussian Mixture Model的核心思想是很复杂的distribution是由好多Gaussian分布和不同的weight结合起来的结果,只要Gaussian分布数目足够多,就可以产生复杂的distribution


VAE就是GMM distributed representation的版本

下图Z上的每一个点对应一个Gaussian,这个点对应什么样的Gaussian,是由某一个function(neural network)所决定的,总共有无穷多个高斯分布。纵使z是从一个正态分布上采样的,所表示的函数P(X)依然可以很复杂


我们最终就是目的是最大化PX)。这里我们需要引入另一个分布就是q(z|x)


引入q(z|x)后可以得到以下的推导


这时候logP(x)的值是LbKL(q(z|x)||P(z|x))求和得到。我们调整qz|x)使得Lb最大。最终q(z|x)的分布会和p(z|x)相同最终得到的结果是Lb越大logP(x)越大


我们要使得Lb越大越好Lb也可以拆成两部分


最大化Lb也就是最小化KL(q(z|x)||P(z))。我们能做的就是调q对应的NN’,使得产生的distributionnormal distribution(P(z))越接近越好。具体推导在VAE的原始paper。实际上,minimize黄色方框的项就是minimize KL(q(z|x)||P(z))。而maximize Lb的另外一项实际上就是auto-encoder在做的事情因为gaussion分布在mean地方概率最大所以要求anto-encoder输出和x越接近越好


想了解更多的关于VAE的知识可以参考如下资料


VAE也有缺点例如对于下图,对VAE来说,两张照片只是一个像素点的差异,因为VAE从来没有学过产生新的image,唯一做的事情只有模仿而已。


2.GAN




GAN就能解决这个问题


GAN的原理类似捕食者和被捕食者的进化关系


GAN由两部分组成,一个是generator,另一个是discriminatorGenerator的目的是产生图像进而迷惑discriminator,discriminator的作用是尽力分辨出真实图像和generator生成的图像


对于discrimination来说这是一个简单的二分类问题


而对于generator来说就是简单的利用梯度下降方法来调参数


GAN最终一般会得到很好的结果


想了解更多的GAN参考以下资料

 

请关注专知公众号(扫一扫最下面专知二维码,或者点击上方蓝色专知),

  • 后台回复“LHY2017” 就可以获取 2017年李宏毅中文机器学习课程下载链接~

-END-

专 · 知

人工智能领域主题知识资料查看获取【专知荟萃】人工智能领域26个主题知识资料全集(入门/进阶/论文/综述/视频/专家等)

同时欢迎各位用户进行专知投稿,详情请点击

诚邀】专知诚挚邀请各位专业者加入AI创作者计划了解使用专知!

请PC登录www.zhuanzhi.ai或者点击阅读原文,注册登录专知,获取更多AI知识资料

请扫一扫如下二维码关注我们的公众号,获取人工智能的专业知识!

请加专知小助手微信(Rancho_Fang),加入专知主题人工智能群交流!

点击“阅读原文”,使用专知

展开全文
Top
微信扫码咨询专知VIP会员