
arxiv 2023 2月论文,来自谷歌大脑团队,chatGPT大火,也掀起了强化学习的热潮,必然会有大神引入CV领域,没想到这么快论文就来了,效果还很强,期待尽快落地CV pipeline
论文题目
Tuning computer vision models with task rewards
论文地址:
https://arxiv.org/abs/2302.08242
摘要
模型预测和预期使用之间的不一致可能不利于计算机视觉模型的部署,当任务涉及复杂的结构化输出时,问题会加剧,因为设计解决这种不一致的过程变得更加困难。在自然语言处理中,这通常使用强化学习技术来解决,该技术将模型与任务奖励相匹配,我们采用了这种方法,并在多个计算机视觉任务(如物体检测、全景分割、着色和图像字幕)中展示了令人惊讶的有效性,我们相信这种方法具有广泛的应用潜力,可以更好地将模型与各种计算机视觉任务进行匹配。
1. 简介
在处理计算机视觉中的复杂输出时,成功的主要标准不是模型如何优化训练目标,而是预测如何与任务风险保持一致,即模型在预期用途上的性能,为了改善这种一致性,作为一个社区,我们在模型架构、数据、优化、采样程序、后处理等方面进行迭代。例如,在物体检测的背景下,研究人员使用非最大抑制后处理,基于集合的全局损失,甚至改变输入数据,以获得在测试时具有改进行为的模型,尽管这些方法提供了显著的收益,但它们通常对手头的任务和方法高度专门化,而只是间接地针对任务风险进行优化。
这个问题并不新鲜,自然语言处理(NLP)和强化学习(RL)领域已经对其进行了广泛研究,在这些领域中,很难为目标不太明确的任务制定优化目标,例如翻译或摘要。在处理这类问题时,一种流行的方法是学习模仿示例输出,然后进行强化学习,使模型与奖励函数对齐,使用这种方法,NLP领域现在正在产生令人兴奋的结果,这些系统使用大量预训练的语言模型和由人类反馈定义的奖励来处理难以指定的任务,此外,同样的方法也被广泛用于图像字幕任务,其中CIDEr被用作奖励,尽管如此,据我们所知,奖励优化之前还没有针对(非文本)计算机视觉任务进行过探索。
在这项工作中,我们证明了使用REINFORCE调整带有奖励函数的预训练模型可以开箱即用,适用于广泛的计算机视觉任务,我们在图1中说明了我们的一些关键结果,突出了目标检测、全景分割和图像着色的奖励优化带来的定量和定性改进,我们的方法在不同的计算机视觉任务集上的简单性和有效性证明了它的多功能性和适应性。

