【CS231n】十三、生成模型(Generative Models)

一、概览
【CS231n】十三、生成模型(Generative <wbr>Models)

二、生成模型
定义:无监督学习的一个核心问题,给定具有特定密度分布的数据,想要生成同样密度分布的数据。

分类:
【CS231n】十三、生成模型(Generative <wbr>Models)

三、PixelRNN 和 PixelCNN
(1)首先定义一个likelihood函数,
【CS231n】十三、生成模型(Generative <wbr>Models)

(2)PixelRNN的方法:
从角落的一个像素开始向周围的像素推理,每一个像素的likelihood由周围的决定。
问题在于是串行生成,速度很慢。
【CS231n】十三、生成模型(Generative <wbr>Models)

(3)PixelCNN的方法:
通过已生成的区域像素,通过卷积的方式产生新的像素。
【CS231n】十三、生成模型(Generative <wbr>Models)


4、Variational autoencoders(变分自动编码机)
(1)定义一个新的密度函数(with latent z):
【CS231n】十三、生成模型(Generative <wbr>Models)


(2)autoencoder模型:
思想是将输入数据x编码(encode)变换称为一个中间特征量z,z包含了x中重要的信息,然后再通过解码(decode)复原出x。
编码解码都用相同结构的CNN网络。最后重构的x',使用L2损失函数来训练。
【CS231n】十三、生成模型(Generative <wbr>Models)
把decoder换成classifier即可以用来训练监督模型。


(3)使用autoencoder来构建Variational autoencoders。
z是隐含的能表征x的特征向量。
【CS231n】十三、生成模型(Generative <wbr>Models)

这个模型的问题在于这是个棘手的loss fanction,解决方法如下:
【CS231n】十三、生成模型(Generative <wbr>Models)

这样,这两种encoder network和decoder network如下:
【CS231n】十三、生成模型(Generative <wbr>Models)
采样得到数据
【CS231n】十三、生成模型(Generative <wbr>Models)

计算likelihood的log:
【CS231n】十三、生成模型(Generative <wbr>Models)

前两项可以计算的项,决定了它的lower bound:
【CS231n】十三、生成模型(Generative <wbr>Models)

训练过程即针对这个lower bound进行训练:
【CS231n】十三、生成模型(Generative <wbr>Models)

整体过程如下:
【CS231n】十三、生成模型(Generative <wbr>Models)

总结一下特点:
【CS231n】十三、生成模型(Generative <wbr>Models)



五、GAN 生成对抗网络
思想:抛弃具体的密度分布模型,只要样本的特征。通过博弈来训练一个分布函数得到符合的很好的样本特征。

需要解决的问题:想要从复杂的高维训练分布中采样。
方法:可以从简单的分布(比如高斯噪声)中采样,然后学习变换到训练样本的分布。那我们如何表示这样的复杂变换,当然是通过神经网络(斜眼笑)。

大致的模型如下:
【CS231n】十三、生成模型(Generative <wbr>Models)

训练GAN的过程,可以视为两者博弈的过程。一个是生成网络(generator network),另一个是鉴别器网络(discriminator network)。
生成网络用于生成足以欺骗鉴别器的生成图片。鉴别网络要区分真假图片。

训练的指标:train jointly in minimax game。
【CS231n】十三、生成模型(Generative <wbr>Models)

训练方法,反向传播:
【CS231n】十三、生成模型(Generative <wbr>Models)

训练中的问题:在generator很弱的时候,下降很慢。
所以采用另一种表达式,使用梯度上升来训练。
【CS231n】十三、生成模型(Generative <wbr>Models)

其他的建议:
【CS231n】十三、生成模型(Generative <wbr>Models)

所以整体的算法流程如下:
【CS231n】十三、生成模型(Generative <wbr>Models)

生成器所用的卷积网络:
【CS231n】十三、生成模型(Generative <wbr>Models)

猜你喜欢

转载自blog.csdn.net/Mys_GoldenRetriever/article/details/82113080