Taguchi Y, Hino H, Kameyama K. Pre-Training Acquisition Functions by Deep Reinforcement Learning for Fixed Budget Active Learning[J]. Neural Processing Letters, 2021: 1-18.
摘要
本文针对基于池的主动学习问题,提出了一种新的主动学习算法。该方法利用预先训练好的采集函数进行主动学习,当可采集的数据数量固定时,可以获得最大的性能。该方法使用基于深度神经网络的强化学习作为针对固定预算情况定制的预训练获取函数。
介绍
设计采集功能的最佳策略因上下文而异。在大多数传统的主动学习方法中,在整个学习过程中使用固定的单一选择标准,并且所选择的数据可能包括异常值和其他降低模型性能的样本。比如说该方法可以选择判别边界上的异常值。就是说这些采样策略是数据集相关的,换个数据集性能会有改变。
假设我们想学习一个预算预先确定的预测模型,在这种情况下,如果我们以在预算范围内考虑数据采集顺序或上下文的方式获取标记数据,则应获得更好的模型。贡献如下:
我们解决了学习适用于固定预算主动学习问题的获取函数的问题。最近关于主动学习的研究主要集中在数据驱动的采集功能设计上,但据作者所知,针对固定预算情况定制的采集功能尚未研究。
为了实现对固定预算获取函数的学习,我们使用了强化学习。特别是,我们采用了DQN和采集功能,该功能在主动学习的操作阶段之前进行了培训。通过使用强化学习,获取功能的训练是选择合适的样本,其中可用样本数是固定的。
相关工作
在大多数文献中,用于从池数据中选择数据的标准不会因环境或上下文而改变。因此,如果该标准不适合学习模型或池数据的当前状态,则所选数据集将不会如预期那样改进预测模型。
最近的一些研究采用了元主动学习方法,其目的是从数据集中学习主动学习的采样策略。
虽然在本文中我们主要关注分类设置,但我们的方法同时适用于分类和回归设置。在本研究中,我们提出了一种通过使用深度Q网络和其他领域的数据集预训练主动学习的获取函数的方法。该方法使我们能够根据预测模型学习过程的上下文选择要注释的数据。
对于预测模型,我们采用随机森林,它可以在统一的框架内实现多分类和回归问题,并且从训练后的模型中提取不同类型的特征是很容易的,其他预测模型可以插入到我们的方法中。
我们注意到,即使是深度学习模型也可以用于主动学习中的分类,但其假设空间太大,并且在应用于主动学习时有其自身的困难。
在本研究中,我们考虑了固定预算制度,并考虑了这种情况下的最优习得函数,这是现有的主动学习学习功能的主要区别。我们注意到,在某些情况下,我们运行的主动学习算法没有明确的数据注释限制或预算。在这种情况下,我们会遇到另一个问题,即何时停止学习。关于主动学习的最佳停止时间,已有几项研究。在主动学习的文献中只有很少的作品,其中明确地考虑了预算[7,13],其中作者导出了基于预算意识的基于流的主动学习,其不考虑从数据中学习习得功能。
强化学习
DQN用于解释明确涉及时间的动态现象。连续数据采集过程对应于“时间”的概念,DQN在主动学习的学习采集功能的文献中表现良好。
传统Q-学习和DQN之间的最大区别在于,传统Q-学习将状态和动作视为离散值,而DQN将状态和动作视为连续值。
方法
该框架类似于[28](Konyushkova K, Sznitman R, Fua P (2017) Learning active learning from data. In: NIPS),该框架考虑了当数据添加到训练集中时预测模型的损失减少,并通过使用其他领域的数据集来学习一个预测器预测其损失的减少。
学习采样功能将提高主动学习的性能。然而,主动学习通常是在缺乏数据的情况下使用的,我们不能期望用少量数据学习的采样函数能够很好地推广。本文中,我们使用从其他领域收集或人工生成的大量数据集来学习采集功能。
State:表示预测模型和描述训练数据的参数(回归系数、与池中其他数据的平均距离)。
Action:决定选择哪个数据的参数(c.f. 当前预测模型的预测值的不确定性)
通过设计这样的state和action,我们可以学习一个Q函数,该函数通过选择给定当前预测模型和池数据(状态)的未标记数据(操作),预测测试损失减少量(奖励)。
一旦获得Q函数,就可以选择在向训练数据中添加一定数量的数据时最大程度地减少测试损失的数据。
这里应该是通过减少预测模型的损失来作为奖励reward训练DQN,因为是在给定的一个预算内进行的训练,所以就有一个固定的衡量指标,学习采样网络。但是这样的话可能就是只选择了最好用的那些数据,对于类平衡并没有很好的考虑,或者说这里的类平衡的优化就取决于它的loss的选择了,如果是所有类的平均loss就不会那么好,如果是分别的loss就是好的。
State,action和reward的设计
实现DQN,本文将state和action作为DQN的输入和输出。我们首先定义state,即从预测模型和注释数据集中提取的特征向量。然后定义学习者的action,该action与主动学习的获取功能方面的数据选择策略相对应。最后,某个动作的reward定义为通过添加学习者选择的带注释的数据来提高准确性的量。
对于这三个的设计有很多不同可能性,这些设计的适当性取决于数据集、预测模型、预算和许多其他因素,而设计的优化是一个悬而未决的问题。
State设计
State的设计应该由能够反映当前学习模型的性能和结构的参数组成。在[28]中,经验表明,简单的特征,如分类器输出的方差或合成数据上特定数据点可能标签上的预测概率分布,对于训练采集函数是有效的。
以前的框架采用了任意预测模型,这里我们采用了random forest。我们采用OOB精度作为采集函数的特征之一,因为它对于表示预测模型的性能非常有用。用作预测模型的随机林执行随机抽样,替换给定数据集k次。未采样的数据子集称为out-of-bag(OOB)样本,用于评估预测模型的泛化性能。
在随机森林中,我们对弱学习者使用决策树。决策树将特征空间划分为多个区域,并根据输入特征所属的区域确定输出。决策树中划分区域数和划分数的平均值如下所示:
其中,NTi是第i棵树中的终端区域数,NSi是k棵决策树中第i棵树中的分割数。在决策树的结束区域之前进行分割时,高于和低于阈值的区域数的平均值用等式表示。(6)和(8)。
这里,Γie是使用第i个样本Φi构造的决策树h(·;Φi)中紧靠结束区域之前的第e个区域,其中τie表示决策树的第e个区域中分裂的阈值。Ni表示决策树中紧靠结束区域之前的区域数(·;Φi)。
这些值被认为有助于表征内在数据结构,并用作采集功能的特征。
最后,通过以下方式连接上述特征来定义状态向量s:
这里就是通过连接一系列被认为是可以表征模型的向量组成状态s,我理解的是这些向量的选取都是人为依靠经验选择的,是否真的有用或者有多大的用处并不清楚。
action设计
在所提出的方法中,数据选择对应于强化学习过程中的动作action。在本研究中,action是使用现有主动学习方法中使用的指标设计的。本文结合不确定性抽样(US)[30]和预测方差[1],以提高性能。结合其他用于主动学习的指标也是可以的,也带着计算量的增加。在所提出的方法中,确定action value,以便在特定状态下使奖励最大化。然后,从池数据集中,我们选择最接近该最佳操作的数据,并为其标记。
该方法利用预先训练好的DQN,将判别后验概率和方差作为特征向量输出,以表征理想行为。为池中的每个基准计算动作向量,选择并标记最接近理想动作的动作向量。
Reward设计
我们将即时奖励定义为通过向预测模型添加一个新的训练样本(x,y)而获得的准确性增加的数量。也就是说,
所提方法的优点
因为q学习中的奖励是每个决策的即时奖励的累加和,所以学习获得函数考虑了上下文,即在可获得的训练数据的最大数量是固定的情况下的数据获取情况。另外,输出行为(被认为是最优的)可以与任何现有方法的标准结合使用,因此,该方法的状态设计具有很高的灵活性。