虽然在这项工作中,我们主要以评估指标的形式使用奖励,但我们相信这些初步结果显示了优化计算机视觉模型的有前途的途径,这些模型具有更复杂和更难指定的奖励,例如人类反馈或整体系统性能。
2. 相关工作
优化计算机视觉指标 在计算机视觉方面有大量的文献,它们设定了优化复杂的不可分解或不可微分指标的目标,在本节中,我们将重点介绍一些突出的工作。Henderson和Ferrari提出了一种专门的方法来计算伪梯度,以优化目标检测的平均精度(AP)度量,Song等人提出了一个计算度量近似梯度的一般框架,在语义图像分割领域,经常使用CRF损失来保证分割掩码的一致性,然而,基于CRF的损失梯度通常难以计算,因此有许多近似或约束CRF变体在文献中提出,相比之下,对于能够进行抽样预测的模型,我们提出了一种通用的方法来优化与任务风险一致或一致的任意奖励。最密切相关的工作之一是Huang等人,他提出了一种在线算法,用神经网络近似任务奖励值,然后,这种可微分的奖励近似被用于优化模型,相比之下,我们建议通过依赖众所周知的对数导数技巧和底层模型对多个预测进行抽样的能力来直接优化奖励函数。
优化文本生成 Ranzato等人通过混合使用MLE和REINFORCE 训练文本模型来优化不可微奖励(BLEU和ROUGE),证明了在配图、翻译和摘要任务上的改进结果,Shen等人还优化了评估指标的翻译,但通过近似样本的后验分布,Rennie等人表明,使用独立模型样本作为基线并优化CIDEr对于图像字幕来说是简单而高效的,Keneshloo等人对文本任务和RL在seq2seq模型中的使用进行了调查,最近,欧阳等人使用了更先进的包含人类反馈的RL技术;Glaese等人将大型语言模型与人类意图对齐。
样本输出的泛化:Ranzato 和Bengio等几篇文章讨论了暴露偏差,即先前令牌在训练和生成之间的分布差异,是导致样本质量低的原因,他们探索的方法包括在训练过程中从模型中取样,Schmidt认为,要解决的根本问题是泛化,而不是暴露偏见,Stahlberg和Byrne指出,即使在使用大光束和精确推理时,翻译模型也会因为认为空句和小句更有可能而失败,细胞核采样旨在缓解采样退化,Leblond等人在一致性评分的辅助下探索了翻译中的不同抽样程序(例如:多语种伯特),Ramesh等人训练了一个模型来从文本生成图像,并使用预先训练的对比模型来过滤与文本不一致的图像,Chen等人训练了一个用于目标检测的生成模型,但该模型的良好性能取决于示例增强和修改的采样程序。
视觉强化学习 许多先前提出的视觉模型也利用强化学习算法来完成视觉任务,它们通常专注于学习一个系统,该系统依次处理图像的各个部分,并对输出进行迭代细化,一个突出的例子是,它学习了一系列图像“瞥见”,从特定区域和迭代框预测中提取视觉特征,对这些类型的目标检测方法和其他视觉任务的广泛概述,我们在很大程度上不同于这些方法,因为我们不改变底层模型架构,而是调优基本愿景模型来优化特定于任务的奖励。
3.用奖励调优模型
在不丧失通用性的情况下,我们将计算机视觉任务描述为学习一个函数,该函数将输入x(在我们的例子中是图像)映射到表示为y = [y1, y1,……, yn](例如文本标记序列,包围框序列,逐像素输出)。我们假设从分布D中抽样的N个训练示例D = {(xi, yi)}Ni=1的数据集可用性,在描述算法时,我们使用粗体x或y来描述一个小批量,我们的目标是学习以θ为参数的条件分布P (y|x, θ),使奖励函数R最大化,它与任务风险一致或紧密对齐,形式上,我们要解决以下优化问题

我们提出的解决上述问题的框架非常简单,包括两个步骤:(1)使用最大似然估计进行模型预训练(2)通过使用REINFORCE算法最大化相关奖励来调整任务风险,我们首先从算法上描述这些步骤,然后讨论所提议的方法背后的直觉和动机。

最大似然pretraining 我们首先使用最大似然原理估计参数θ并捕获训练数据的分布,这可以用梯度下降算法通过最大化训练数据的对数似然ΣNi=1 log P (yi|xi, θ)来实现,算法1和图2描述了MLE优化步骤,这是训练模型最常用的方法。我们将这一步得到的模型称为MLE模型。

强化奖励最大化 为了进一步调整MLE模型以适应任务风险,我们最大化了一个相关的奖励函数,我们利用REINFORCE算法(也被称为“对数-导数技巧”)来估计给定输入x的期望奖励的梯度:

请注意,这个方程右侧的无偏估计可以作为每个示例梯度的平均值计算,并且不需要奖励函数是可微的,为了减少梯度估计的方差,通常从奖励函数中减去基线值b(与考虑的示例无关),在实践中,我们为一个训练输入绘制两个样本输出,用一个来估计梯度,另一个来计算基线奖励b。我们在算法2中提供伪代码,并在图3中说明了过程。


