用GAN生成的图像做训练?Yes!- 知乎

更新于 2017年11月9日 好东西
我来说两句
0 2017年11月9日

原帖链接: https://zhuanlan.zhihu.com/p/29970140

你平时是不是还在用 水平反转(fliplr)/随机切割(random crop)来做数据增强?

  1. 对于小数据集,是不是数据量还是不足? 如果能生成一些就好了。
  2. 如果GAN生成了图片?怎么给这些数据label呢?

对以上这些问题:

[1701.07717] Unlabeled Samples Generated by GAN Improve the Person Re-identification Baseline in vitro 都做出了一些尝试。

想法特别简单,先用原始数据(CUB上面只有~2000张图也训练出来了)训练一个GAN,然后生成图片,加入到训练集中。 我总结一下就是:

  1. GAN 生成数据是可以用在实际的图像问题上的(不仅仅是像mnist 这种toy dataset上work)因为我也遇到过一些cifar上work的trick,到实际数据集就 吃屎的情况orz。。。作者在两个行人重识别数据集 和 一个细粒度识别 鸟识别数据集上都有提升。
  2. GAN 数据有三种给pseudo label的方式, 假设我们做五分类
  • 把生成的数据都当成新的一类, 六分类,那么生成图像的 label 就可以是 (0, 0, 0, 0, 0, 1) 这样给。
  • 按照置信度最高的 动态去分配,那个概率高就给谁 比如第三类概率高(0, 0, 1, 0, 0)
  • 既然所有类都不是,那么可以参考inceptionv3,搞label smooth,每一类置信度相同

(0.2, 0.2, 0.2, 0.2, 0.2) 注:作者好像是16年12月写的代码,当时GAN效果没有辣么好,用这个效果好也是可能的, 因为都不是很真,所以搞一波正则作用。。论文中是这个最好,不过,估计还是要因地制宜。

原文代码链接:layumi/Person-reID_GAN

  • 相关paper:
  1. [1606.03498] Improved Techniques for Training GANs
  2. [1512.00567] Rethinking the Inception Architecture for Computer Vision
  3. [1707.03124] Adversarial Generation of Training Examples for Vehicle License Plate Recognition
回复