【导读】我们在上一节的内容中已经为大家介绍了台大李宏毅老师的机器学习课程的深度生成模型:deep generative model part 1,这一节将主要针对讨论deep generative model(part 2)。本文继续讨论机器学习中deep generative model的若干主要问题:VAE详解以及GAN。话不多说,让我们一起学习这些内容吧。
春节充电系列:李宏毅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详解
上一次笔记我们讲到了VAE,VAE结构如下
为什么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)依然可以很复杂
我们最终就是目的是最大化P(X)。这里我们需要引入另一个分布就是q(z|x)
引入q(z|x)后可以得到以下的推导
这时候logP(x)的值是Lb和KL(q(z|x)||P(z|x))求和得到。我们调整q(z|x)使得Lb最大。最终q(z|x)的分布会和p(z|x)相同。最终得到的结果是Lb越大,logP(x)越大
我们要使得Lb越大越好,Lb也可以拆成两部分
最大化Lb,也就是最小化KL(q(z|x)||P(z))。我们能做的就是调q对应的NN’,使得产生的distribution和normal 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,另一个是discriminator。Generator的目的是产生图像进而迷惑discriminator,而discriminator的作用是尽力分辨出真实图像和generator生成的图像。
对于discrimination来说这是一个简单的二分类问题
而对于generator来说就是简单的利用梯度下降方法来调参数。
GAN最终一般会得到很好的结果
想了解更多的GAN参考以下资料
请关注专知公众号(扫一扫最下面专知二维码,或者点击上方蓝色专知),
后台回复“LHY2017” 就可以获取 2017年李宏毅中文机器学习课程下载链接~
-END-
专 · 知
人工智能领域主题知识资料查看获取:【专知荟萃】人工智能领域26个主题知识资料全集(入门/进阶/论文/综述/视频/专家等)
同时欢迎各位用户进行专知投稿,详情请点击:
【诚邀】专知诚挚邀请各位专业者加入AI创作者计划!了解使用专知!
请PC登录www.zhuanzhi.ai或者点击阅读原文,注册登录专知,获取更多AI知识资料!
请扫一扫如下二维码关注我们的公众号,获取人工智能的专业知识!
请加专知小助手微信(Rancho_Fang),加入专知主题人工智能群交流!
点击“阅读原文”,使用专知!