生成网络-学习笔记 鲁鹏-北邮-2020/6/2

无监督学习

有监督学习vs无监督学习

有监督学习
数据:(x,y),x:样本,y:标签
目标:学习xy的映射
应用:分类,回归,目标检测,语义分割

无监督学习
数据:x,,x:数据
目标:找出隐含在数据里的模式或者结构
应用:聚类(K-means),降维(主成分分析),特征学习(自编码),密度估计
相比有监督的优势:数据获取成本低

生成模型

  • 定义:给定训练集,产生与训练集同分布的新样本
    在这里插入图片描述

希望学到一个模型P model(x),其与训练样本的分布P data(x)接近
(由于维数过高,没有能力去得出P data的分布,只能用P modal去逼近)
只要能训练出P modal,再从P modal中采样,就能得到想要的图像

在这里插入图片描述

  • 生成模型的应用
    在这里插入图片描述

  • 生成模型分类
    在这里插入图片描述

PixelRNN and PixelCNN

  • PixelRNN
    概念:显式的密度模型(显式:能求解分布函数)
    原理:利用链式准则将图像x的生成概率转变为每个像素生成概率的乘积
    在这里插入图片描述
    最大化训练数据的似然
    注意
  1. 需要定义像素产生的顺序,生成速度慢
    在这里插入图片描述

  2. 分布复杂(但可以使用神经网络建模)

  • PixelCNN
    概念:基于已生成的像素,使用CNN来生成新的像素
    在这里插入图片描述
    每次计算只取其中一块区域,速度比RNN快(计算量小了),但生产过程依然是逐个像素生成,依旧慢

使用上述两个模型在CIFAR-10和ImageNet数据集上训练后生成的图像结果
在这里插入图片描述

总结(PixelRNN & PixelCNN)
优点:似然函数可以精确计算;利用似然函数可以有效评估模型
缺点:像素按序列产生,速度慢

Variational Autoencoders(VAE)

概念:显式模型(概率密度函数显式定义,但无法求出,只能近似求解)

  • 自编码器
    概念:无监督的特征学习,目标是利用无标签数据找到一个有效的低维特征提取器
    在这里插入图片描述
    Z的维度一般小于x(特征降维)

Q:特征降维的作用。
A:希望降维后的特征仅保留数据中有意义的信息。
Q:怎么得到编码器?
A:构造自编码器,训练该模型(x与x head越接近越好),最后得到编码器。
在这里插入图片描述

  • 解码器与编码器的训练方法

Q:如何学习?
A:
1. 计算重构误差:L2(损失越小越好,无需标签),训练完成后移出解码器
2. 训练完后的编码器作为有监督学习的初始特征提取模型(利用少量有标签的数据,训练最终的网络)。
在这里插入图片描述
注意:VAE模型并不完全套用这种学习方式(分类和生成图像的侧重点不同)

训练好的解码器用处:以一个2维解码器为例,输入编码,生成图像
在这里插入图片描述
在这里插入图片描述
例如有上图一样的码空间,将一个点输入解码器,就能生成概率最高的数字图像

  • 为什么使用VAE

Q:既然解码器能生成图像,为什么还需要VAE?
在这里插入图片描述
A:解码器只能生成已有的图片,如输入满月与半月的图像,希望生成中间状态的月亮,只是用解码器是无法实现的

  • 自编码器与VAE工作示意图
    在这里插入图片描述

VAE的编码器与自编码器不同,自编码器是直接得到输出z(编码),而VAE的编码器输出是一个概率分布,其中m为分布均值,σ为分布方差
e是噪声,e与exp(σ)做乘积,得到的值作为偏移量与m相加后最为最后输出(带有噪声的)编码
其中,噪声的方差σ是从数据中学到的,取exp是为了保证是一个正数
在取σ时,除了要考虑重构损失最小,还要让σ尽量趋近于0,即最小化黄色框内的式子
在这里插入图片描述

怎么理解这个式子?按照对应下划线颜色画出曲线,绿色曲线为蓝色与红色的差值
在这里插入图片描述

mi:L2的正则化,目的是防止码值聚集

  • VAE模型的推导

在进行VAE模型的推导前,先介绍:高斯混合模型
在这里插入图片描述
采样过程:
1. 从m选择一个具体的整数
2. 根据选出的m值,得到对应的高斯函数(得到其μ与σ),进行采样
但只是混合高斯模型,只能解决有限个的对应关系(即m个),所以我们将P(m)替换为一个分布函数,用函数来对应,就能产生无数组的对应关系

VAE的推导
在这里插入图片描述

我们的目标是输入z,通过一个神经网络,输出对应的高斯分布的μ与σ
其中,z的分布是标准正态分布(也可以是其他分布,但要简单)
神经网络的任务就是去学习找一个最合适的从z到P(x)的对应关系
由于输入从离散变为连续,则计算P(x)的公式从求和变为积分
在这里插入图片描述

现在问题变为怎么求出P(x)
在这里插入图片描述

最大化似然估计L
无法求解P(x),用P(x|z)去逼近,P(x|z)可以是任何分布
红色划线部分求不出来,但能知道求解式子一定≥某个可以计算的式子(最后一行)
将其称为下界Lb,令其最小
q(z|x)是神经网络的学习内容
在这里插入图片描述
最后得到式子的两个部分分别称为:KL散度,重建损失
就对应到两个损失函数

在这里插入图片描述

  • 用VAE生成的图像
    在这里插入图片描述

总结
优点:生成模型里的一种主要方法;可以计算q(z|x),这个特征表示可以用在其他许多地方
缺点:最大化似然函数的下边界能够有效地工作,但模型本身没有PixelRNN/CNN那样好评估;与GAN相比,产生的图像比较模糊,质量低

Generative Adversarial Network(GAN)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值