编辑跟你讲个投稿圈的鬼故事。一篇发在ICLR 2026的论文,作者们公开了两个评审意见——两条都是“拒稿”。但你现在还能读到这篇论文的详细介绍。因为作者没有改弦更张,反而顺着评审指出的死穴往下挖,挖出了一套让整个对抗式模型学习范式翻盘的新方法。评审说“你这保守性根本控不住”,他们就专攻保守性控制;评审说“训练太容易崩”,他们就重构训练稳定性。最后录用的那一条评审,只写了一句话的判决:这篇论文把一个公认很难落地的方法论,做出了真正能跑的代码。
先交代背景。离线强化学习圈子一直在打一场无声的仗。无模型路线图省事,直接拿历史数据练策略,但样本效率始终是个心病。基于模型那派不甘心,于是多训一个环境动力学模型,让策略在上面撒欢跑,凭空造出更多训练轨迹。问题是那个环境模型就是个山寨货。一旦策略踩中模型预测偏得离谱、估值却极高的区域,它就会疯狂往那个方向优化。用专业术语叫模型利用问题,说人话就是:在假地图里找到了一座金山,真去挖的时候发现全是坑。
对抗式模型学习是专门治这毛病的。思路极其狠:不把模型当老实人,把它当成专门跟你对着干的对手。在一个不确定性集合里,死命找那个对策略最不利的动力学模型。你策略想偷鸡?先过最坏情况这一关。RAMBO是这条路线上的明星算法,论文挂了名字,圈内做离线强化学习的人基本都复现过。但所有复现的人都发现两个要命的问题。
第一个是保守程度完全不可控。RAMBO里有一个对抗权重系数,理论上应该是个对偶变量,需要跟着训练动态调整。实际用的时候,所有人都把它设成一个常数。在MuJoCo任务上通常设成0.01甚至更小。作者做了一组拆解实验:当你试着把它调到0.05,Q值开始被严重低估;调到0.1,梯度直接爆炸,训练崩了。这就意味着这个参数根本不是旋钮,而是引信。拨错零点零几,整个训练灰飞烟灭。更棘手的是第二个问题——模型梯度更新方式本身过于激进。RAMBO靠模型梯度主动去压低分布外区域的价值,这个机制天然倾向于把模型推向数值极不稳定的方向。
ROMI的做法是把整个思路翻过来。既然用模型梯度去压低价值容易崩,那就不压了。回到对抗式模型学习最原始的最大化最小值目标,从单步价值误差的角度,构造一个新的学习目标。核心诉求是:让当前模型预测的下一个状态的价值,尽可能贴近它局部邻域里的最小值。换成开发者能听懂的话就是——你山寨地图上标的那个点到底值不值钱,不要靠一个乱调的惩罚系数去拍脑袋决定。去看它周围一小圈邻居里最不值钱的那个点,那个才是你该信的保守估计值。
但这又引出另一个坑。局部邻域搜索需要访问动力学不确定集,而那个集合在训练过程中拿不到。ROMI的解法是用Wasserstein距离来度量动力学不确定性。通过一组严密的对偶形式转换,作者把原本依赖动力学不确定集的优化问题,映射到了显式的状态空间里。最后落地成一个可以直出的方案:在离线数据已有的样本附近加噪,构造出局部邻域。让模型去对齐那个邻域里的最小价值。这样一来,分布内区域学到的是“温和保守”,分布外的保守性则交给模型自己的泛化能力去处理。
结果在D4RL和NeoRL两个基准上拉了一圈实验。ROMI不光把同属对抗路线的RAMBO摁在地上摩擦,在大多数任务上甚至追平或者超过了无模型方法和基于模型加惩罚项的SOTA。在几个RAMBO之前死活跑不稳的环境里,ROMI的训练曲线平稳得像假的一样。投稿者在接受采访时说了一句挺实在的话:评审当初说我们的方法不可行,我们现在不光做出来了,还想通了这个方法为什么能行。
热门跟贴