2017CS231n笔记_S13生成模型

目录

S13.1Supervised vs Unsupervised Learning

S13.2生成模型Generative Model

S13.2.1Fully visible belief network

S13.2.3变分编码器(Variational Autoencoders ,VAE) 

S13.2.4对抗生成网络(Generative Adversarial Networks ,GAN)


S13.1Supervised vs Unsupervised Learning

机器学习中,依据数据x是否有标签y,将任务分为有监督学习(有y)和无监督学习(没有y),下图是两种方法简要比较。

 


S13.2生成模型Generative Model

生成模型是无监督学习范畴下的一类模型。给定训练集X,该模型学习X的分布,最终从相同的数据分布中生成新的数据,如下图所示。 有训练数据,是由某种分布p-data中生成的。然后从中学到一个模型p-model,来以相同的分布生成样本。也就是说,学习到的p-model和p-data尽可能的相似。

X的数据分布/密度估计是无监督学习的核心问题。生成式模型可以解决密度估计问题。依据是否显式学习X的密度,将生成模型其分为显式密度方法和隐式密度方法,如下图所示。本节主要对PixelRNN/CNN,变分自编码(Variational Autiocoder,VA),GAN三个常见的模型进行简要介绍。

生成模型有以下好处:

  • 用于艺术品、超分辨率、着色等的逼真样品;
  • 时序数据的生成模型可用仿真和规划(强化学习应用);
  • 训练生成模型也可以推理潜在的数据表示,可以作为有用的一般特征。

S13.2.1Fully visible belief network

Fully visible belief network:模型对一个密度分布p(x)显式建模。利用链式法则将一张图像x的似然函数p(x)分解为一维分布的乘积。x的似然函数如下所示。其中n为图片x像素的个数,x_{i}为第i个像素的值。

p_{\theta }(x)=\prod_{i=1}^{n}p_{\theta }(x_{i}|x_{1},...,x_{i-1})

模型的训练目标是最大化训练数据X的似然函数。注意,模型需要定义"previous pixels"的顺序。当X的分布复杂时,可以使用神经网络来进行表示,如PixelRNN/PixelCNN。这两个模型定义了可解释的密度函数,训练时优化X的似然函数。

PixelRNN:论文[van der Oord et al. 2016]。模型从左上角点开始生成图像像素。某个像素的生成依赖先前生成的像素。像素由RNN/LSTM网络生成。

PixelCNN:论文[van der Oord et al. 2016]。模型从角点开始生成图像像素。在像素附近的区域上,使用CNN网络来生成像素。模型会比PixelRNN快一点,但像素还是顺序生成,所以还是比较慢。

PixelCNN/PixelRNN优缺点

  • 优点:可以显式计算x的似然概率p(x);训练数据的显式似然函数给出了良好的评价指标;生成的样本好。
  • 缺点:像素是顺序生成,模型比较慢。

S13.2.3变分编码器(Variational Autoencoders ,VAE) 

Autoencoders(AE):AE用于从未标记的训练数据中学习低维特征表示的无监督方法。该模型由编码器和解码器组成。编码器生成输入数据的特征z。一般来说z的维度比x要小。因为想要z捕捉到数据中有意义的变化因素的特征。而且编码器和解码器的构成应该是对称的,例如编码器是卷积层,那么解码器是反卷积层。在训练时,比较x和重建后x的距离,使得重构数据像素和输入数据像素一样。训练完成后,使用编码器来得到x的特征。AE可以重建数据,并可以学习数据的低维特征表示。

VAE:论文"Auto-Encoding Variational Bayes"。VAE是通过向AE加入随机因子获得的一种模型。VAE模型用于从X中学习数据分布,生成符合X分布的新的样本。模型使用潜在向量z,z的元素要捕捉的信息是在训练数据中某种变化因子的多少。z的元素可能是某种类似于属性的东西。设置关于z的先验分布中采样。高斯分布就是一个对z中每个元素的一种先验假设。模型定义不可解释的密度函数:

p_{\theta }(x)=\int p_{\theta }(z)p_{\theta }(x|z)dz

该函数不能直接优化,所以在似然上推导并优化下界。因此模型在训练时,优化似然的变分下界。编码器网络也是一种识别或者推断网络,因为我们是在给定x的条件下形成对隐变量z的推断。而解码器网络,用来执行生成过程。

