前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >春节充电系列:李宏毅2017机器学习课程学习笔记18之深度生成模型:deep generative model part 2

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

作者头像
WZEARW
发布2018-04-13 14:06:54
1.1K0
发布2018-04-13 14:06:54
举报
文章被收录于专栏:专知专知

【导读】我们在上一节的内容中已经为大家介绍了台大李宏毅老师的机器学习课程的深度生成模型: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详解



上一次笔记我们讲到了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-

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-03-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 专知 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档