讨论 上面概述的两个优化步骤具有互补的优点和缺点,在实践中,单独使用它们都不足以优化某个任务,但当它们链接在一起时,它们工作得非常好。
第一步,通过条件极大似然估计进行模型训练,这是机器学习中研究最多、理解最透彻的方法之一,现在有非常强大和有效的概率模型,例如变压器编码器-解码器模型,可以用MLE训练,可以捕获非常复杂的数据分布,然而,这些类型的模型有一个关键的缺点,虽然它们可以很好地捕获训练和测试数据的分布,但它们不知道实际的任务风险,并且可能在预期的使用中表现得不够好。
因此,我们利用REINFORCE算法进一步优化MLE模型,以优化与任务风险相关的任意奖励函数,最重要的是,只提供奖励的数值就足够了,不需要对奖励函数有任何要求,比如可微分,或者能够在计算机上运行(例如,可以使用用户反馈作为奖励),请注意,在我们探索的计算机视觉任务中从头开始使用REINFORCE很可能是不可行的,因为输出空间大,奖励稀疏,然而,通过使用预训练的MLE模型,我们有一个很好的初始抽样策略,只需要相对较少的优化步骤,就可以快速优化奖励函数。
4. 实际应用
在本节中,我们将展示所述方法的几个应用程序,以优化视觉任务的模型,在大多数情况下,我们使用带有ViT编码器的编码器-解码器架构来处理图像,并使用自回归Transformer解码器来建模输出分布,我们首先使用最大似然估计对模型进行预训练,然后使用任务奖励对其进行调整,对于这两个步骤,我们使用翟等人引入的Adafactor的变体作为优化器,并在推理时贪婪地采样以报告结果。
同样重要的是要记住,尽管在本节中我们将现有的验证指标视为任务风险,但在实际场景中,它们可能有很大差异,在这种情况下,人们可能需要对模型进行进一步验证,或者在奖励设计上进行迭代,以保证在预期使用情况下提高性能,总的来说,我们的目标是证明奖励优化是提高计算机视觉模型性能的合适和通用的方法。
4.1. 全景分割
全景分割任务可以被视为实例分割和语义分割的聚合,并且需要一个模型来产生一致的场景分割,通过为像素分配标签和实例id。在相关文献中常用的度量是Panoptic Quality (PQ),PQ被设计用来捕获预测和度量的完整性和细节,它被计算为匹配实例(TP)的平均IoU的类内平均值,同时对额外的预测实例(FP)和错过的ground truth实例(FN)进行惩罚:

MLE pretraining 我们使用UViM全景模型作为我们的MLE预训练基线。UViM采用ViT-L/16编码器512×512分辨率和24层自回归解码器,解码器输出是一个256个离散序列,包含4k个可能的令牌,然后可以由UViM阶段I模型解码成512×512的全景输出,在COCO全景数据集上使用MLE对模型进行训练。
调优PQ PQ计算不能分解为每个示例奖励的和,在一个例子中,我们选择使用一个奖励,即匹配的IoUs和负权重w = 0.3到不匹配的预测实例:

我们使用REINFORCE规则来调整MLE模型来获得这个奖励,在热身4k步后,批次大小为128,30k步,恒定的学习率10−6,我们观察到外调优过程显著改善了MLE模型(见表1),我们的视觉检查表明,调优模型在避免不连贯预测方面更好,特别是对于小尺度物体,参见1作为例子。

