无监督学习:Deep Generative Mode(深度生成模型)
一 前言
1.1 Creation
据说在费曼死后,人们在他生前的黑板上拍到如图画片,在左上角有道:What i cannot create ,I do not understand. Generative models,就是在做创造的事情。

1.2 Image Processing

二 Generative Models
这是目前的主要方法。

2.1 PixelRNN

每次生成一个像素,用这样的方法,没有任何注释可以训练就有一大堆图像,效果还不错。下边是某一个实例:

2.2 Variational Autoencoder (VAE)
回忆Auto-encoder方法,如果随机生成一个向量code输出一张图片就是在create了,但是发现这样做的performance并不很好,而Variational Autoencoder会好很多。

VAE结构与Auto-encoder很像

需要minimize两处。 VAE,能通过code来控制产生的结果。 比如我们固定住8维,改变其中的两维向量,看他们生成的图像变化趋势,从而得到当前维度控制结果产生的规律。

效果: 如下图,右上角站立,左下角平躺。

也可以让VAE write poetry:

Why VAE?-->用VAE,从code space上去sample一个code,能得到一个比较好的image,而auto encoder可能得不到。

将code加上了noise,而variance决定了noise的大小,variance是train出来的。variance要做一些限制,否则就会是0,所以就要用Minimize。


以上是直观的解释,那么回到我们要解决的问题,即Estimate the probability distribution

那么怎么来Estimate the probability distribution呢?可以用Gaussion Mixtrue Model 。怎样从Gaussian Mixture Model 里sample一个data呢? 首先有一个multinomial distribution,先决定sample 其中的哪一个Gaussian,用m表示。有了m,就可以找到μ和Σ,然后可以sample出一个x。

也就是说每一个你生成的x并不属于某一个class或cluster,而是它有一个vector来描述他所描述的不同对象的特性,所以,VAE其实就是Gaussian Mixture Model的distribute representation的版本。 先sample一个 z ,假设μ 和 σ都分别来自函数μ(z) 和 σ(z),在z的space里,每一个点都有可能被sample到,只是可能性有大小m,z上的每一个点都可能被sample到并对应着无穷多个gaussian,那么function该怎么找呢?那么可以说NN就是function,训练出这个NN就ok啦。

对gaussian的假设是很随意的,因为NN都能被训练适应。现在手上已经有了一批image x,maximize已有image的L。

上面的NN其实就是decoder,下面的是encoder。那么那么logP(x)怎么求呢?

思想就是,likelihood = KL+Lb,logP(x)只与log(x|z)有关,无论q怎么调,图中的上线是不会变的。这时假如固定住p,调q是会使Lb一直上升,最后likelihood会和Lb非常接近,而再继续下去likelihood也会随之变大。



conditional VAE

Problem of VAE

2.3 Generative Adversarial Network (GAN)
Yann LeCun’s comment的评价:

GAN的概念,有点像拟态的演化。

The evolution of generation,Generator演化(蝴蝶),Discriminator也跟着演化(天敌)。 需要注意的是,generator从来没有看过真正的image,它要做的就是努力骗过看过真正image的discriminator。所以generator才能产生出database中没过的image。

GAN - Discriminator

GAN - Generator
Fix the discriminator,然后去调generator的参数。

实例:GAN – Toy Example

Moving on the code space
先随机sample五个vector,然后向该方向moving,会发生很神奇的事情,比如窗变成电视,电视变成窗户。

In practical

