李宏毅机器学习2016 第十五讲 无监督学习 生成模型之 VAE

视频链接:李宏毅机器学习(2016)_演讲•公开课_科技_bilibili_哔哩哔哩

课程资源:Hung-yi Lee

课程相关PPT已经打包命名好了:链接:https://pan.baidu.com/s/1c3Jyh6S 密码:77u5


我的第十四讲笔记:李宏毅机器学习2016 第十四讲 深度自编码器


Unsupervised Learning : Generation


本章主要讲解了无监督学习中的生成模型方法。


1.生成模型(Generative Models)


“What I cannot create, I do not understand.” ——Richard Feynman

生成模型的想法是希望机器能够自己主动去生成,去创造。

李宏毅机器学习2016 第十五讲 无监督学习 生成模型之 VAE


2.PixelRNN


此方法主要是用到RNN,例如要生成一张3*3的图,可以一次生成一个像素,再将其组合起来就可以得到要求的图。此方法能够被大量没有标注的图像进行训练。

李宏毅机器学习2016 第十五讲 无监督学习 生成模型之 VAE

上图先随机得到一个像素点值(橙色),将其作为输入用一个RNN网络输出了一个蓝色的像素点;接着用原来的橙色点和生成的蓝色点,两个点作为输入,用RNN网络输出另外一个浅蓝色的点;接着用这已有的三个点作为输入,再重复之前的步骤......直到得到完整的图。


3.Variational AutoEncoder(VAE)


在第十四讲,了解了自编码器的知识,最初想法是可以利用解码器,随机产生一个code作为输入向量,来产生图像,但是效果并不理想。

李宏毅机器学习2016 第十五讲 无监督学习 生成模型之 VAE

VAE的想法是通过对编码器的输出做出改变,如下图所示。

李宏毅机器学习2016 第十五讲 无监督学习 生成模型之 VAE

假设code维度是三维。编码器的输出m1、m2、m3是原始code,σ1、σ2、σ3视为添加的噪声的方差,这是自动学习的,通过指数操作保证非负,e1、e2、e3是系数。得到的新的code是带噪声的。如果在学习时,仅仅最小化重构误差会怎样呢?显然,噪声方差为0就能使得误差最小,但这和我们的想法不一致。所以在上图右下方,在学习时不仅要最小化重构误差也要最小化该公式的值。

李宏毅机器学习2016 第十五讲 无监督学习 生成模型之 VAE

VAE为什么work?一种直觉的想法是,其是加上噪声了的。比如上图中,要在一张满月图和半月图中生成一张图,加上了噪声后,能够使得在很大范围内都是月亮的圆和半圆的形状,所以能够在一定程度上保证在其中间的生成图是介于两者之间的。

其主要数学原理是高斯混合模型(Gaussian Mixture Model)。

李宏毅机器学习2016 第十五讲 无监督学习 生成模型之 VAE

VAE的问题是其实VAE并没有想过怎样去生成一张新图,而是在产生一张与数据库中的图尽可能相似的图,只是在模仿。上图中一个像素点的不同在原始的“7”图上,左边的可以理解,但是右图是不一样的,是假的,但是VAE会认为说其与原始目标是一致的。

VAE并没有生成新图,而是仅仅记住了已经存在了的图。


4.总结


本章主要讲述了两种生成模型的方法:PixelRNN以及Variational AutoEncoder(VAE)

并讲述了其原理及优缺点。