百科问答小站 logo
百科问答小站 font logo



主动学习(Active learning)算法的原理是什么,有哪些比较具体的应用? 第1页

  

user avatar   wen-wen-eryan 网友的相关建议: 
      

基于不确定性迭代选择标注最有价值样本的方法是主动学习的一个主要分支,代表性的方法如MCDropout,Ensemble,Inconsistent等。这些方法都依赖任务模型预测的分类概率来确定模型对该样本的不确定性。但神经网络模型给出的这个概率并不可靠,因为使用softmax分类器的神经网络并不能识别分布外样本(OOD, out of distribution,it lies many standard deviations away from the observed data.),且网络很容易对OOD样本做出过度自信的预测。

在主动学习的应用场景下,初始阶段使用非常少的标注样本训练模型,意味着大量的未标注样本可能都是OOD样本,若模型过早的给这部分样本一个过度自信的预测概率,使用现有的主动学习策略就可能使我们错失一些有价值的OOD样本。如图1所示,初始训练阶段,模型缺乏虚线框以外的区域的训练数据,但softmax分类器仍然会对这些区域给出很自信的预测,导致选择新的待标注样本时,图中的q点会被忽略,而若q点正好不是class B,则会影响主动学习的性能。

一、NNClassifier

针对这个问题Wan, Fang[1]设计了一个基于最近邻和支持向量的分类器来取代softmax, 使模型能对远离已有训练数据的区域产生较高的不确定性。具体而言,每类训练学习N个支持向量(原文中称为prototype vector),基于样本特征与各类的支持向量之间的距离,就可以定义分类概率,如式(1), 指类c的第n个支持向量,训练过程中随机初始化,使用梯度下降更新;d指欧式距离或者余弦距离; 指高斯核函数。训练的损失函数就逐类用二值交叉熵。

(1)

定义了新的可以意识到OOD样本的分类器之后,作者给出了对应的主动学习策略:1)Rejection confidence, 用于度量远离所有支持向量的样本,如式(2); 2)confusion confidence,如式(3), 用于度量远离支持向量以及同时靠近多个不同类支持向量的样本。

(2)

(3)

最后说下支持向量的问题,一是数量,文中的实验显示就cifar-100规模的数据集而言,每类的支持向量数量等于2就能取到很好的效果。另一个方面,就训练的稳定性而言,NNclassifier在选择高斯核函数和欧式距离时,实际上类似于RBF网络,而初始直接随机化支持向量很可能造成优化的不稳定,针对这个问题下文介绍的DUQ方法通过使用指数滑动平均每个batch里各个类别的特征+W权重映射来稳定RBF网络的训练。

二、RBF network + Gradient Penalty

Amersfoort[2]用RBF神经网络来促使网络具有良好的OOD样本不确定性,同时给出了基于梯度范数的双边正则来削弱特征崩溃(feature collapse)的问题。与NNClassifier相同,本文的作者也定义了一个与各类特征距离的函数K来帮助检测OOD样本,K如式(4),损失函数同样定义成逐类的二值交叉熵。不同于NNClassifier的地方是,这里的距离是每个样本与该类样本的指数滑动平均得到的。

(4)

另一个不同点在于本文加入了一个双边梯度正则项,如式(5)。这个正则项的作用有两个,一个是保证平滑性,也就是相似的输入有相似的输出这个是由max()中的梯度部分保证的,而梯度-1则起到避免特征崩溃的作用,也就是相比单纯的使用特征范数正则,-1能够避免模型将很多不同的输入映射到完全相同的特征,也就是feature collapse。作者给出了,不使用梯度正则,使用单边梯度正则和使用双边梯度正则时,模型不确定性的图示,如图3,可以看到仅使用RBF来表达OOD不确定性时,仍有一部分区域比较奇异,而加入梯度正则之后,则能良好的表示OOD不确定性。

(5).....我愣是没找到知乎公式编辑里梯度的符号,就写grad了

这篇文章另一个很有意思的点在于回顾DUQ对两种不确定性(Epistemic and Aleatoric Uncertainty)的表达上,作者认为DUQ模型还不能很好的区分开这两种不确定性,今年他组又接着发了一篇文章来探讨这个问题,这里就不多介绍了,有兴趣的盆友可以参看[3]。


【1】Wan, Fang, et al. “Nearest Neighbor Classifier Embedded Network for Active Learning.” AAAI, 2021, pp. 10041–10048.

【2】Amersfoort, Joost van, et al. “Uncertainty Estimation Using a Single Deep Deterministic Neural Network.” International Conference on Machine Learning, 2020, pp. 9690–9700.

【3】Mukhoti, Jishnu, et al. “Deterministic Neural Networks with Inductive Biases Capture Epistemic and Aleatoric Uncertainty.” ArXiv: Learning, 2021.




  

相关话题

  是不是并不是所有问题都适合用神经网络预测? 
  关于材料计算,模拟,仿真什么区别? 
  什么是机器学习? 
  让人工智能去下路边街头的象棋残局会赢吗? 
  魔鬼如何在最短时间内抓住天使? 
  如何看待与评价 AAAI 2022 的录用结果? 
  如何看待学霸君的高考机器人 Aidam 高考全国文科数学卷考了 134 分? 
  使用pytorch时,训练集数据太多达到上千万张,Dataloader加载很慢怎么办? 
  用生成模型做数据增强data augmentation时,如何从合成数据中筛选出质量较好的样本? 
  2021 年,深度学习方面取得了哪些关键性进展? 

前一个讨论
Evidential deep learning里一般怎么估计多标签分类的Uncertainty?
下一个讨论
如何评价谷歌提出的 Pix2Seq:将目标检测看成语言建模,效果超过 DETR?





© 2024-06-26 - tinynew.org. All Rights Reserved.
© 2024-06-26 - tinynew.org. 保留所有权利