参考:
http://speech.ee.ntu.edu.tw/~tlkagk/courses/ML_2016/Lecture/VAE%20%28v5%29.pdf
https://blog.csdn.net/soulmeetliang/article/details/77461607
无监督学习:Deep Generative Mode(深度生成模型)的更多相关文章
- AI 深度生成模型
深度生成模型 1.玻尔兹曼机
- 【图机器学习】cs224w Lecture 8 & 9 - 图神经网络 及 深度生成模型
目录 Graph Neural Network Graph Convolutional Network GraphSAGE Graph Attention Network Tips Deep Gene ...
- 生成模型(Generative)和判别模型(Discriminative)
生成模型(Generative)和判别模型(Discriminative) 引言 最近看文章<A survey of appearance models in visual object ...
- GAN实战笔记——第二章自编码器生成模型入门
自编码器生成模型入门 之所以讲解本章内容,原因有三. 生成模型对大多数人来说是一个全新的领域.大多数人一开始接触到的往往都是机器学习中的分类任务--也许因为它们更为直观:而生成模型试图生成看起来很逼真 ...
- 【机器学习基础】无监督学习(1)——PCA
前面对半监督学习部分作了简单的介绍,这里开始了解有关无监督学习的部分,无监督学习内容稍微较多,本节主要介绍无监督学习中的PCA降维的基本原理和实现. PCA 0.无监督学习简介 相较于有监督学习和半监 ...
- 深度|OpenAI 首批研究成果聚焦无监督学习,生成模型如何高效的理解世界(附论文)
本文经机器之心(微信公众号:almosthuman2014)授权转载,禁止二次转载,原文. 选自 Open AI 作者:ANDREJ KARPATHY, PIETER ABBEEL, GREG BRO ...
- 生成模型(Generative Model)和 判别模型(Discriminative Model)
引入 监督学习的任务就是学习一个模型(或者得到一个目标函数),应用这一模型,对给定的输入预测相应的输出.这一模型的一般形式为一个决策函数Y=f(X),或者条件概率分布P(Y|X). 监督学习方法又可以 ...
- Deep Belief Network简介——本质上是在做逐层无监督学习,每次学习一层网络结构再逐步加深网络
from:http://www.cnblogs.com/kemaswill/p/3266026.html 1. 多层神经网络存在的问题 常用的神经网络模型, 一般只包含输入层, 输出层和一个隐藏层: ...
- 生成模型(Generative Model)与判别模型(Discriminative Model)
摘要: 1.定义 2.常见算法 3.特性 4.优缺点 内容: 1.定义 1.1 生成模型: 在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下.它给观测值和标 ...
随机推荐
- shell实现mysql热备份
#!/bin/bash #my.hc.sh PATH=/usr/local/sbin:/usr/bin:/bin BACKDIR = /backup/mysql ROOTPASS = ******** ...
- 【题解】CF1103D Professional layer
[题解]CF1103DProfessional layer 神题做前先\(orzyyb\) 一个很好的性质(之前也见过但是没有想到的) zhengchu \(gcd\le 10^{12}\) 所以不同 ...
- 流畅python学习笔记:第十六章:协程
通常在python进行编程一般都是使用多线程或者多进程来实现.这里介绍另外一种并发的方式,就是协程,但和多线程以及多进程不一样的是,协程是运行在单线程当中的并发.来看下具体的例子: def simpl ...
- 原生Base64编码/解码(OC与Swift)
Objective-C NSString *plainString = @"foo"; Encoding NSData *plainData = [plainString data ...
- Android Studio第一次启动失败的解决办法
Android Studio Android 开发环境 由于GFW的问题,安装后第一次启动会在显示Fetching android sdk component information对话框后,提示错误 ...
- HDU2825 Wireless Password —— AC自动机 + 状压DP
题目链接:https://vjudge.net/problem/HDU-2825 Wireless Password Time Limit: 2000/1000 MS (Java/Others) ...
- JAVA- continue与break与return关键字
continue与break关键字 for(int i=0;i<10;i++){ if(i%2==0){ continue; //跳过当前循环执行下一次循环 } System.out.print ...
- 大数据 - Zookeeper
Zookeeper 1. Zookeeper概念简介: Zookeeper是一个分布式协调服务:就是为用户的分布式应用程序提供协调服务 A.zookeeper是为别的分布式程序服务的 B.Zooke ...
- jsonp跨域请求,动态script标签实现跨域
1.什么是跨域 首先一个域名地址的组成是: http://www.xxx.com:8080/xxx/xxx.jsp 协议子域名主域名端口号请求资源地址 当协议.子域名.主域名.端口号中任意一个不相同时 ...
- HTML font: 12px/1.5 Arial; 是什么意思
意思是: 字体12像素 行高 1.5em 字体 Arial 可以参考下面资料: 我们常用的font属性有下面这六种: font-style设定斜体 如:font-style: italic; font ...