Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks
这篇文章最主要的目的是把GAN
作为一种representation learning
的方法(对Generator
和Discriminator
都是这个目的,而不是生成图片),然后用学到的 features 用于supervised learning
(classification
等)。做了相关的实验验证(用学到的 features 在其它数据集上进行分类,对学到的features
进行可视化)representation learning
的效果很好。
Motivation
无标数据比有标数据多得多,如果能利用这些数据提取 features,然后用于
supervised
任务,会很有帮助用于
supervised learning
的CNN
在CV
方面取得了取得了很好的成绩,如果用于unsupervised learning
是不是也可以取得比较不错的成绩。最近的
GAN
很火,那是不是可以把GAN
的结构用到CNN
中(所以从这个角度看是:用GAN
改进CNN
,而不是用CNN
改进GAN
),把CNN
改成一种可以用于unsupervised learning
任务的结构。convincing evidence 表明:提出的 model 可以 learns a hierarchy of representations from object parts to scenes
1 INTRODUCTION
提出
DCGAN
,训练更稳定如何?
为何?
3 Approch and Model Architecture
把CNN
应用到GAN
遇到了很多的问题,但是作者在经过很多的实验后,找到了一些比较好的 tricks,resulted in stable training across a range of datasets and allowed for training higher resolution and deeper generative models。 看下面:
CNN architecture的3个改变
把
pooling
换成strided convolutions
,原因:allowing the network to learn its own spatial downsamplingGenerator
: strided convolutionsDiscriminator
: fractional-strided convolutions
使用
global average pooling
,但是发现提高了stability,收敛速度变慢。Generator
,Discriminator
都用了生成数据的那一层当成是
FC
,因为就是矩阵相乘,然后 reshpae 成一个 4 维的 tensor 作为接下来卷积层的输入。对于
Discriminator
,把最后一个卷基层 flatten,输入 single sigmoid 中。
使用
Batch Normalization
,尽量的避免Generator
崩溃。Generator
,Discriminator
都用了解决 poor initialization 的问题
information flow
更通畅
Activation
Generator
: ReLU activation , Tanh function for output layerDiscriminator
: leaky rectified activation
4.1.1 DEDUPLICATION
- 没看懂是什么意思
5.1 CLASSIFYING CIFAR-10 USING GANS AS A FEATURE EXTRACTOR
- 评价 the quality of unsupervised representation learning 的一个方法是把它们当做
features extractor
,然后用于supervised learning
中,看效果。
Empirical validation of DCGANS capabilities
SGD and a small learning rate 根据之前的实验,都没有 evidence 显示会
overfitting
使用 discriminator’s convolutional features from all layers 对其它的数据集进行分类。检验它 extract features 的能力。
可以试一下,unsupervised learning 的方法 extract features,然后用学到的 features 进行分类。
通过训练一个具有相同结构的
CNN
,验证 CNN architecture used in DCGAN is not the key contributing factor of the model’s performance
6.3.1
Generator
学习到了什么? major scene components
待完善。。。。