于是,问题落在如何推断U和V这两个权重隐变量集合身上。容易看出U和V要联合推断,而如何选择U和V则由每个训练实例的经验损失以及其对于各自的控制函数(f_SS, f_AL)决定。f_SS的具体解释可以参考自步课程学习(self-paced curriculum learning),简单的理解就是优先选择训练损失较小的样本进行学习,这表现为训练损失越小赋予的权重越大。随着lambda变大(优化过程中,lambda和gamma都会逐渐变大),训练会开始接纳具有更大训练误差的样本。f_AL相反,主动学习一开始会从训练误差较大的样本(样本误差比较小的会被置零,从而被选择为自监督过程并且得到自动标注)中选择并进行人工标注。随着gamma增大,主动学习会开始接纳更小的误差的样本。
模型函数 f_SS代表了一种贪心的自监督的策略。它大大地节省了人工标注量,但是对于累计预测误差造成的语义恶化无能为力。并且,f_SS极大依赖于初始参数 W。由于模型函数 f_AL存在,我们可以有效地克服这些缺点。f_AL选择样本给用户进行后处理,通过f_AL获得的人工标注被认为是可靠的,这种过程应该持续到训练结束。值得一提的是,通过 f_SS进行的伪标注只有在训练迭代中是可靠的,并且应该被适当的调整来引导每个阶段更鲁棒的网络参数的学习。实际上,f_SS和f_AL是同时作用与每一个样本的,这会等价于一个minimax的优化问题。
另一方面,U和V在推断时需要考虑前一阶段已经由主动学习中的人手工标记好的信息。我们利用之前的人手工标记好的信息,定义了两个基于U和V的取值约束,称为“对偶课程”(Dual Curricula)。该约束项将被自主学习选过的训练样本,如该样本属于m个类别之中的一类,我们将其为u和v值设定为1;如该样本不在m个类别之中,我们将其u和v值设定为0。这意味着我们的训练框架可以容纳新类别的发掘,同时不会让新类别影响检测器的训练。V^{\lambda}_{i}和U^^{\lambda}_{i}只基于之前AL选择后的结果分别对u和v值进行约束。
形象来说,我们采用两套不同的样本挖掘方案策略函数:一个用于高置信度样本的自动伪标注模式,另一组用于低置信度样本的人工标注模式。我们进一步地引入了动态选择函数,以无缝地确定上述哪个阶段用于更新未标注样本的标签。在这种方式下,我们的自监督过程和主动学习过程可以相互协作和无缝切换,进行样本挖掘。此外,自监督的过程还考虑了主动学习过程的指导和反馈,使其更适合大规模下物体检测的需要。具体来说,我们引进两个课程:自监督学习课程 (Self-Supervised learning Curriculum, SSC) 和主动学习课程 (Active Learning Curriculum, ALC)。SSC 用于表示一组具有高预测置信度,能控制对无标签样本的自动伪标注,而 ALC 用于表示很具有代表性,适合约束需要人工标注的样本。值得注意的是,在训练阶段,SSC 以逐渐从简单到复杂的方式,选择伪标签样本进行网络再训练。相比之下,ALC 间歇地将人工标注的样本,按照从复杂到简单的方式,添加到训练中。因此,我们认为 SSC 和 ALC 是对偶课程,彼此互补。通过主动学习过程来更新,这两个对偶课程能够有效地指导两种完全不同的学习模式,来挖掘海量无标签样本。使得我们的模型在提高了分类器对噪声样本或离群点的鲁棒性同时,也提高了检测的精度。