贝叶斯生成式主动学习 Bayesian Generative Active Deep Learning

Bayesian Generative Active Deep Learning

Paper Reading Note

URL: https://arxiv.org/pdf/1904.11643.pdf

TL;DR

ICML2019上关于主动学习的新作,整合了用贝叶斯神经网络衡量预测不确定性的方法BALD、MCDropout和用GAN生成不确定样本的方法GAAL,将pool-based和query-synthesis的方法结合起来做ActiveLearning,只用40%的训练数据就在CIFAR上取得了91% 的准确率。虽然有拿他人方法排列组合的感觉,但阅读本文对了解AcitveLearning各方面的进展还是十分有益的。


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

Related Works

GAAL & BDA

与传统的pool-based方法从unlabeled中选取有价值的样本交给人标注不同,GAAL(Generative Adversial Active Learning) 用GAN生成信息量大的“伪样本”交给人标注,同样能以较低的cost训练出好的模型,paper见Arxiv链接

贝叶斯生成式主动学习 Bayesian Generative Active Deep Learning_第1张图片

BALD & MC-Dropout

之前Deep Learning和Active Learning较难结合有两个原因:

  • DL需要大量带标签数据,而AL着眼的就是标注尽可能少的数据来训练好模型。
  • AL每次query时需要做uncertainty sampling ,而NN模型预测的不确定性没有很好的标准衡量。

Houlsby等人在2011年提出了贝叶斯不一致主动学习(Bayesian Active Learning by Disagreement,BALD),用贝叶斯神经网络做分类器能更好地衡量预测的不确定性,可以参看Bayesian Active Learning for Classification and Preference Learning,我简要概括如下:


The central goal of information theoretic active learning is to reduce the number possible hypotheses maximally fast, i.e.
to minimize the uncertainty about the parameters using Shannon’s entropy

即基于信息论的主动学习核心目标是快速地降低可能的假设数量,即根据香农熵最小化参数的不确定性,用式子表述是:
a r g m i n D ′   H ( θ ∣ D ′ ) = − ∫ p ( θ ∣ D ′ ) l o g p ( θ ∣ D ′ ) d θ arg min D' \ H( \theta | D') = - \int p (\theta | D')logp (\theta | D') d\theta argminD H(θD)=p(θD)logp(θD)dθ
这个问题是NP-hard,可用贪心近似,seek the data point x that maximises the decrease in expected posterior entropy
在这里插入图片描述
不过参数 θ \theta θ的维度高,计算代价大,it’s equivalent to the conditional mutual information between the unknown output
and the parameters,等效的方法是the objective can be rearranged to compute entropies in y space:
在这里插入图片描述


i.e:
在这里插入图片描述
为了更好地计算这个aquisition function ,Gal等人在2017年提出具体抽样函数使用 Monte Carlo (MC) dropout 方法,可参见Deep Bayesian Active Learning with Image Data
贝叶斯生成式主动学习 Bayesian Generative Active Deep Learning_第2张图片

Algorithms

implementation是一个四部分的系统:

  • a classifier c ( x ; θ C ) c(x;\theta_C) c(x;θC):
  • an encoder e ( x ; θ E ) e(x;\theta_E) e(x;θE) :
  • a generator\decoder g ( z ; θ G ) g(z;\theta_G) g(z;θG):
  • a discriminator d ( x ; θ D ) d(x;\theta_D) d(x;θD)
    贝叶斯生成式主动学习 Bayesian Generative Active Deep Learning_第3张图片
    其中classifier可以是任意流行的CNN模型,生成部分使用的是VAE-ACGAN,损失定义与计算过程如下:
    贝叶斯生成式主动学习 Bayesian Generative Active Deep Learning_第4张图片
    关键就是把GAAL和BAD 代表的生成式方法和Pool-Based的传统方法结合起来。

Experiments

  • 实验对比的方法包括:贝叶斯生成式主动深层学习模型(AL w. VAEACGAN)、使用 BDA 的主动学习模型(AL w. ACGAN)、未使用数据增加处理的 BALD (AL without DA)、未使用主动学习方法的 BDA (BDA)以及随机生成样本的方法。
  • 实验中使用的分类器:ResNet18、ResNet18pa
    贝叶斯生成式主动学习 Bayesian Generative Active Deep Learning_第5张图片

使用完整训练集和 10 倍数据扩充建模的 BDA 的实验结果作为所有其他方法的上限(BDA (full training))。本文提出的模型(AL w. VAEACGAN)效果优于使用 BDA 的主动学习模型(AL w. ACGAN)。这说明尽管 AL w. ACGAN 使用样本信息训练,但生成的样本可能不具有信息性,因此是无效样本。尽管如此,AL w. ACGAN 生成的样本分类性能仍然优于未使用数据增加处理的主动学习方法(AL without DA)

用40%的数据就在CIFAR10上取得了91%的accuracy(据我所知ResNet在CIFAR10上全监督的state of art是95%左右),可见Bayesian Generative Active Deep Learning 还是能极大地利用样本信息、减小比标注代价的。

贝叶斯生成式主动学习 Bayesian Generative Active Deep Learning_第6张图片

Thoughts

这篇文章虽然是之前他人工作的组合,却有助于我们了解Active Learning近年来发展的全貌,用贝叶斯不一致性计算uncertainy和用GAN生成新样本都值得尝试用来改进我们目前的标注算法。

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