本文介绍GAN的扩展:使用 Convolution 网络进行非监督式学习,得到图像层级式的特征表示以及做一些扩展应用。

Introduction

使用GAN 进行 representation learning 有一些优势:

  • 模型训练的方式,区别于其它生成式模型 (参考 GAN 中的描述)
  • 不需要启发式的损失函数

但是GAN的训练不稳定,而且没有分析中间层结果的相关工作。 所以本文的贡献点:

  • 加入模型的限制,使训练更稳定
  • 测试判断式模型的性能
  • 可视化 filter,分析特定 filter 对生成特定 object 的作用
  • 分析生成式模型的具有的向量运算特性

Representation learning

对无标签数据的表示学习:

  • 聚类
  • 自编码机 autoencoder
  • 深度信念网络 deep belief network

Generating images

生成图像的方式: 无参和有参模型。无参模型使用匹配的方式,在数据库中寻找匹配的 patch。 有参的包含如下工作:

  • Variational sampling
  • GAN
  • LAPGAN
  • RNN
  • Deconvolutional network

Visualizing

  • Fergus 使用 deconvolution,filter max activation 来可视化 filter
  • 输出图像使用 backpropagation 查看参数的响应

Approach

起始套用CNN的结构用于GAN没有成功,对CNN作了如下3个改变:

  • all convolutional network: 使用 stride convolution 取代 maxpooling,使生成式模型自己学习其 upsampling
  • eliminating fully connected layer: global average pooling ??? 折中方案: 直接将向量映射为下一层的输入或输出
  • batch normalization: 不在生成模型的输出层,判别模型的输入层使用
  • activation function: 生成式模型使用 ReLU,最后一层使用 Tanh; 判别式模型使用 Leaky ReLU

Training

具体的参数包括:

scale batch size init leaky solver lr momentum
[-1,1] 128 (0,0.02) 0.2 adam 0.0002 0.5

LSUN

判定模型是否过拟合; TODO: what is deduplication

Face

Image scrawl, opencv face detection

Validation

使用判断式模型中,每层 filter 的响应值,maxout 之后作为特征,来验证 representation learing 的性能。 具体到门牌号码识别任务中,使用 DCGAN 训练图像表示可以取得无监督算法中较好的结果,但是用此架构作为有监督的模型训练,效果并不好!

Internals (TODO)

manifold travel

discrinator backpropagation

arithmatic

Note: 关于损失函数: 交叉熵对NN训练的影响,Hinge loss + L2 正则是 SVM 等等参考公众号文章。

Arxiv DCGAN