论文笔记之: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 ...
随机推荐
- PHP 小方法之 过滤参数
if (! function_exists ( 'parameter_filter' )) { function parameter_filter($str, $type = 'string', $f ...
- [java基础]循环结构1
[java基础]循环结构1 循环结构:for循环,while循环,do_while循环在,增强型for循环 /** 文件路径:G:\JavaByHands\循环语句\ 文件名称:WhileTest.j ...
- NGUI Atlas, Atlas Type Reference
在NGUI中,通过创建图集及引用图集,实际使用时指定引用图集而非具体图集本身,可以创建多语言,或高配低配版本资源包. NGUI Atlashttp://www.cnblogs.com/answerwi ...
- Yii批量添加的问题
使用Yii进行批量添加的时候,执行后会发现表中只插入了foreach循环的最后一条数据,而其它数据没有添加成功,那是因为内存地址中循环时新一条数据会覆盖前一条数据,解决办法如下: 第一种方法: < ...
- 关于ImageLoader的详细介绍
转载请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/26810303),请尊重他人的辛勤劳动成果,谢谢! 相信大家 ...
- android studio 改变代码提示的方法
移通152余继彪 在android studio中 默认代码提示的功能是ctrl+空格,这样的提示会和输入法造成冲突,所以要改变 改变的方法就是file—seting——Keymap然后搜索basic ...
- Android调用相册拍照控件实现系统控件缩放切割图片
android 下如果做处理图片的软件 可以调用系统的控件 实现缩放切割图片 非常好的效果 今天写了一个demo分享给大家 package cn.m15.test; import java.io.By ...
- 2016年发布APASVO-p波震相自动拾取分析
Why automatic attractive? large amount of seismic data ; if manually,it depends om experience of ana ...
- 链式编程中的next()和end()
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- Android webservice的用法详细讲解
Android webservice的用法详细讲解 看到有很多朋友对WebService还不是很了解,在此就详细的讲讲WebService,争取说得明白吧.此文章采用的项目是我毕业设计的webserv ...