对抗生成式主动学习 Generative Adversarial Active Learning

Generative Adversarial Active Learning

Paper Reading Note

URL: https://arxiv.org/pdf/1702.07956v5.pdf

TL;DR

第一篇用以GAN为代表的生成式方法来做Active Learning的文章,比较有开创性,
,利用已标注数据,用GAN生成uncertainty值高的"假"样本加速模型训练,在许多情况下不差于传统上用真实样本做迭代的pool based active learning.


Information below is optional; 啊 you can change/remove it if you like

Basics

Active Learning

在带标注数据有限、标注成本高的场景下,学习如何选取高质量的未标注样本交给人来标注以更新模型,在有限的cost budget下提高模型训练效果。

对抗生成式主动学习 Generative Adversarial Active Learning_第1张图片

GAN

生成模型G和判别模型D进行极大极小博弈,直到判别器难以区分生成数据和真实数据为止,由经典论文Generative Adversarial Networks提出。[外链图片转存失败(img-txaMaV21-1566652241889)(https://codimd.s3.shivering-isles.com/demo/uploads/upload_bd6675e5904c1b12d279f6e67d5d1cbf.png)]
图像生成领域常用DCGAN,用CNN做判别模型,与CNN类似但相反的反卷积结构做生成模型。本文的实验就是用开源的DCGAN库实现。

Algorithm: GAAL

作者提出Generative Adversial Active Learning,核心非常简明,就是人工标注少量随机选取的样本后,用DCGAN生成目前判别器相对不确定的新数据交给人去标注,由此迭代训练分类模型。
对抗生成式主动学习 Generative Adversarial Active Learning_第2张图片
对抗生成式主动学习 Generative Adversarial Active Learning_第3张图片

Experiments

文章的实验相对单薄,是用SVM做分类器,DCGAN做判别器和生成器在MNIST,USPS和CIFAR上做二分类实验,但还是有一些有趣的insgihts.分三张图说明:

对抗生成式主动学习 Generative Adversarial Active Learning_第4张图片
⇑ \Uparrow 在MNIST上训练迁移到USPS(另一个手写数字数据集)上测试,做5-7二分类,可以看出用GAAL(黑线)生成350个sample的效果甚至高于11000个真实样本的Full Supervised(红线)
对抗生成式主动学习 Generative Adversarial Active Learning_第5张图片
⇑ \Uparrow 同样的setting,但是是在MNIST上训练、MNIST上测试,同领域情况下GAAL的效果就不如 S V M a c t i v e SVM_{active} SVMactive和Full Supervised,而且生成100个sample之后出现掉点,作者推测是由于训练集和测试集分布相似且相对简单的情况下,决策边界变化不大,GAAL倾向于停留在边界附近生成过多相似的样本破坏模型.
对抗生成式主动学习 Generative Adversarial Active Learning_第6张图片
⇑ \Uparrow 在CIFAR上做实验时,由于特征更复杂、生成更难,有时会出现人难以判断的样本(只能选择抛弃),不过GAAL的准确率仍然比Full Supervised和传统的Active Learning高。

Thoughts

  • 为解决训练集和测试集分布相近时的问题,可以考虑加入diversity term
  • GAN的各种变体可以尝试是否能涨点
  • 实验不够solid,可以考虑用ResNet等NN模型做分类器在ImageNet等更大规模的数据集上做实验看是否work

你可能感兴趣的:(Paper,Reading)