请注意,这里的任务相当具有挑战性,因为我们正在优化一个模型,以对一个离散序列进行采样,而复杂的奖励函数几乎没有反馈,模型输出(256长度的离散序列)的奖励(一个标量)通过使用神经网络将序列解码为512×512每像素的全景输出,然后将其与真值进行比较,以近似每个示例的pq值。
4.2. 目标检测
在目标检测任务中,目标是预测输入图像中物体(例如椅子或钢笔)的紧密包围框,由于输出的复杂性,这项任务是出了名的困难,过去已经提出了许多不同的方法,各有优缺点,一组技术预测了大量冗余的盒子集合,然后在测试时应用专门的后处理(非最大抑制),Carion等人提出的另一种方法,依赖于训练过程中基于集合的全局损失,最后,Pix2seq提出使用生成模型来直接为编码为离散值序列(离散盒坐标和语义类标签)的训练数据的可能性建模,所有这些方法的一个共同缺点是,它们没有提供一种明确的方法来获得与任务风险一致的模型,而是依赖于隐式调节对象检测模型属性的设计选择,例如,Faster-RCNN模型使用两阶段盒预测方法来更好地平衡正负样本。
类似地,retinanet利用焦损来达到同样的效果,另一方面,Pix2seq通过抖动ground-truth方框并添加“假”方框来欺骗预测模型,使其输出更多的对象边界方框,从而改变训练数据,相反,在我们的实验中,我们使用特定于检测的奖励来优化检测数据可能性模型(类似于Pix2seq的基本模型)。重要的是,这绕过了采用专门的启发式方法来优化标准度量的需要,我们将一组包围框表示为一个离散序列,方法是将坐标离散到1000个桶中,再加上一个标记用于类标签,一个标记用于每个盒子的预测置信度,我们使用标准的ViT-B/16作为图像编码器和6层自回归Transformer解码器(配置与ViT-B型号相同),按照我们的方法,我们预训练一个MLE模型,然后用召回和mAP奖励来调整它
MLE pretraining 按照标准做法,我们在Objects365数据集上预训练模型,并在COCO数据集上进一步微调,该模型在Objects365数据集上预训练400k步,使用256个批处理大小,学习率为0.001和0.00005权重衰减。对于最初的20k步,我们线性地升温学习速率,然后使用余弦计划将其衰减为零,然后,我们在COCO上对模型进行微调,使用更小的学习率10−4,没有权重衰减,共10k步。采用1k热身步的余弦学习率计划,我们使用640×640分辨率进行Objects365预训练,使用1280×1280分辨率进行COCO微调,得到的MLE模型在recall@100上的平均得分为54.1%,在COCO上的mAP得分为40.2。
调优用于recall 平均召回率@ N是一种用于评估对象检测模型的流行指标,预计与检索应用程序的使用相关,该指标计算与预测框之一匹配(在某个IoU阈值处)的基本真相中对象实例的百分比,每个图像最多允许N个预测,对每个Iou阈值和语义类的召回率进行独立计算,然后平均,我们的重复图像回忆奖励的实现是,匹配的真实盒子的数量减去“重复盒子”的数量(已经匹配到一个已经匹配的真实盒子的盒子),倍增器为0.3。
我们调整了我们的MLE模型,以优化100k步的回忆奖励,且学习速率恒定为10−6,表2展示了得到的模型成功地优化了平均度量,将其值从54.4%提高到68.4%。

Tuning for mean average precision 平均平均精度(mAP)是基于与给定IoU阈值匹配的每个类别的预测实例的精度召回曲线下的面积的度量,除了生成一组预测框外,模型还必须用置信度分数注释每个预测,以便对曲线中的项目进行排名,这些差异编码了不同于回忆的任务风险,例如,在这个定义下,一个模型如果在一个对象周围有多个边界框就会受到惩罚。
难点在于这个指标不能分解成每个例子奖励的总和,我们通过注意mAP指标与召回率的良好相关性来克服这一问题,假设预测模型在对结果框进行排名时表现良好。为了学习盒子置信度,我们使用监督损失来学习样本输出的预期IoU分数加上前一节中定义的召回奖励,我们还通过计算不同IoU范围内的值(并平均它们)以及根据训练集中观察到的频率对每个类别进行加权来改善奖励。
在表2中,我们确认通过优化提议的奖励,我们极大地提高了原始MLE模型的mAP分数,从39.2%提高到54.3%。在Pix2seq (Chen et al, 2022)中,相同大小的ViT-B模型具有略大的1333×1333分辨率和许多启发式达到47.1%,在Pix2seq中报告的最佳对象检测结果为50.0%,当使用更大的ViT-L骨干时,我们强大的ViT-B结果清楚地证明了所提议的任务奖励调优的前景。
4.3. Colorization
着色任务被描述为为灰度图像添加颜色,标准图像着色模型是通过优化大型图像数据集的似然来学习的,这种模型产生了看似合理的图像着色,但经常产生褪色的颜色,在现实中,着色模型的用户可能希望生成生动的图像,使用我们的方法,我们演示了MLE着色模型可以调优,以产生更具视觉吸引力的彩*图色**像。
MLE pretraining 与泛视任务类似,我们使用UViM着色作为MLE模型,它是一个ViT-L/16编码器512×512分辨率的图像和一个24层自回归解码器,解码器输出是一个256个离散序列,然后可以由UViM阶段I模型解码成512×512图像,在ImageNet上使用MLE训练模型。
Tuning for “colorfulness” 我们设计了一个自定义奖励,以促进“丰富多彩”,特别地,奖励是两个项的乘积,这两个项是从输入图像转换为Lab颜色空间得来的,在这个颜色空间中,L通道编码“亮度”,而a和b通道编码颜色,我们奖励的第一项不鼓励使用灰色,它被定义为图像像素中具有足够“生动色彩”的部分,其中生动色彩定义为a2+b2 > 10,我们奖励的第二项是促进颜色多样性,它被定义为色相值的图像级熵,用arctan(b a)计算色相,请注意,为了计算熵,我们将色相离散为7个离散值,在定义色相值的范围内均匀分布bins。
我们使用3·10−7的恒定学习速率对MLE模型进行1 k步的奖励,由于这一调整步骤,第一个奖励项从0.46增长到0.97,这表明绝大多数预测的颜色变得更加生动,第二个奖励项,色相熵,从1.03增长到1.84,表明预测颜色的多样性要大得多,我们在图4中给出的定性结果清楚地表明,新模型始终能产生更丰富多彩的图像。

