CS231n学习笔记(十三):生成式模型(无监督学习)
有无监督学习对比
-
有监督学习
-
无监督学习
-
对比
生成式模型(Generative Models)
- PixelRNN/CNN(显式密度估计)
- 变分自编码器(Variational Autoencoder)(显式密度估计)
- GAN(隐式密度估计)
PixelRNN/CNN(利用神经网络显式的计算最大似然函数)
-
PixelRNN
-
PixelCNN
-
pixelCNN训练要比pixelRNN快,因为在每一个像素位置,我们想要最大化我们已有的训练数据的似然。
-
测试过程,也就是根据一个像素生成一整张图片的过程都是非常慢的,因为要一个一个像素的生成,最终形成一幅完整图像
-
生成哪一种图片,就取决于第一个像素点的大小选取(图像其他所有像素的生成都将取决于它),以及训练数据图像。
-
缺点就是由于生成过程是序列化的,所以很慢
变分自编码器(VAE)
- 自编码器:是一种利用无标签数据来学习低维特征表示的无监督方法,如下图,没用用到外部标签
-
利用自编码器学习到的特征可以初始化为一个监督学习分类网络,从而能够利用少量的数据就能够训练好一个分类器
-
变分自编码器(VAE)
-
**z为特征表示向量(也即隐变量:latent representation)
GAN(博弈论想法)
-
为了让生成器损失函数在一开始梯度大(从而让开始优化更快),将优化函数修改为最大化max,从而转换为梯度上升求最大,改变梯度趋势,让其实优化更快,但是总的目的不变,都是让生成器最大化判别器判别的分数
-
GAN训练算法
-
利用GAN中的z初始采样特征,做一些有趣的事情