DCGAN的全称是Deep Convolution Generative Adversarial Networks(深度卷积生成对抗网络)。是2014年Ian J.Goodfellow 的那篇开创性的GAN论文之后一个新的提出将GAN和卷积网络结合起来,以解决GAN训练不稳定的问题的一篇paper. 关于基本的GAN的原理,可以参考原始paper,或者其他一些有用的文章和代码,比如:GAN mnist 数据生成,深度卷积GAN之图像生成,GAN tutorial等。这里不再赘述。 一. DCGAN 论文简单解读 ABSTRACT 1.1 摘要。作者说,这篇文章的初衷是,CNN在supervised learning 领域取得了非常了不起的成就(比如大规模的图片分类,目标检测等等),但是在unsupervised learning领域却没有特别大的进展。所以作者想弥补CNN在supervised 和 unsupervised之间的gap。作者提出了将CNN和GAN相结合的DCGAN,并展示了它在unsupervised learning所取得的不俗的成绩。作者通过在大量不同的image datasets上的训练,充分展示了DCGAN的generator(生成器)和discriminator(鉴别器)不论是在物体的组成部分(parts of object)还是场景方面(scenes)都学习到了丰富的层次表达(hierarchy representations)。作者还将学习到的特征应用于新的任务上(比如image classification),结果表明这些特征是非常好的通用图片表达(具有非常好的泛化能力)。 INTRODUCTION 1.2 将GAN作为feature extractors。我们往往希望从大量未标注的数据中学习到有用的特征表达,然后将这些特征应用于监督学习领域。这是非常热门的研究领域。作者表明GAN是达成这一目的的一个非常好的工具。GAN的一大问题就是其训练非常不稳定,有的时候会得到非常奇怪的结果。而且目前对于可视化展示multi layer GAN内部到底学到了什么representation 研究非常少。这篇文章在以下几个方面做出了贡献: - 文中提出并评估了一系列的对于卷积GAN的结构的限制,这些限制确保了在大多数情况下,卷积GAN可以保持稳定。文中将这种结构命名为DCGAN。 - 文中将训练好的鉴别器应用于图片分类任务,并和其他的非监督方法进行对比,发现它非常competitive。 - 文中可视化了DCGAN的filters,结果表明特定的filter学习到了特定的object。 - 文中表明生成器具有有趣的向量算数属性(vector arithmetic property),这使得我们可以对生成的样本进行语义上的操作(类似于NLP中的word embedding 的性质,文中作者举了给女性戴墨镜的例子,详见下文)。 RELATED WORK 2.1 从未标注的数据学习representation。之前使用的比较多的方法是聚类(层次k-means等),还有auto-endcoders,以及深度信念网络(deep blief networks)。 2.2 产生自然的图片。这一任务主要分为参数的和非参数的。 非参数方法 这种方法主要是从图片数据库对图片碎片(pathes)做match,应用在了图片的纹理合成(texture synthesis)以及超分辨率图片合成等方面。 参数方法 这种方法以前研究的就比较多,但是主要是对一些简单的图片做实验的(比如MNIST),在大规模真实图片上做实验取得比较好的结果也就是最近几年的事情。作者简单讲了有variati