MetricOpt: Learning to Optimize Black-Box Evaluation Metrics
Apr 2021
CVPR 2021 (Oral)
Chen Huang, Shuangfei Zhai, Pengsheng Guo, Josh Susskind
[Apple Inc]
https://arxiv.org/abs/2104.10631
https://openaccess.thecvf.com/content/CVPR2021/papers/Huang_MetricOpt_Learning_To_Optimize_Black-Box_Evaluation_Metrics_CVPR_2021_paper.pdf
我们研究了直接优化任意不可微任务评估指标(如误分类率和召回率)的问题。我们的方法名为MetricOpt,在目标度量的计算细节未知的黑盒设置中运行。我们通过学习可微值函数来实现这一点,该函数将紧凑的任务特定模型参数映射到度量观察值。学习值函数很容易插入现有的优化器,如SGD和Adam,并且对于快速微调预训练的模型非常有效。这导致了一致的改进,因为值函数在微调期间提供了有效的度量监督,并有助于纠正仅损失监督的潜在偏差。MetricOpt在(图像)分类、图像检索和对象检测的各种指标上实现了最先进的性能。与竞争性方法相比,通常涉及复杂的损失设计或适应,可以找到坚实的优势。MetricOpt也很好地推广到新的任务和模型架构。

1.引言
在现实世界的视觉应用中,机器学习模型通常基于各种复杂的评估指标进行评估。例如,可以使用错误分类率(MCR)来评估分类模型,并使用召回来评估排名模型。其中许多度量是非连续的、不可微的或不可分解的,这对直接度量优化提出了挑战,因为难以获得信息梯度(例如,MCR几乎处处为零)。在其他情况下,黑箱度量函数的计算细节可能未知。因此,它的真实梯度是不可接近的,这进一步增加了度量优化的挑战。
作为一种常见的实践,人们通常依赖于替代可微损失,这可以很容易地通过随机梯度下降(SGD)进行优化。一个例子是分类问题中广泛使用的交叉熵损失[16]。虽然交叉熵损失可以被视为MCR的平滑放松,但这种损失并不能很好地替代召回等其他指标。当损失与目标度量不匹配时,可获得较差的性能[24]。最先进的方法遵循两种主要范式来解决这种损失度量失配问题。一种是引入更好的度量对齐替代损失,例如AUCPR损失[10]。这些手工设计的损失不仅需要繁琐的人工工作和白盒度量公式,而且往往是特定于给定度量的。另一个范例是学习松弛或内插替代空间[17,24,25,30]中的自适应损失,与原始空间中的优化相比,这本质上是次优的。
在本文中,我们建议直接调整基于梯度的优化过程来优化黑盒度量,而不知道度量函数的任何细节。为此,我们首先元学习一个可微值函数,以沿着优化轨迹对度量观测进行建模。我们专注于模型微调设置,它可以提供有意义的指标来学习我们的价值函数。一旦学习,值函数可以提供有用的度量监督,包括近似度量梯度,以增加替代损失梯度。因此,我们可以使用value函数来微调一个新模型,该模型已经使用任何给定的替代损失进行了预训练。图1说明了高级思想。直观地说,价值函数被训练为对仅由损失驱动的优化轨迹进行有意义的调整,从而在度量环境中得出纠正方向。
在实践中,我们通过轻量级网络对值函数进行参数化,以实现快速训练和推理速度。输入是一组调整预训练模型的适配器参数。这种紧凑的参数化已被证明足以实现任务专用化[52],并消除了我们对整个网络进行微调的需要。我们使用增强的序数回归目标来计算我们的价值函数,该目标具有不确定性意识,以避免过度自信的度量估计。然后我们表明,将我们的价值函数应用于现成的优化器(如SGD和Adam[26])以及学习的优化器是很简单的。
结果表明,MetricOpt方法在(图像)分类、图像检索和对象检测的任务中一致地改进了不同的评估指标。MetricOpt不仅基于强大的替代损失(手动设计或自适应学习)优于现有方法,而且作为一种快速微调方法,其速度优势通常不超过数千个调整步骤。此外,MetricOpt很好地推广到新任务,例如,从CIFAR-10[28]到ImageNet[7]分类。我们的贡献总结如下:
•我们引入了一个可微值函数来建模黑盒评估度量。
•我们表明,价值函数可轻松插入现有优化器,从而实现快速微调方法。
•我们展示了MetricOpt在不同替代损失上的持续改进,而无需繁琐的损失工程,在各种任务和指标上实现了最先进的性能,并推广到非分布任务和模型架构。
2.相关工作
优化评估指标
由于大多数现实评估度量的不可微分性质,大量替代损失函数被提出作为平滑度量松弛。示例包括IoU度量的AUCPR损失[10]、成对AUROC损失[40]、Lovasz Softmax´损失[3]和F度量的成本敏感分类[39]。为了消除设计这些度量近似损失的人工努力,最近有一种推动学习它们的方法[49,50]。然而,损失学习仍然基于度量松弛方案,而我们的重点是用于优化的直接度量表示。直接度量优化的现有选项是相应地调整模型阈值的后移位方法[27,35],以及嵌入真实度量作为优化校正项的直接损失最小化方法[19,45]。它们的共同限制是要求评估度量以封闭形式可用。最近的一些工作旨在优化黑盒度量,从学习自适应损失[17,24,25,30]到学习自适应示例权重[51]。然而,这些方法可能是次优的,因为它们在宽松的替代空间中工作或使用预定义的加权方案。相比之下,我们学习直接建模黑盒度量,这反过来可以适应优化过程。
计算机视觉度量通常被定义为基于等级的度量,例如用于图像检索的召回,以及用于对象检测和特征匹配的平均精度(AP)等。先前的工作通过直方图分仓近似[4,20,21]和梯度近似[23,34,45]来实现AP度量优化。虽然这些工作主要关注AP松弛,但我们在学习原始度量的快速通用函数近似方面有所不同。已经提出了其他技术来学习使用大型LSTM的排名操作[11],或使用错误驱动的更新来优化AP损失[5],但都存在效率低的问题。最近,黑盒微分[43]用于排名函数的有效插值。与我们的工作更相似的是深度嵌入方法[37],其中交替学习模型和嵌入空间,使得嵌入预测和地面真相之间的欧几里得距离接近度量值。本文引入了一个值函数来直接回归度量。价值函数可以单独学习和部署,快速运行和推广。
元学习
元学习的目标是从相似任务的分布中推断学习策略,这有助于从相同的分布中高效地学习新任务。先前的工作通过学习良好的初始化[13,36,52]、预处理矩阵[14]或数学更新方程[2]来解决这个问题。我们使用高效的Reptile算法[36]以在线方式元学习值函数的初始化。
值函数近似
许多强化学习(RL)方法需要值函数近似来估计动作值,以便快速决策。流行的非政策行动者-批评家方法[15,18]就是这样的例子。他们的批评者使用一个可微函数逼近器来提供损失,从而指导行为者更新其行动政策。RL中“值函数”的概念与将参数损失学习为优化领域中的度量逼近器[24,17]的想法相关,以提供一些代理梯度。在这里,我们直接学习到评估度量的可微映射,绕过了损失函数工程的繁琐步骤
5.结论
我们提出了一种使用可微值函数优化黑盒评估度量的新方法。值函数是元学习的,以提供关于度量的有用监督或梯度,以增加任何用户指定的损失。我们表明,将值函数应用于现有的基于梯度的优化优化器是很容易的,这在给定的损失上持续改进。由此产生的MetricOpt方法是有效的,并在各种指标中实现了最先进的性能。MetricOpt还可以很好地概括任务和模型架构。
网友评论