Training

训练完之后,使用解码器网络,z从设定好的先验分布中采样,来生成样本。

Generating Data

VAE优缺点:

  • 优:生成模型的原则方法;允许推理的q(z|x),可以是有用的特征表示为其他任务。
  • 缺:最大似然下界,但不如PixelRNN/PixelCNN容易评估;与最先进的GANs相比,样品更模糊,质量更差。

S13.2.4对抗生成网络(Generative Adversarial Networks ,GAN)

GAN模型:论文"Generative Adversarial Nets"。模型分为生成网络和判别网络。生成网络尽力去生成逼真的图像来欺骗判别器,判别网络尽力去判别图片是真的还是生成器生成的。模型如下所示。生成网络一般由卷积神经网络构成。

GAN的目标函数:目标函数如下。g为生成网络,d为判别网络。

GAN的训练过程:采用博弈论方法进行训练。判别器和生成器进行交替训练。先训练判别器,再训练生成器。k的选择一般是1,但有时也选择大于1。z的先验函数有高斯函数等。训练结束之后,使用生成器来生成新的图片。

GAN的优缺点

  • 优点:生成的样本最佳。
  • 缺点:训练不稳定,难以训练;不能直接进行推断查询,例如p(x),p(z|x)。

GAN的相关网络

  • GAN的相关模型:https://github.com/hindupuravinash/the-gan-zoo
  • GAN网络训练技巧:https://github.com/soumith/ganhacks

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/66958.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Apache Spark进行预测性数据分析--数据准备篇

本文是Boutros El-Gamil的使用Apache Spark进行预测性数据分析系列文章的第二篇,http://www.data-automaton.com/2019/01/04/predictive-data-analytics-with-apache-spark-part-2-data-preparation/ 第一篇详见使用Apache Spark进行预测性数据分析--简介篇关于Wind…

王者服务器维护段位掉了,王者荣耀s13赛季段位掉段规则 s13段位重置掉段继承表[图]...

王者荣耀s13赛季段位会掉多少,新赛季开始的时候会重置到什么阶段呢?或许有的玩家朋友很好奇吧,下面是友情MT为大家带来的王者荣耀s13赛季段位掉段规则,s13段位重置掉段继承表,希望能帮助到大家! 王者荣耀s1…

BRAUN A5S13B90-06速度传感器

向地球赎罪 美国加州有一个创业奇人名叫马修。 向地球赎罪少年时。他的梦想是“做爱迪生那样为世界带来光明的英雄”。 大学毕业后,他创办起圣诞灯制造厂,将美国的圣诞灯全面翻新,闪耀了整个美国,又将业务扩充到多种显示器&am…

倍福PLC标签导入威纶通触摸屏

使用到的软件TwinCAT2、威纶通EBpro V6.02.01.274 步骤1:编译PLC程序,生成后缀为".tpy"的文件。记住PLC程序路径 步骤2:打开威纶通EBpro,这里用到EBpro HMI版本是V6.02.01.274,和其他更高的版本大同小异。 …

威纶通触摸屏报错问题汇总

1、端口号被占用-在线模拟提示端口号8000被占 一旦出现这样提示以后,不管是离线模拟还是在线模拟都无法顺利往下执行,那么,怎么来解决这个问题呢?解决这个问题,通常分以下三类情况: 情况一 常规的解决方法…

威纶通触摸屏模板,直接打开就可以用 威纶通触摸屏,全部图库

威纶通触摸屏模板,直接打开就可以用,可根据自己要求修改, 威纶通触摸屏,全部图库。 ID:1219657830585655工控自动化技师

【告别传统】人工智能时代下,学习网安的成本有多低?

自我介绍⛵ 📣我是秋说,研究人工智能、大数据等前沿技术,传递Java、Python等语言知识。 🙉主页链接:秋说的博客 📆 学习专栏推荐: 人工智能:创新无限🤖 MySQL进阶之路&am…

理解unsafe-assume-no-moving-gc包

1. 背景 在之前的《Go与神经网络:张量计算》[1]一文中,不知道大家是否发现了,所有例子代码执行时,前面都加了一个环境变量ASSUME_NO_MOVING_GC_UNSAFE_RISK_IT_WITH,就像下面这样: $ASSUME_NO_MOVING_GC_UN…