4.4. 图像字幕
图像字幕是指为给定图像生成文本描述的任务,CIDEr是一种流行的自动化指标,它基于一组人工编写的参考图片标题的共识来衡量标题质量,具体来说,它针对多个参考文献标题测量n-gram相似性,并考虑到整个数据集的统计数据,这样在所有标题中出现频率更高的单词的权重就会更低,因为它们可能被认为信息量更少,如前所述,使用REINFORCE来优化CIDEr奖励是图像字幕中的既定技术,为了完整性,我们将其包含在这项工作中。
MLE pretraining 我们在COCO字幕上预训练一个编码器-解码器Transformer模型,我们从Steiner等人提供的ImageNet21k模型初始化ViT编码器,对于解码器,我们随机初始化一个6层自回归解码器,此外,我们使用BERT30k词汇表将文本表示为128个标记的离散序列,我们用批量大小256预训练5k步,使用1k步线性预热,然后用学习速率3·10−4和编码器参数小10倍的余弦计划,我们使用两种设置进行实验:ViT-B/16 and ViT-L/16都使用相同的超参数。
Tuning for CIDEr 与之前的工作一样,我们使用CIDEr直接作为奖励,使用训练集来计算n-gram权重的统计数据,在这种情况下,我们使用另外7个样本来估计奖励基线,我们优化批处理大小为256的10k步,1k线性预热和恒定的学习率10−5,编码器参数的学习率为10倍,作为参考,我们包括Wang et al最近的两项工作;Hu等人也利用了CIDEr优化和最近的架构,表3中的结果表明,应用所提出的方法对MLE模型进行了改进,与先前文献中的观察结果一致,证明了针对特定任务风险进行调优的有效性。

5. 分析
5.1. 奖励分配
在这里,我们分析了图像配图示例中模型的奖励,我们比较了MLE模型(之前)和奖励调整模型(之后)的直接样本,我们从每个模型中抽取10000个预测样本,并使用图5a中每个样本分位数函数的平均值绘制它们的奖励,该图曲线下的面积给出了预期的奖励,并显示了模型的明显改进:超过50%的调优模型样本的期望奖励高于125,然而对于MLE模型,只有不到5%的样本达到了相同的标准,还要注意,在前1%的tile中,MLE模型能够产生非常高的奖励:这表明MLE模型能够产生高质量的预测,然而,由于我们无法在测试时选择最佳样本,我们无法从中受益。

为了证明这一点,我们还举例说明,对于数据集中的每个示例,(1)图5b中N个样本中奖励最高的预测,(2)图5c中N个预测中可能性最高的样本,我们汇总了这两个统计数据的交叉数据集平均值,并将它们与每个示例N所采集的样本数量绘制在一起。
从图5b可以看出,在一个较大的样本池中,在100以上,MLE模型池中存在更好的样本,然而,为了从这一事实中受益,人们需要一个有效的策略来选择表现最好的样本,图5c显示了当我们使用最大似然(例如贪婪,顶部k,核心抽样)来选择样本时发生的情况:随着样本N的增加,我们确实看到MLE模型在贪婪/核心期望下的性能有了显著提升,但最终即使在N = 10000时,性能也比奖励调优模型差得多。
5.2. Reward-Risk progression
为了将任务风险转换为奖励函数,我们通常需要将针对一组示例计算的度量分解为每个示例的奖励,这可能会导致每个例子奖励和指标的进展出现不可取的分歧,为了验证这是否是经验上的情况,我们在图6中绘制了目标检测和全景分割训练过程中奖励和目标指标的进展,我们观察到奖励和指标之间没有显著差异。

