微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CS231n 2022PPT笔记- 生成模型Generative Modeling

概念

 

密度估计

估计数据的内在分布情况,如下面两张图分别是一维和二维情况。

 什么是生成模型

给定训练数据,训练一个模型,从相同的数据分布中生成新的样本。即下图所示,假设训练集满足分布 pdata(x),训练一个模型pmodel(x),它学习到的分布近似于pdata(x) ,然后用pmodel(x) 生成新样本

生成模型可以解决密度估计问题,有两种方式:

显式密度模型会显式地给出一个和输入数据的分布pmodel(x)

隐式密度模型训练一个模型,从输入数据中采样,并直接输出样本,而不用显式地给出分布的表达式。

生成模型分类

 PixelRNN和PixelCNN

PixelRNN和PixelCNN要做的是对图像像素概率分布进行建模。模型分解为像素值条件概率的乘积,其中每一项为给定前i-1个像素点后第i个像素点的条件概率分布,通过最大化该似然函数(认为输入的图片必然出现的概率应该是最大)来训练模型。显然,首先需要对像素进行排序

 PixelRNN

可以使用LSTM。从左上角开始一个个地生成像素。一个明显的缺点是按照顺序逐元素地计算并训练网络是十分慢的,同时在测试阶段,也是按照逐元素地生成像素,所以也会很慢

PixelCNN

使用CNN来建模像素的依赖关系。如下图,灰色区域表示此时已经处理过的像素,当前正在处理黑色位置的像素。取待生成像素点周围的像素(下图黑色框),把它们传递给CNN用来生成一个像素值,在每一个像素点上输出结果是像素的softmax损失值,从而最大化输入图像的似然估计。训练的时候输入图片每个像素点的值都是ground truth,。确定了第一个像素,所有后面像素就基于它生成

相比于pixelRNN,pixelCNN在训练时可以并行的求出公式中的每一项(因为上下文区域值从训练图像中已知),然后进行参数更新。然而,测试的时候仍然要逐一生成像素点,慢。

 

 生成的图像:分别用CIFAR-10和ImageNet作为训练集生成

 

 比较

 Variational Autoencoders (VAE)

VAE方法中定义了隐变量z,通过附加的隐变量z对密度函数进行建模,对所有可能的z值取期望。该函数不易处理,优化的时候实际上是优化似然函数的下界(?)

 自编码器

自编码器是为了从没有标注的数据中无监督地学习出样本的特征表示。

自编码器由编码器和解码器组成,编码、解码是对输入x的重构。

编码器将样本 x 映射到特征 z ,z的维度比x更低,因为z保留的是训练数据x中最重要的特征。

解码器使用特征 z 重构样本,输出跟 x 有相同维度的结果。解码器所用的网络一般和编码器一样。使用L2损失函数(输入的样本 x 与重构样本x^之间的 L2 损失),也就是尽量让重构后图像的像素值和输入图像一样 。

 

训练完之后丢掉解码器,使用训练好的编码器提取出输入的特征映射,然后使用这些特征初始化并训练一个监督模型(比如分类器)。

自编码器具有重构数据、学习数据特征、初始化一个监督模型的能力。使用无标签数据训练自编码器提取特征,作为监督学习的输入是非常有效的(有些场景下监督学习可能只有很少的带标签的训练数据,少量的数据很难训练模型,可能会出现过拟合等其他一些问题)。

VAE

VAE思想

神经网络只学会了对输入图片提取特征,并将这些特征恢复回图片,即只学会了对特定编码的解码。在码空间z里取其他值,神经网络连学都没学过,不可能正确地进行解码。所以就需要变分自编码器VAE。

VAE不是直接输出隐变量 z 而是输出图像的概率分布(假定为高斯分布)。求得z的概率分布,经过解码网络后映射得到x的近似真实分布,再在此分布上采样来生成样本。

如何训练VAE

如何从中学习出解码网络的参数,使得在标准高斯分布上采样得到的z,经过解码后得到的x的分布,刚好近似于x的真实分布?

方案是最大化样本x的似然P(x)

可以在码空间中任意取值,解码器就会自动生成图片,如下图所示 

生成对抗网络GAN

参考 cs231n---生成模型 - coldyan - 博客园

https://blog.csdn.net/qq_41533576/article/details/119717790

CS231n:11 生成模型 - 腾讯云开发者社区-腾讯云
只知道GAN你就OUT了——VAE背后的哲学思想及数学原理 - 开发者知识库

原文地址:https://www.jb51.cc/wenti/3281790.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