看一个常见场景:周报里写「新模型准确率 92%,效果显著提升」。这时候第一个该问的问题是——比什么提升了?
一句话定义:基线(Baseline)就是你在宣称「我的方法更好」时,用来当参照物的那套做法。
打个生活的比方。你发明了一套减肥法,三个月瘦了 10 斤,这算成功吗?不一定。如果什么都不做也会瘦 3 斤,如果只是少吃晚饭也能瘦 8 斤,那你方法本身的净贡献可能只有 2 斤,也可能是零。要下结论,得找一组条件相当的人,用常规办法走一遍——那组就是基线。你的成绩减去基线,才是你的方法的贡献。
机器学习里一模一样。新模型涨了 3 个点,这 3 个点可能来自你的创新,也可能来自:换了更大的骨干网络、训练得更久、数据清洗更细、超参调了几百组而对手只用了默认值。基线的意义,就是把这些「其他所有可能的原因」先固定住,让功劳能够被归因。
所以基线的关键不是「弱」,而是「公平」。一个像样的基线通常包括:随机猜或多数类预测这种下界、上一版模型、以及在同等努力下被调到最好的常规方法。数据划分、预处理、评估脚本、训练预算、调参预算,都得尽量对齐。把基线故意调烂再宣布自己赢了,那不是研究,是稻草人。
别把基线和基准测试集混为一谈
这是最常见的混淆。它们其实在回答不同的问题:
| 术语 | 是什么 | 回答的问题 |
|---|---|---|
| 基线(Baseline) | 一个用来对照的方法 | 跟谁比? |
| 基准(Benchmark) | 一套数据 + 指标 + 评测协议 | 在哪比、怎么算分? |
| 测试集(Test set) | 基准里用来打分的那批样本 | 用哪些题打分? |
| SOTA(State of the Art) | 某个基准上当前公开的最好成绩 | 现在最好是多少? |
一句话串起来:在某个基准的测试集上,你的方法跑出的分数必须超过一个公平的基线,才有资格谈 SOTA。少了中间这一步,「新 SOTA」就只是个数字。
这对你意味着什么
对做技术的人:看到「效果提升」的结论,先问三件事——基线是谁、它被调到什么程度、对比条件是否对齐。复现不出来时,问题常常不在你的模型,而在基线本来就不可比。
对不看代码的人:听到「超越 SOTA 百分之多少」,同样可以追问——在哪个基准上、和多大的模型比、推理成本差多少。用十倍算力打赢一个小模型,那不叫方法进步,叫预算进步。涉及具体版本、配置和榜单成绩,以官方页面为准。
没有公平基线的提升,先当成噪音,直到有人能证明它不是。
