你可能听过这样一句话:某个新算法在论文里打败了所有基线方法。
但如果我告诉你,只要稍微调一下超参数,排名就能彻底颠倒,你会不会开始怀疑那些排行榜的可信度?
这正是华盛顿大学和微软的研究团队在一篇新论文里揭示的事实。他们训练了超过16万个策略模型,花费近百万GPU小时,得出一个让整个离线策略学习领域有点尴尬的结论:没有哪个算法能一直赢。
**先搞清楚我们在说什么**
离线策略学习*:不需要和环境实时交互,直接从已经收集好的历史数据中学习怎么做决策的技术,常用于机器人控制、自动驾驶模拟等场景。
这个领域里有两条分支。一条叫离线强化学习,靠带奖励标签的数据训练;另一条叫模仿学习,直接学习别人是怎么做的,不需要奖励信号。两者共享同一个核心难题:如何用一堆固定不变的历史数据,训练出一个靠谱的决策模型。
听起来像是个纯粹的技术问题,对吧?但研究团队发现,真正决定一个算法看起来强不强的,往往不是算法本身,而是你怎么测试它。
这就好比两家餐厅比赛谁家的菜更好吃,但评委只尝了一道菜,而且这道菜还是厨师自己随便做的,没有按照拿手菜谱来。换一道菜,换一个评委,结果可能完全不同。
**算法排名为什么会"翻车"**
这篇论文的第一个重磅发现,藏在一张图里。
研究者拿了Minari(一个开源的离线强化学习数据集平台,由Farama基金会维护,是D4RL基准的后继者)上49个数据集,用原始论文作者推荐的超参数跑了一遍几个经典算法,又用自己精心调优的版本跑了一遍。
结果是什么?
IQL算法原本排名落后于BCQ算法,经过认真调参后直接反超。
这不是一次巧合的波动,而是系统性的现象。论文里提到的ReBRAC算法提升了0.23分,IQL提升了0.32分,几乎所有算法在调参后都有显著提升,提升幅度从0.04到0.32不等。
如果你只是在论文里随手复制别人报告的分数来证明自己的新方法更强,那你很可能是在拿一个没睡醒的选手和一个全力冲刺的选手比赛。
超参数*:训练模型时需要人工设定的参数,比如学习率、网络层数等,它们不是模型自己学出来的,而是研究者事先配置好的"调料配方"。
这里有个问题值得深思:如果连基础的超参数调整都能让排名反转,那过去发表的无数"我的算法比你强"的论文结论,到底有多少是建立在不公平的比较之上?
**多训练几次重要,还是多试几组参数重要**
接下来研究者做了一件很细致的事:他们想知道,如果你的训练预算有限,应该把钱花在哪。
有两种花钱方式。一种是固定一组超参数,换不同的随机种子跑五次,取平均值,这样能估计模型本身的不稳定性。另一种是尝试很多组不同的超参数配置,看看哪组效果最好。
研究发现,在92%的算法-数据集组合里,超参数带来的差异都比随机种子带来的差异更大。换句话说,换种子只能告诉你这个配置本身有多稳定,但换超参数才能真正帮你找到更好的答案。
这就像你想知道一道菜好不好吃,有两种办法。第一种是让同一个厨师按同一份菜谱做五次,看味道波不波动。第二种是让厨师试五种不同的调料配比。如果你只做第一种,哪怕做了五十次,你永远不会知道加多一勺糖会不会让菜变得更好吃。而现实中大多数研究团队受限于计算资源,往往选择了前者,这正是问题所在。
但研究者也发现了一个让人松一口气的规律:如果只挑表现最好的前25%配置来看,这些配置之间的差异就和随机种子的差异差不多大了。也就是说,一旦进入了"靠谱区间",再细调也边际效益递减。
基于这个发现,他们给出一个实用建议:做25到50次超参数搜索试验,是性价比最高的区间。做得太少容易错过好配置,做得太多则收益递减。
**测试集选得不一样,冠军就不一样**
这篇论文最让人意外的部分,是关于测试数据集数量和构成的实验。
研究者故意做了一件"使坏"的事:从57个连续控制数据集里,随机抽取10到20个的子集,组成2000种不同的小测试集,看看能不能找到让不同算法夺冠的组合。
结果他们真的找到了。
选12个数据集,ACT算法能稳稳拿第一;选10个,DT算法登顶;选12个(不同的12个),BCQ算法又成了冠军。更让人不安的是,这些子集的规模,跟Decision Transformer论文里实际使用的评测规模差不多大,都是12个环境-数据集组合。
研究团队算了一笔账:随机选10到12个数据集组成测试集,大约有20%到25%的概率会得出一个和完整57个数据集基准不同的冠军。把子集规模扩大到25个,这个翻车概率才降到10%左右。
这就像一个班级要选"学习最好的学生",如果你只看语文和数学两门课的成绩,选出来的人和看全部九门课选出来的人很可能完全不是同一个。考试科目选得越全面,结论才越站得住脚。
这个发现直接打在了很多经典论文的软肋上。BCQ、BEAR、BRAC这些早期算法的论文,主要靠训练曲线图说话,没有统一的基准表格;Decision Transformer的论文测试集也相对有限。不是说这些论文做错了什么,而是提醒我们,评测规模小,结论的可信度天然打折。
**专家来源不同,排名也会洗牌**
如果说前面两个发现已经够让人头疼了,这第三个发现可能更扎心。
之前已经有研究发现,用人类演示数据训练出来的排名,和用机器生成数据训练出来的排名不一样。这篇论文把这个现象推广了。
研究者把57个连续控制数据集按照"专家来源"分成五类:人类操作、行为克隆生成、强化学习加规划器混合生成、纯强化学习生成、脚本控制生成。然后两两比较,这些不同来源数据集上算法排名的一致性。
一致性*:用肯德尔相关系数(Kendall's tau)衡量,取值从负1到正1,越接近1说明两种排名顺序越相似,越接近0或负数说明两者几乎没有关联甚至相反。
结果显示,不同专家来源之间的排名一致性系数从负0.16到正0.60不等,平均只有0.164到0.173。作为对照,如果随机把数据集分成同样大小的组,一致性反而能达到0.26左右。
也就是说,按"数据从哪来"这个维度划分出来的排名,比纯粹随机分组的排名还要更不一致。
这个发现打破了一个隐藏的假设:很多人以为只有"人类数据和机器数据不一样",但实际上,即便都是机器生成的数据,用强化学习训练出来的专家和用脚本写死的规划器生成的数据,在它们上面训练出的算法排名也可能南辕北辙。
这就好比你以为只有"老师教的"和"自学的"学生会有不同的考试强项,结果发现哪怕都是老师教的,跟着严格按课本教学的老师学,和跟着随堂发挥的老师学,学生学到的东西侧重点也完全不一样。来源的细微差异,会在最终表现上被无限放大。
**谁是真正的赢家**
讲了这么多"没有赢家"的故事,那到底有没有相对靠谱的选择?
在连续控制任务的总排行榜上,ACT算法(Action Chunking with Transformers,一种通过预测短动作序列来降低累积误差的模仿学习方法)拿下了第一。它在IQM和最优差距这两个指标上都领先。
IQM*:四分位数间距平均值(Interquartile Mean),计算时先丢弃最高和最低的25%的数据,再对剩下的取平均,这样能避免极端值把整体表现拉歪。
最优差距:衡量模型表现离"专家水平"还差多远的指标,数值越小说明越接近完美。
但ACT的领先并不是全面压制。在PointMaze任务上是BCQ更强,在Adroit系列任务上DT反而更好,在纯强化学习生成的数据上IQL拿第一。离散控制任务(像Atari游戏)上,排行榜第一名换成了BCP,一个看起来朴素到有点意外的方法。
BCP*:带百分位数据筛选的行为克隆(Behavior Cloning with Percentile filtering),简单说就是只用数据集里表现最好的那一部分轨迹来做监督学习,模型结构也很简单,就是个小型多层感知机。
这里有个特别值得玩味的细节。像CORL这样的已有研究,经常把行为克隆算法排在榜单垫底的位置。但经过充分调参后,研究者发现它在连续控制任务里排名已经挤进了中段,在Atari任务上更是直接夺冠,只落后于它的变体BCP。
这说明什么?说明"简单模型天生就弱"这个假设,很多时候只是因为它没有被认真调过参数,而不是方法本身真的差。这就像比赛前大家都以为业余选手肯定跑不过职业选手,结果发现只是业余选手没穿合适的跑鞋,换上专业装备之后成绩差距缩小了一大半。
还有一个反转更明显的例子是CQL算法。它在连续控制的总排行榜上几乎垫底,但在Atari离散控制任务上排到了第三,比DT还靠前,更是远远超过BCQ。研究者专门去核实过,排除了实现代码出错的可能性,这种反转是真实存在的领域差异,不是实验bug。
**调参这件事能不能偷懒**
论文还花了相当大的篇幅研究一个很实际的问题:有没有办法不用每次都从头调参,直接用一套"通用默认配置"就能表现不错?
答案是:能,但只能解决一半的问题。
研究团队的做法是,把每个算法在各个训练环境里表现最好的前10%试验结果汇总起来,取每个数值型超参数的中位数(对数尺度的参数取对数空间的中位数),类别型参数取出现最多的那个选项,组成一套"综合默认配置"。
结果显示,用这套新默认配置,在25个从未见过的测试环境上,IQM从原来的0.47提升到0.70,最优差距从0.55降到0.41。相比之下,完全针对单个环境调参后的最好结果是IQM 0.93,最优差距0.27。
也就是说,这个"抄中位数"的笨办法,大约能帮你拿到完整调参收益的一半,而且完全不需要在目标环境上跑任何试验。
这就好比你要去一个从没去过的城市找餐厅,没时间一家一家试吃。这时候你不去赌某个网红店(可能是单一环境里调出来的最优解,到了新环境未必适用),而是选择所有城市里评分中位数较高的那类餐厅,大概率不会踩雷,但也达不到当地人带你去的隐藏美食那种惊喜程度。
为什么这个方法能生效?研究者做了进一步验证,发现高表现的超参数配置往往聚集在一个比较宽的共同区域里,而不是每个环境各自散落在完全不同的角落。这意味着好的参数值存在某种"普遍性",中位数恰好能捕捉到这种普遍性,同时又不会被某个环境的极端值带偏。
**给普通使用者的推荐系统**
既然没有万能算法,那普通研究者或工程师遇到一个新任务时该怎么选?
论文的最后一个贡献,是做了一个基于数据集特征的推荐系统。这个系统会看一眼数据集的来源、动作维度、任务类型、奖励分布特征等信息,然后给出三个最值得尝试的算法建议。
他们测试了好几种模型架构,最后发现随机森林(Random Forest,一种由许多决策树组成、通过投票方式给出预测的机器学习模型)效果最稳。用"留一个环境家族"的方式做交叉验证后,随机森林推荐的三个算法里包含真正最优算法的概率是63.2%,而如果什么都不管,只按历史平均表现推荐,这个概率只有47.4%。
更有意思的是特征重要性分析。决定一个算法适不适合某个任务的最关键信息,不是数据集大小,而是专家数据的来源类型和平均每条轨迹的长度。数据集到底有多少条数据,反而是相对不重要的因素。
研究者还做了个"压力测试":故意随机抹掉测试数据的一部分特征,模拟现实中信息不全的情况。结果发现即便丢掉一半的特征,推荐系统依然能保持不错的表现,直到特征缺失超过65%左右,系统才会主动放弃个性化推荐,退回到"直接推荐历史平均最强的算法"这个保守策略。
这个设计思路本身挺聪明:宁可承认自己不知道,也不要在信息不足时硬给出一个可能误导人的精确推荐。
**写在后面**
读完这篇论文,最让我意外的不是某个具体的技术细节,而是这种"用海量实验去质疑整个领域评测方式"的做法本身。
通常一篇论文是提出一个新方法,证明它比别人强。这篇论文反过来,用16万个训练出来的模型去问一个更根本的问题:我们怎么知道谁真的更强?
有个细节我印象很深。研究者提到,像BCQ、BEAR这些早期的经典算法论文,当年主要靠曲线图说话,没有统一的数字表格可以直接比较。这意味着过去十年里,很多"后来者打败前人"的叙事,建立的根基可能本身就不太牢固,不是因为谁作假,而是比较的尺子一直在变。
还有一点值得多想一层。论文里专门强调,不同专家数据来源之间的排名一致性,比随机分组还要差。这其实暗示了一个更深的问题:我们平时说"这个算法泛化能力强",到底是在泛化到新任务,还是只是泛化到了和训练时类似的数据生成方式?这两者很可能被混为一谈了。
这篇论文没有解决的问题,或许才是最值得继续追问的:如果连学术界精心设计的基准测试都存在这么大的不确定性,那在工业界实际部署时,那些号称"效果领先"的方案,究竟经得起多严格的审视?
Q&A
Q1:JumpStart论文训练了多少个策略模型,花了多久?
A:研究团队训练了超过16万个策略模型,涵盖114个数据集和10种算法,总计消耗了接近100万GPU小时的计算资源。
Q2:为什么调超参数后算法排名会反转?
A:因为原论文使用的超参数往往不是最优配置,调参后模型性能大幅提升,不同算法提升幅度不同,导致相对排名发生变化,比如IQL调参后就反超了BCQ。
Q3:有没有一种算法在所有任务上都表现最好?
A:没有。连续控制任务整体最强的是ACT算法,但在PointMaze任务上BCQ更强,Adroit任务上DT更强,离散控制的Atari任务上则是BCP夺冠,没有算法能通吃所有场景。







