生成器的认识及其思考:VAE, GAN, Flow-based Invertible Model
生成器对应于认知器的逆过程。
这一切的起源都是当初一个极具启发性的思想:Sleep-wake algorithm——人睡眠时整理记忆做梦,是一个生成的过程,即通过最终的识别结果企图恢复接收到的刺激,当然,恢复得到的是梦境而已,那个梦中的视觉、听觉、触觉以及嗅觉等等全和现实有关却也无关。有关是认知层次的有关,无关是表现出的内容的无关。sleep时进行生成,wake时进行认知。这个过程交替进行就构成了sleep-wake算法。它是一个宽松模型,或者说是一个Monte Carlo采样的EM逼近训练过程。它不要求生成的内容和认知的输入严格一致,只要在总体上满足最低构建误差就行(类似于构建主义心理学所描述的学习过程)。
进入正题:
VAE的参考文献:【https://arxiv.org/pdf/1312.6114.pdf】
GAN的参考文献:【https://arxiv.org/pdf/1406.2661.pdf】
Glow参考文献:【https://arxiv.org/pdf/1807.03039.pdf】
VAE中计算源采样空间的分布和学习目标空间的分布的分布损失是通过计算KL散度来近似计算的,但由于无法确知目标分布的特性,实际上只能依靠mean和variance来计算两者之间的分布差异性的下限(ELBO,Evidence lower bound),这导致最终得到的生成模型的分布与实际分布的差异到底有多大,这种近似不是很靠谱。
GAN仅仅训练一个生成器和判别器,隐含状态的表征是未知的,无法控制。效果比VAE要好些,但很难训练。
Glow——可逆变换流则通过训练一个可逆的变换,将源空间映射到一个显式的表征:中间隐藏向量,由于这个过程是可逆的,因此,可以直接从这个中间表征逆向生成符合源空间的采样。
flow-based invertible model的训练难度在三者之间最低,得到的效果目前来说也是最好的。其弊端也许会慢慢的在被广泛应用中被挖掘出来。具体关于Glow的解释可以参见:https://www.colabug.com/3907098.html。
一图解释:

生成器的认识及其思考:VAE, GAN, Flow-based Invertible Model的更多相关文章
- Risk Adaptive Information Flow Based Access Control
Systems and methods are provided to manage risk associated with access to information within a given ...
- 关于git flow的一点思考
本文首发自我的公众号:成都有娃儿,这里把三篇文章合一,方便阅读. 现在相当多的公司或者团队都在使用git来做版本控制,结合我这些年的工作经历,我总结了一些个人认为不错的使用规范和习惯. 脱离背景来讲规 ...
- 论文解读(GAN)《Generative Adversarial Networks》
Paper Information Title:<Generative Adversarial Networks>Authors:Ian J. Goodfellow, Jean Pouge ...
- (转) How to Train a GAN? Tips and tricks to make GANs work
How to Train a GAN? Tips and tricks to make GANs work 转自:https://github.com/soumith/ganhacks While r ...
- GAN笔记——理论与实现
GAN这一概念是由Ian Goodfellow于2014年提出,并迅速成为了非常火热的研究话题,GAN的变种更是有上千种,深度学习先驱之一的Yann LeCun就曾说,"GAN及其变种是数十 ...
- [GAN] How to use GAN - Meow Generator
一篇介绍GAN应用的文章.今后GAN模型学习的主要内容. 中文链接:萌物生成器:如何使用四种GAN制造猫图 原文链接:https://ajolicoeur.wordpress.com/cats/ 项目 ...
- (转) GAN论文整理
本文转自:http://www.jianshu.com/p/2acb804dd811 GAN论文整理 作者 FinlayLiu 已关注 2016.11.09 13:21 字数 1551 阅读 1263 ...
- GAN生成式对抗网络(四)——SRGAN超高分辨率图片重构
论文pdf 地址:https://arxiv.org/pdf/1609.04802v1.pdf 我的实际效果 清晰度距离我的期待有距离. 颜色上面存在差距. 解决想法 增加一个颜色判别器.将颜色值反馈 ...
- [论文理解] Good Semi-supervised Learning That Requires a Bad GAN
Good Semi-supervised Learning That Requires a Bad GAN 恢复博客更新,最近没那么忙了,记录一下学习. Intro 本文是一篇稍微偏理论的半监督学习的 ...
随机推荐
- 从Node到Go的心路之旅
我最近将一个系统从Node重构到了Go,花了大概两周多的时间,这个过程也是不得已而为之,因为公司开发的系统最终需要部署到客户的服务器,而又不想暴露源码. 但是NodeJs开发的系统却无法从根本上来保护 ...
- Xamarin.Forms + Prism,整理页面导航跳转流程
3个Page,Page1 -> Page2 -> Page3 -> Page2 -> Page1. PageViewModel实现接口:INavigatingAware, IN ...
- 用 webpack 创建 vue 项目
1.安装支持webpack 包 npm i -D webpack webpack-cli aspnet-webpack webpack-dev-middleware webpack-hot-mi ...
- go语言入门教程:基本语法之变量声明及注意事项
一.变量的使用 1.1 什么是变量 变量是为存储特定类型的值而提供给内存位置的名称.在go中声明变量有多种语法. 所以变量的本质就是一小块内存,用于存储数据,在程序运行过程中数值可以改变 1.2 声明 ...
- ogg同步DDL时,源和目标端表空间名称不同的解决思路
在OGG同步过程中,经常会碰上有创建表或表空间的同步,往往因为源和目标的平台不同,如aix->linux or linux->windows,这两个平台的表空间也经常不同,在目标端执行DD ...
- Java8-Map
1.Staff实体 public class Staff { private String name; private int age; private String address; public ...
- C++ STL标准容器插入删除算法的复杂度
1 vector内部实现: 数组 // 就是没有固定大小的数组,vector直接翻译是向量的意思支持操作:begin(), //取首个元素,返回一个iteratorend(), //取末尾(最后一个元 ...
- 使用littleTools简化docker/kubectl的命令
littleTools littleTools是我根据日常运维时编写的一个小工具,开源在了https://github.com/xuxinkun/littleTools上. littleTools包含 ...
- xpath解析数据
xpath解析数据 """ xpath 也是一种用于解析xml文档数据的方式 xml path w3c xpath搜索用法 在 XPath 中,有七种类型的节点:元素.属 ...
- [ZOJ 4016] Mergable Stack
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4016 直接用栈爆内存,看网上大神用数组实现的,构思巧妙,学习了! ...