论文笔记之:Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks
Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks
NIPS 2015
摘要:本文提出一种 generative parametric model 能够产生高质量自然图像。我们的方法利用 Laplacian pyramid framework 的框架,从粗到细的方式,利用 CNN 的级联来产生图像。在金字塔的每一层,都用一个 GAN,我们的方法可以产生更高分辨率的图像。
引言:在计算机视觉领域,构建好的 产生式模型 是自然图像中比较基层的问题。但是,高分辨率的图像,仍然很难产生。我们提出一种方法,能够产生大致看起来很像的场景,分辨率为:32*32 and 64*64 。为了达到这个目的,我们探索了 natural image 的多尺度结构,构建了一系列的产生式模型,每个 GAN 抓住了金字塔特定层的 image structure。这种策略,将原始的问题转化为 : a sequence of more manageable stages. 在每一种尺寸,我们利用 GAN 的思路构建 CNN 产生式模型。样本以 coarse-to-fine fashion 进行绘画,commencing with a low-frequency residual image。第二个阶段在下一个 level 采样 the band-pass structure,在 sampled residual 的基础上。接下来的 level 继续这个过程,总是在上一个 scale 的输出上进行,直到最后一个 level。所以,drawing samples 是一个有效的,直观的前向传播的过程:将随机的向量作为输入, 经过 deep convolutional networks 前向传播,然后输出一张图像。
Approach :
本文方法是基于 NIPS 2014 年的 GAN 做的,提出了 LAPGAN model,结合了 a conditional form of GAN model into the framework of a Laplacian pyramid.
1. Generative Adversarial Networks
该小节简单介绍下产生式对抗网络(GAN),我们所要优化的目标就是:

The conditional generative adversarial network (CGAN) 是 GAN 的一种拓展。其中,两个网络 G and D 都会收到额外的信息向量 $l$ 作为输入。也可以说,训练样本 $l$ 的 class 信息,所以 loss function 变成了:

其中,$pl(l)$ 是类别的先验分布(the prior distribution over classes)。这个模型允许产生器的输出,通过条件变量 l 控制。在我们的方法中,这个 $l$ 将会是从另一个 CGAN model 得到的另一个图。
关于 CGAN 更多的信息,请参考: Conditional Generative Adversarial Nets 。
2. Laplacian Pyramid
The Laplacian Pyramid 是一个线性可逆的图像表示方法,由一系列的 band-pass images 构成,spaced an octave apart,plus a low-frequency residual。
假设 d(*) 是一个 down sampling operation,将 j * j 的 image I ,划分为 j/2 * j/2 。对应的,u(*) 是一个 upsampling operation,使得图像变成:2j * 2j。
我们首先构建一个图像金字塔,$ g(I) = [I_0, I_1, ... , I_K] $,其中,I0 = I and Ik is k repeated operated applications of d(*) to I 。K 表示金字塔的层数。
图像金字塔的每一个 level k 的系数 $h_k$ 是通过采取两个近邻 level 的不同来构建的,upsampling the smaller one with u(*) so that the sizes are compatible :

直观地来说,每一 level 抓住了特定尺寸的图像结构。Laplacian pyramid 的最后一层 $h_K$ is not a difference image, 而是 一个低频的 residual ,equal to the final Gaussian pyramid level ,即:$h_K = I_K$ 。从拉普拉斯金字塔系数 $[h_1, ... , h_K]$ 重建,是利用 backward recurrence 执行的:

其中,重建是从 coarse level 开始的,重复的进行 upsample,在下一个更好的 level 添加不同的image,直到我们得到原始分辨率的图像。
3. Laplacian Generative Adversarial Networks (LAPGAN)
本文所提出的方法,就是将两个模型进行结合。
首先考虑 the sampling procedure,我们有一系列的产生式模型 ${G_0, ... , G_K}$,每个产生式模型构建了金字塔不同层次的图像的系数 $h_k$ 的分布。Sampling an image 类似于 Eq. (4) 的重建过程,除了产生式模型是用于产生 $h_k$ :

图 1 展示了 3层金字塔,用 4 个产生式模型构建 64*64 image 的过程:

产生式模型 ${G_0, ... , G_K}$ 在图像金字塔的每一层都用 CGAN 的方法进行训练。特别的,我们对每一个训练图像 I,构建一个 Laplacian Pyramid。在每一层,我们随机挑选:
(i) 从 Eq. (3) 采用标准的步骤,构建 the coefficients $h_k$ ,或者 (ii) 用 $G_k$ 产生他们:

注意到 $G_k$ 是一个 convent,采用一种 coarse scale version of the image $l_k = u(I_{k+1})$ 作为输入,以及 noise vector $z_k$ 。Dk 就用于判断当前图像是产生的,还是原始图像。图像金字塔的 final scale,the low frequency residual 已经足够小了,可以直接用标准的 GAN 进行建模,$D_K$仅仅用 $h_K$ and $h^~_K$ 作为输入。这个框架见图 2 。