探秘火山之巅:我在字节跳动的三年奇妙旅程

❤️点击上方,选择星标或置顶,每天给你送上干货❤️ 作者 | godweiyang 出品 | 公众号:算法码上来(ID:GodNLP) - BEGIN - 本文由ChatGPT润色,朱自清文笔 似乎已有半载的光阴,我未曾触…

OpenAI再获100亿美元?DoNotPay力砸100万仅为AI律师辩护复述;新冠四种亚型被机器学习算法进行归纳...

来源:AI科技大本营 本周AI界又有哪些新鲜事? 基础核心 超聚变服务器操作系统新版FusionOS 23发布 1月12日,“超聚变2023新品发布会”在北京举行。公司算力服务领域总裁郝峰会议上做了《桥接南北,融合生长,加速算力释放…

iPhone出黄色了/ 马斯克嘲笑推特前员工/ 日本火箭空中自毁…今日更多新鲜事在此...

日报君 发自 凹非寺量子位 | 公众号 QbitAI 大家好,今天是3月8日,国际妇女节。 祝女性读者们节日快乐。 今日科技圈还有哪些新鲜事儿,下滑走起~ 特斯拉下一代小型汽车价成本仅为Model 3一半 马斯克最新透露称,特斯拉正…

知网搜索论文:如何在知网上查找期刊论文

目录 一、先进入学术期刊库,然后再进行高级搜索 二、直接进行高级搜索 一、先进入学术期刊库,然后再进行高级搜索 1)进入中国知网官方主页之后,点击搜索框下方的选项功能键【学术期刊】。 2)之后页面就会跳转到期刊…

可以从知网领钱了,你知道吗?

说到知网,大家一定都不陌生。 中国知网给大家发钱了,是怎么回事儿呢? 原来是知网为了响应国家关于知识产权保护的相关政策推出了这个活动和政策。 这次活动不仅惠及今年的应届毕业生,还惠及往届毕业生,历年的研究生…

知网查重提交论文显示服务器错误,知网查重怎么会提交失败

在毕业之即,毕业生在完成论文初稿后,便要对论文进行查重。高校认证的一般都是知网查重,但在知网查重中会有许多问题出现,比如在上交论文的时候却提交失败。这是为什么呢?今天就让我们一起来聊聊知网查重怎么会提交失败…

知网获取论文参考文献

知网获取论文参考文献 进入知网搜索相应材料普通检索高级检索 选择相应的文献点击右上角左边双引号“凑”参考文献 进入知网 中国知网官方网址:https://www.cnki.net/ 搜索相应材料 搜素一般可分为普通检索和高级检索。 一般而言,普通检索即可完成我…

知网导入EndNote

首先进入知网,搜索你想要找的期刊论文。 选择EndNote 点击导出 浏览器自动下载以txt为后缀的文件 导入到EndNote中

毕业论文中计算机代码重复吗,知网查重程序代码算重复吗?

知网查重程序代码也是有源代码对比库的,因此程序代码也会被系统检测出来的。对于程序代码查重率过高的情况,我们需要通过别的方式来降低查重率,比如说通过截图。但为了保证论文字数与质量,建议大家多换个思路写代码。那么&#xf…

计算机毕业论文截图,知网查重代码截图能过吗?

知网查重代码截图在之前可能还适用,但是最新的检测系统中已经变得不可行了,最新版本中新增了源代码库,以及OCR图片识别功能,由此可见代码截图也是有可能被查到。换句话说,代码截图也不是百分百就能过的!那么…

计算机论文查重修改吗,程序符号换了知网查重能过吗

程序符号换了知网查重未必能过的,对于程序代码来说知网也是检测的。对于最新版本的检测系统来说,它对比的数据库中还新增了源代码数据库。所以说,程序代码一样容易出现非常高的重复率,与其它论文一样也是需要降重修改的。那么&…

【ChatGPT】这是一篇ChatGPT写的关于Python的文章

文章目录 Python基础语法教学1、变量2、数据类型3、运算符4、条件语句5、循环语句 更高级的概念1、函数2、模块3、面向对象编程 ChatGPT的记录 Python基础语法教学 Python是一种高级编程语言,它被广泛应用于计算机科学领域、数据分析和人工智能等各种领域。在学习P…