此外,在图6 (a)中,我们观察到对象检测的mAP分数在前20k步中迅速上升,即从40.2%上升到52.3%,随着奖励调整时间的延长,该指标会不断上升,在40 k步时达到52.7%,在60 k步时达到53.2%。
6. 讨论与局限性
Reward hacking 我们的工作显示了优化一个模型的可行性,奖励超出标准MLE,然而,重要的是要注意,并不能保证给定的奖励功能会改善预期的使用情况,相反,该模型可能会利用奖励定义中的弱点,在验证模型时考虑到这一点是至关重要的,这么说,我们认为我们展示的基于rl的方法打开了不同形式奖励的可能性,释放了在训练计算机视觉模型时使用真实风险或人类反馈的潜力,我们相信这将导致当前领域的巨大进步。
奖励的设计 在这项工作中,我们主要使用基于现有评估指标的简单奖励,然而,还有更多的选择,包括基于过滤器的组合,输入输出检查,模拟检查,使用预训练的模型来检测不希望的输出或使模型更接近初始分布,熵来鼓励多样性和探索,或使用现实世界或人类反馈。
另一件需要记住的事情是,奖励不需要像任务风险一样精确,替代函数可能更容易获得、控制或优化,例如,如果奖励比稀疏风险值提供更多指导,我们把在计算机视觉任务中的探索留给未来的工作。
先进的RL技术 提出的方法与热身和恒定的学习率设置足以跨越探索的应用程序,因此,我们认为没有必要增加正规化来保持接近原始政策,鼓励探索或尝试减少奖励呼叫或模型更新的数量,我们认为,这种有效性的部分原因是mle预训练的初始化,使模型避免了简单技术的潜在问题,尽管这可能不适用于更复杂的设置,但我们鼓励在其他类似的应用程序中尝试简单的方法。
模拟学习的数据 单独的mle训练是否也能更好地与任务目标保持一致?这个问题是这项工作的动机之一,尽管我们希望有更多的数据来帮助MLE模型模拟真实情况,但我们发现很难知道应该收集哪些数据,或者如何增强数据以对任务风险产生特定的对齐效果,通过调优一个模型,我们通过优化一个模型来避免不期望的输出来获得这种效果,由于MLE模型分配高似然值的不期望输出空间很难预测,因此观察模型的实际运行并关注模型误分配高似然值的示例是至关重要的。
训练成本 有两个主要的成本需要考虑:模型采样成本和对奖励函数的查询次数,众所周知,对自回归模型进行采样比计算给定序列的可能性要昂贵得多,这是由于难以有效地利用硬件,而不是由于失败数量的增加,但是请注意,此成本仍然与推理使用成比例,此外,所提出的方法只需要一个模型,其中样本的可能性可以用梯度优化,它并不依赖于模型是自动回归的,尽管这可能是对复杂分布建模的一个重要部分,对于更复杂的应用程序,对奖励函数的查询数量可能是一个更大的问题,在这种情况下,探索非策略RL技术和用价值网络近似目标奖励是值得的。
7. 结论
我们的工作表明,奖励优化是优化各种计算机视觉任务的可行选项,使用简单的预训练方法来模仿真值,然后进行奖励优化,我们能够:(a)在没有其他特定任务组件的情况下,将目标检测和全景分割训练的模型提高到与通过巧妙操纵数据、架构和损失获得的模型相当的水平;(b)定性地影响着色模型的结果,以与创建生动和丰富多彩的图像的目标相一致;(c)表明简单的方法在配字幕方面与最近的作品具有竞争力。我们相信,这些结果证明了对模型如何调整非平凡任务风险进行更精确控制的可能性,我们期待着更有挑战性的用例,例如调整机器人抓取的场景理解输出,其中可以优化感知模型以获得成功抓取的概率。