ML研究agent为什么不会过拟合?
机器学习的核心在于泛化,而非记忆。你将一堆训练样本交给学习算法,并用它们来拟合一个模型。但目标并不是在这些训练样本上表现良好——那太容易了,你只需把答案都记下来就行。真正的目标是在那些从未见过的新样本上也能有不错的表现。如果一个模型在训练数据上表现很好,但在新数据上却很差,那就说明它其实什么都没学到;你只是自欺欺人地以为它学会了。这种失败模式有一个专门的名称:过拟合。任何上过统计学或机器学习入门课程的人都知道标准的应对方法:预留一部分数据,不让模型在这上面训练。在实践中,这部分预留数据有两个作用:验证集是在构建模型过程中反复使用的,用来比较不同候选方案、调整超参数并决定下一步该尝试什么;而最终测试集(或称留出集)则只在最后使用一次:由于训练过程从未接触过它,因此在该数据上的优异表现才是对真实场景中新样本性能的可靠指标。“留出”这一条件至关重要。只有当预留的数据确实未曾被“看到”时,上述可靠性才成立。如果你不断在上面检验性能、据此调整训练流程、再检验、再迭代,只为追求更高的分数,那么这块数据就不再是“未见”的了,它已经融入了你的训练过程。如此反复多次,你就可能像在训练集上那样对其过拟合,从而失去它作为未见数据代理的意义。这种问题适用于所有以这种方式重复使用的预留数据,包括本就设计为反复使用的验证集。 机器学习的核心谜题 真正的机器学习研究正是按照我们刚才描述的迭代改进循环进行的。所有人都用少数几个基准数据集来衡量性能,而这些数据集往往多年不变。整个研究社区在执行一个庞大而分散的循环:在基准上评估模型、修改训练流程、重新评估、发表成果,然后让下一批研究者再进一步微调。这正是教科书里所警告的那种针对预留数据的“爬山”行为,按理说应该导致严重的过拟合。照此推论,排行榜上早就应该充斥着那些在基准上看起来很完美、但在其他地方却平平无奇的模型了。然而事实并非如此。一些研究为那些被大量重复使用的旧基准构建了全新的测试集,结果发现性能提升基本都能迁移:在新数据上,模型依然能展现出与旧基准上相同的进步幅度。也就是说,以基准为导向的机器学习,竟然违背了教科书的预测,实现了快速且相当真实的进步。这是为什么呢?对此众说纷纭,但很难通过实证加以检验,因为实验的“对象”是整个人类研究社区。你不可能重置一个领域,抹去它的记忆,然后在受控条件下重新运行过去十年的研究。不过我们可以做点类似的事:如今我们有了基于大语言模型的研究智能体,它们能够自主地执行与人类研究社区相同的机器学习优化循环。它们也在进行同样的基准“爬山”,而且有趣的是,它们似乎同样不会过拟合。区别在于,与研究社区不同,智能体是可以被重置的。你可以清空它的记忆,精确控制它能看到的信息,然后重新开始实验。在最近的一篇论文《能压缩进少量词元的就不会过拟合:研究智能体中的压缩与泛化》中,我们就做了这样的尝试,并在此过程中为这个长期存在的谜题提供了一个具体的解释。 奥卡姆剃刀的精确化 这个解释始于一个古老的理念:奥卡姆剃刀原则指出,在能够同等解释数据的假设中,越简单的那个越有可能正确。事实证明,这一直觉有着精确的数学形式,而它正是整个故事的基础。假设你可以用很少的比特来描述你的假设——也就是你的模型或策略——远远少于记住整个训练数据所需的比特数。如果这样一个简洁的假设在训练数据上表现非常好,那么它在新数据上也应该表现良好。其推理基于一种计数逻辑:短描述的数量本来就不多,因为短字符串的数量有限。候选假设越少,任何一个假设仅仅靠运气就在训练集上蒙对的可能性就越小——即便你在搜索过程中一直用训练集来指导自己。另一种直观的理解是:如果你的压缩描述小到无法暗中记录下训练数据,那么当它在训练数据上表现良好时,绝不是因为它记住了答案——它根本没有足够的空间这么做。它一定捕捉到了数据结构中的一些本质规律。短描述无法作弊,因为根本没地方藏私货。由此产生了一个很有吸引力的假设:成功的机器学习策略往往具有很高的可压缩性。一位研究人员在项目过程中可能会盯着成千上万的基准得分,但最终胜出的策略通常只是几张熟悉的清单:某种架构家族、一种优化器、一套学习率调度、一份数据处理配方、一项正则化方案。如果最终的配方只需用寥寥数个比特就能表达,那么模型对基准的真正依赖程度就远小于冗长曲折的实验记录所暗示的。虽然“爬山”过程十分繁复,但最终得到的结果却是——或者本可以是——极其精简的。 压缩、智能与“懂行的听众”的力量 想象一下,你要向一名聪明的高中生详细解释一条特定的机器学习流水线,细致到他/她能够实际复现的程度。这将是一场漫长而费力的对话。你需要解释什么是梯度下降、什么是神经网络、PyTorch/JAX/TensorFlow分别做什么、学习率又是什么……几乎所有内容都与你的具体问题无关,而是关于机器学习运作方式的通用背景知识。现在再想象一下,向一位资深的机器学习工程师解释同一条流水线。这次对话会迅速浓缩成几句话。你直接跳过那些属于常识的部分,只传达与当前问题真正相关的内容:架构选择、批量大小、优化器以及几个超参数。你的听众对相关领域的了解越多,你需要传递的信息就越少——你就可以更大幅度地压缩信息量。在奥卡姆剃刀的论证中,这些“领域知识”并不算你的负担,因为你完全可以在不看训练数据的情况下把这些东西写下来。而这正是大型语言模型发挥作用的地方。现代LLM携带着海量的领域知识:它们知道各种机器学习工具如何工作,熟悉标准的优化算法,了解常见的超参数选择和默认配置。如果某些细节没有明确给出,它们还能合理地补全。这使得它们成为极为出色的压缩解码器:给LLM一段专家间的简明信息,它就能将其还原为一整套可执行的流程。仔细想想,这也正是它们如此强大的原因所在。 实验:将策略挤过瓶颈 这提示我们设计了一个清晰的实验:让一个机器学习研究智能体——“探索者”——去解决一个新的机器学习问题。赋予它对验证集的完全访问权,让它自由地试验和迭代,每轮都追求更高的验证集性能。在这里,验证集扮演了基准的角色:一块可供反复查询的预留数据,就像研究社区中的基准一样。这就是那个本应导致过拟合的“爬山”循环。接下来,测试解决方案的可压缩性。第二个智能体——“压缩器”——读取“探索者”工作的完整记录,试图将获胜策略提炼成一个极短的提示词,仅需几个词元。这个提示词会被交给第三个智能体——“复现者”,后者必须仅凭提示词和训练数据从头实现该策略。关键在于,“复现者”无法接触到验证集、“探索者”的代码或其实验记录。唯一能让验证集相关信息传递给它的渠道就是那段简短的提示词。(在我们的论文中,压缩器和复现者都是Claude模型。)如果“复现者”——从零开始,仅凭几个词元——就能达到“探索者”的性能,那就说明指定该策略所需的所有验证集相关信息都成功地通过了那个狭窄的通道。换句话说,该策略是可压缩的。我们称此为“输出压缩证书”。这一设置还有一个非常有用的特点,是人类研究社区所不具备的:“复现者”可以被反复重置。压缩器可以尝试多种不同的压缩方案,并观察每种方案的解码效果,因为每次尝试都会在一个全新的、没有任何历史记忆的复现者身上进行。这有点像电影《记忆碎片》,你给未来的自己留下一条简短的便条,而那份记忆会在对方读到之前被清零。你学会写出这样一种便条:即使是一个知情却失忆的自己也能照做;这样的便条可以非常简短,因为接收方会把你省略的部分恰如其分地补全。 最终的结果 实验表明,这些压缩后的提示词都小得惊人。在八个数据集上——涵盖表格分类、图像分类、语言建模、扩散模型和奖励建模——32个词元的提示词足以让全新的“复现者”在绝大多数问题上追平“探索者”经自适应优化后的模型。有一项语言建模策略甚至被压缩至仅16个词元,且在留出集上的性能毫无损失。这些提示词到底长什么样呢?最具启示性的例子出现在压缩即将失效的临界点上。在一项语言建模实验中,“探索者”发现了一种定制的GPT风格训练配方。在16个词元的预算内,这段提示词仍然足以让新的“复现者”追平未经压缩的“探索者”:QKn 12L768 Mu .1 R² b2M 4x 对人类读者而言,这段文字晦涩难懂,但对另一个机器学习智能体来说,它传达的是确切的信息:QKn代表“QK归一化”,12L768指12层、768维的Transformer,Mu .1表示学习率为0.1的Muon优化器,R²代表平方ReLU激活函数,b2M代表两百万词元的批量,4x则指四倍扩展的前馈网络块。然而,一旦将预算削减到8个词元,提示词就变成了12L768 Mu .1 R² 此时,“复现者”已无法追平“探索者”。缺失的部分正是那些根据数据特点做出的真实训练选择,它们与最显而易见的默认值有所不同。这一边界揭示了可压缩性的极限,也非常重要:它表明“复现者”的成功并非单纯依赖先验知识。那几个压缩后的词元承载着从数据本身学到的真正信息,而当这些信息消失时,性能也随之下降。我们还进行了一系列从另一方向施加信息瓶颈的实验:与其压缩“探索者”的输出,不如压缩它的输入——不再告诉“探索者”每个模型的数值化验证得分,而只反馈一个二进制信号:这个模型是否优于当前最佳?即便每次查询只返回一个比特的反馈,“探索者”依然能找到与使用完整数值评分时同样优秀的策略。验证集与最终策略之间的信息通道在两个方向上都很狭窄,而单比特版本甚至还附带了一条关于泛化的严格数学保证。 识别过拟合者 一个好的经验理论应当是可证伪的——而我们的理论也是如此。如果低过拟合现象的确可以用可压缩性来解释,那么那些真正过拟合的模型就不应该能通过这套流程被压缩。为了验证这一点,我们故意让智能体进入过拟合状态:给予它们直接访问验证集的权限,并引导它们不惜一切代价最大化验证集上的表现。智能体果然上钩:在102次实验中的38次,验证准确率比真实留出集准确率高出超过10%。理论预测,这些优势不应通过压缩瓶颈,因为它们编码的是特定验证样本的特异性,而非可迁移的结构。果然,当这些优势被压缩进一段简短的提示词、传递给新的“复现者”时,验证集特有的优势便消失了。压缩以极高的精度区分出了合法的策略与过拟合的产物。因此,压缩不仅解释了为何自主研究智能体会倾向于不过拟合,还提供了一种检测过拟合的工具:只要某个结果无法用一段简短的描述复现,就说明它很可能存在问题。 这告诉我们什么——以及没告诉我们什么 需要说明几点限制。整个框架的前提是,验证数据通往最终模型的唯一路径必须经过我们喂给“复现者”的提示词。当然,如果某个模型在预训练阶段就已经记住了验证数据,那么它就会存在一条绕过我们所设信息瓶颈的侧路。我们并不认为我们的实验中发生了这种情况:智能体是通过真实的搜索逐步改进,而不是一开始就处于最佳状态,而且在极短的词元预算下,性能会明显下滑。不过,要彻底解答这个问题,可能还需要用模型训练截止后收集的新数据来做实验,而我们目前尚未开展此类研究。更重要的是,我们的结果是针对LLM智能体的,因为只有在这种情况下实验才可行——你可以重置实验对象、控制其输入并测量其长度。但这些结果也强烈暗示了人类研究社区的情况:当一个领域花费多年时间在固定的基准上“爬山”,而性能提升又能持续迁移到新数据时,或许正是因为那些真正有效的策略都很简单。换句话说,“能压缩进少量词元的就不会过拟合。” 致谢:Steven Wu