将产生的过程分解为一系列的过程,是本文的一个重要的创新点。
Model Architecture & Training
我们将该方法应用到三个数据集上进行了测试:(1) Cifar-10 (2) STL10 (3) LSUN 。
作者的开源代码: http://soumith.ch/eyescream/



Experiments and Discuss :
论文笔记之:Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks的更多相关文章
- 论文笔记——A Deep Neural Network Compression Pipeline: Pruning, Quantization, Huffman Encoding
论文<A Deep Neural Network Compression Pipeline: Pruning, Quantization, Huffman Encoding> Prunin ...
- 论文笔记之:Generative Adversarial Nets
Generative Adversarial Nets NIPS 2014 摘要:本文通过对抗过程,提出了一种新的框架来预测产生式模型,我们同时训练两个模型:一个产生式模型 G,该模型可以抓住数据分 ...
- 论文笔记之:Generative Adversarial Text to Image Synthesis
Generative Adversarial Text to Image Synthesis ICML 2016 摘要:本文将文本和图像练习起来,根据文本生成图像,结合 CNN 和 GAN 来有效的 ...
- 论文笔记:Deep feature learning with relative distance comparison for person re-identification
这篇论文是要解决 person re-identification 的问题.所谓 person re-identification,指的是在不同的场景下识别同一个人(如下图所示).这里的难点是,由于不 ...
- 论文笔记:Deep Residual Learning
之前提到,深度神经网络在训练中容易遇到梯度消失/爆炸的问题,这个问题产生的根源详见之前的读书笔记.在 Batch Normalization 中,我们将输入数据由激活函数的收敛区调整到梯度较大的区域, ...
- 论文笔记:Deep Attentive Tracking via Reciprocative Learning
Deep Attentive Tracking via Reciprocative Learning NIPS18_tracking Type:Tracking-By-Detection 本篇论文地主 ...
- 论文笔记之: Bilinear CNN Models for Fine-grained Visual Recognition
Bilinear CNN Models for Fine-grained Visual Recognition CVPR 2015 本文提出了一种双线性模型( bilinear models),一种识 ...
- 论文笔记(4)-Deep Boltzmann Machines
Deep Boltzmann Machines是hinton的学生写的,是在RBM基础上新提出的模型,首先看一下RBM与BM的区别 很明显可以看出BM是在隐含层各个节点以及输入层各个节点都是相互关联的 ...
- 论文笔记 Pose-driven Deep Convolutional Model for Person Re-identification_tianqi_2017_ICCV
1. 摘要 为解决姿态变化的问题,作者提出Pose-driven-deep convolutional model(PDC),结合了global feature跟local feature, 而loc ...
随机推荐
- python的异常小结与assert
异常的处理 一. 二. -----------------2016-4-20 18:04:06--
- FileStream和StreamWriter配合写数据流时,出现数据写不进去的问题
今天做一个数据导进txt小程序时,发现一个问题,就是没有关闭sw的流,只关闭了fs的,结果写不进去数据,看代码是对的,就是不行,最后就随手填上了sw的关闭后,可以了,反复测试,竟然就是这的问题,有点搞 ...
- Python简单时间日期处理
import datetime #日期初始化: d1 = datetime.datetime(2005, 2, 16) d2 = datetime.datetime(2004, 12, 31) #日期 ...
- kafka原理存储
http://www.open-open.com/lib/view/open1421150566328.html
- LCT专题练习
[bzoj2049]洞穴勘测 http://www.cnblogs.com/Sdchr/p/6188628.html 小结 (1)LCT可以方便维护树的连通性,但是图的连通性的维护貌似很麻烦. [bz ...
- Django URL传递参数的方法总结(转)
1 无参数情况 配置URL及其视图如下: 1 2 3 4 (r'^hello/$', hello) def hello(request): return HttpResponse("He ...
- ddl dml dcl
DCL数据控制语言 创建临时表空间 create temporary tablespace user_temp tempfile 'E:/oracle/product/10.1.0/oradata/o ...
- PHP二次开发discuz3.2最新体验
康盛官方于6月4号发布了discuz3.2的正式版,因为这两天一直忙于一个项目,一直没来的及体验,现在抽时间总算是装上了,也体验一把. 根据官方说明:Discuz! X3.2 在继承和完善 Discu ...
- iframe 内显示的网页 只显示改网页的某一部分!
使用iframe调用指定网页的特定位置(显示目标网页某区域的我想要的内容) 有些时候我们并不需要显示iframe标签属性src指定的目标网页的所有内容,往往只需要显示某一特定区域.现有两种实现方法提供 ...
- 《SICP》读后感:关于软件本质的一点思考
摘要:软件本身不是目的,人类的需求才是目的,而软件只是达到目的的手段. 软件的本质在于控制复杂性,这个复杂性并非来自于计算机,也并非来自于现实世界,而是来自于人类的思维和知识体系. 软件被使用的广泛性 ...