Skip to content

Moving towards reproducible machine learning

Nature Computational Science, Editorial · 2021 · Nature Computational Science

Metadata

Authors: Nature Computational Science, Editorial

DOI: 10.1038/s43588-021-00152-6

Tags: #machine-learning #reproducibility

概述(Overview)

文档性质与摘要

  • 文档类型:editorial
  • 回应或评论的对象:机器学习(machine learning, ML)驱动的计算科学研究在可复现性(reproducibility)报告方面的普遍缺失,面向整个计算科学社区。
  • 核心主张:ML 领域正面临"reproducibility crisis",根源在于从数据收集、清洗到模型选择、训练的各环节缺乏透明披露。本社论在既有社区建议(引用 6–9)与自身经验基础上,从数据报告、模型报告、数据/代码/模型可用性三个层面提出可操作的报告建议,旨在启动社区对话而非提供穷尽清单。隐私与伦理议题被明确排除在外。

论证结构

主张 1:数据报告必须覆盖来源、偏差、清洗与 train/validation/test 划分

  • 依据定位:§ Data reporting, PDF p. 629
  • 推理链:模型质量高度依赖数据质量与特征 → 数据来源可能存在有意或无意偏差(bias),须报告偏差及其缓解措施 → 原始数据几乎不直接使用,清洗与整理(curation)步骤须详述 → train/validation/test 三集的划分方式会实质影响性能与鲁棒性,须说明选择依据。
  • 限制或反例:未报告具体数据集规模阈值或划分比例建议;合成数据(synthetic data)仅要求描述生成过程与假设,未给出验证标准。

主张 2:模型报告须论证模型选择与复杂度,并报告消融研究、训练时间与随机种子

  • 依据定位:§ Model reporting, PDF p. 629
  • 推理链:模型选择空间大,更高复杂度以降低透明度与可解释性为代价 → 深度学习应做 ablation study 验证架构组件必要性 → 训练时间因复杂度与硬件差异而异,须报告以便读者评估可操作性 → ML 存在随机初始化、dropout、数据打乱等多源随机性,应固定伪随机数生成器种子(seeding)并报告。
  • 限制或反例:仅对深度学习明确要求 ablation,对其他 ML 方法未作等量要求;seeding 标注为"if possible"(尽可能),未给出无法固定种子时的替代报告方案。

主张 3:训练代码、数据预处理代码与训练好的模型权重均应公开

  • 依据定位:§ Availability of data, code, and models, PDF p. 629
  • 推理链:仅公开训练代码不够,数据收集/清洗/整理代码也须公开 → 硬件架构与软件库版本差异会导致不一致,须报告环境细节 → 训练本身耗资源,公开已训练模型可降低复用门槛并便于检验泛化能力。
  • 限制或反例:未讨论数据涉及隐私(如医疗数据)时的代码/数据公开替代方案(该议题被推迟到 Final remarks)。

立场、适用范围与遗漏

  • 作者立场:作为 Nature Computational Science 编辑部,倡导而非强制;立场温和,强调"启动对话"而非制定硬性规范。
  • 利益关系:未报告。编辑部立场本身隐含期刊将以此为导向审视投稿,但文中未声明是否将纳入正式投稿要求。
  • 适用范围:面向整个计算科学社区中使用 ML 的研究者,尤其以深度学习为主要场景。
  • 没有处理的重要问题:(1) 隐私相关挑战(privacy-related challenges,引用 7)仅提及未展开;(2) 伦理考量(ethical considerations,引用 10)仅提及未展开;(3) 对数据/代码涉及第三方许可(licensing)或知识产权的情况未涉及;(4) 未讨论报告偏差或不可复现结果时的纠错机制。

个人批注

值得保留的观点

"公开训练好的模型权重以降低复用门槛"这一建议在力学社区仍不普及——多数有限元或数据驱动本构工作仅附代码或数据,已训练模型(如神经网络权重)鲜少以可加载格式共享。将训练时间与硬件纳入报告也常被忽视,但这两项直接决定了他人能否在合理资源下复现。

我同意或不同意之处

同意三层面框架(数据—模型—可用性)作为投稿前自查表的实用性。不同意之处在于对 ablation study 仅限"深度学习"的建议过窄——任何含多组件的流水线(如特征工程 + 多模型对比)都应报告组件消融,否则模型选择同样不透明。此外 seeding 标注"if possible"略宽,建议改为"须报告是否使用以及具体种子值;若无法固定,须说明原因"。

后续动作

在我自身的计算力学项目中若引入数据驱动方法(如代理模型 surrogate model),投稿前对照本社论三层面清单逐项核查,并预设将训练好的模型权重以可加载格式(如 PyTorch state_dict)随代码仓库公开。

与上下文的关系

本文建立在

本文综合了引用 6–9 中多个社区的可复现性建议:Artrith et al. (Nat. Chem. 2021) 针对化学领域 ML 数据共享、Heil et al. (Nat. Methods 2021) 针对生物医学 ML 可复现性、Mateen et al. (Nat. Mach. Intell. 2020) 针对健康领域 ML 报告规范、Norgeot et al. (Nat. Med. 2020) 针对临床 ML 评估的检查清单。reproducibility crisis 的提法源自 Hutson (Science 2018, 引用 5)。本文未核实这些上游文献的具体条款差异。

已核实的后续引用

本次未检索。

同类观点对比

与 Pineau et al. "Improving Reproducibility in Machine Learning Research"(J. Mach. Learn. Res. 2021)所提出的 ML Reproducibility Checklist 相比,本社论范围更窄(仅报告层面、不涉及实验设计),且不具强制力;Pineau 等的清单覆盖超参数搜索策略、多随机种子统计报告等更细致项目,本社论未涉及。本次未核实二者后续是否被期刊采纳为正式投稿要求。

与本地论文队列的关系

不适用。

逐章节笔记(Section-by-Section Notes)

引言(无小标题)

段落 1:ML 在计算科学中的兴起

  • 核心论点:数据的可得性使数据驱动研究成为计算科学的重要资产,而机器学习(尤其是深度学习)已成为分析大型复杂数据集的标准工具,在电池研究、结构生物学、化学等领域取得了显著进展。
  • 支撑论据:
  • 跨学科成功案例(均 Nature/Science 级高影响力工作):电池研究——Severson et al. (Nat. Energy 4, 383–391, 2019);结构生物学——Jumper et al. (Nature 596, 583–589, 2021, AlphaFold) 与 Baek et al. (Science 373, 871–876, 2021, RoseTTAFold);化学——Hermann, Schätzle & Noé (Nat. Chem. 12, 891–897, 2020)。
  • 需求侧背景:数据集规模增大、数据收集工具与操作日益复杂,使数据分析本身更为复杂,为 ML 成为标准工具提供需求驱动。
  • 定性定位:原文以“deep learning has become a standard tool for analyzing large, complex datasets”将深度学习表述为公认方法,并在电池、结构生物学、化学等领域“achieving impressive levels of accuracy that advance science to a great extent”。

  • 我的分析:本段为社论铺设背景——ML 力量已被认可。通过列举跨学科成功案例,既确立 ML 的合法地位,又隐含“既然如此有力就更需负责”的转折铺垫。引用 1–4 均为 Nature/Science 级高影响力工作,用于增强说服力。下一段以“great power comes great responsibility”承接,构成先扬后抑的论证结构。

段落 2:可复现性危机

  • 核心论点:ML 领域面临 reproducibility crisis,根源在于从数据收集与整理到模型选择与训练的各步骤缺乏透明度与报告。
  • 支撑论据:
  • 危机命名:Hutson (Science 359, 725–726, 2018) 首先将 ML 领域问题定性为 “reproducibility crisis”,本文以此作为问题陈述起点。
  • 根源定位:将危机归因于 “lack of transparency and reporting surrounding the steps taken to build data-driven models”——流程披露不足而非算法本身缺陷。
  • 报告不足项:仅“usual accuracy numbers often reported in papers”不足以理解模型的 accurate、robust、general、practical 四个维度。
  • 紧迫性依据:ML 正“becomes more popular and widely used in many different fields”,使 “reporting all of these details to allow proper reproducibility of the results” 成为关键。

  • 我的分析:本段是全篇问题陈述的核心。将“crisis”归因于流程透明度而非算法本身,为后续“报告规范”建议提供逻辑前提——若问题在算法缺陷则报告无补,正因问题在披露不足,报告建议才对症。值得注意的是,作者并未引用具体复现失败案例,仅以 Hutson 的综述为据,论证力度偏弱但符合社论体裁。

段落 3:本社论的目的与范围

  • 核心论点:研究社区已关注此问题并有多份社区建议(Artrith/Heil/Mateen/Norgeot 等 2020–2021),本社论基于这些建议与自身经验,向整个计算科学社区提出报告 ML 结果的指南与建议。
  • 支撑论据:
  • 既有社区建议四项:Artrith et al. (Nat. Chem. 13, 505–508, 2021,化学领域 ML 数据共享);Heil et al. (Nat. Methods 18, 1132–1135, 2021,生物医学 ML 可复现性);Mateen et al. (Nat. Mach. Intell. 2, 554–556, 2020,健康领域 ML 报告规范);Norgeot et al. (Nat. Med. 26, 1320–1324, 2020,临床 ML 评估检查清单)。
  • 增量来源:编辑部在 “these recommendations and our own experience” 基础上提出建议,表明增量贡献来自实践经验而非新实证研究。
  • 目标读者:明确定位为 “entire computational science research community”,对应 Nature Computational Science 的跨学科定位。
  • 体裁限定:作为 Editorial 发表,提出 “guidelines and suggestions” 而非强制规范。

  • 我的分析:本段是承上启下的过渡——承认既有工作不重复造轮子,同时通过“and our own experience”为编辑部的增量贡献留出空间。将适用范围定为“整个计算科学社区”而非特定子领域,既体现期刊定位(Nature Computational Science 跨学科),也为后续建议保持通用性提供依据。

Data reporting

段落 1:数据收集与偏差

  • 核心论点:模型质量高度依赖数据质量与特征,数据收集过程须被妥善讨论与报告,因为所选数据源可能存在有意或无意的偏差(bias);已识别的偏差及缓解措施也须讨论;若使用合成数据须详述生成过程与假设。
  • 支撑论据:
  • 逻辑前提:原文 “the quality of the model greatly depends on the quality and characteristics of the data”,将数据质量—模型质量关系作为推导报告义务的起点。
  • 偏差类型:数据来源可能存在 “intentional and/or unintentional” 偏差,要求既报告已识别偏差,也报告缓解尝试。
  • 受众目的:报告偏差与缓解措施是为了使其他研究者 “be aware of the limitations when using the reported models”。
  • 合成数据条款:若使用 synthetic data,须详述生成过程与 “any assumptions that are considered”,是对生成式方法的前置要求。

  • 我的分析:本段从“数据质量决定模型质量”这一被广泛接受的命题出发,推导出报告义务。将偏差分为 intentional/unintentional 两类是重要区分——前者涉及选择偏见(如仅选有利数据),后者涉及采样偏差(如代表性不足)。要求报告合成数据假设是对生成式方法的预见性条款。但未给出偏差量化或审计的具体方法,停留在原则层面。

段落 2:数据清洗与整理

  • 核心论点:原始数据几乎不直接使用,因其可能含不一致、错误与异常值,且数据可能需转换为特定格式以适配模型;因此数据清洗与整理(curation)步骤对研究至关重要,须详细报告。
  • 支撑论据:
  • 清洗必要性:原始数据 “rarely used”,因可能含 “inconsistencies, errors, and outliers”,这些会 “ultimately impact the quality of the model”。
  • 格式转换必要性:数据 “might need to be converted to a specific format and representation” 以适配特定模型,是 curation 的另一组成部分。
  • 报告强度:清洗与整理步骤 “critical to the research”,故 “must also be reported in detail”,与数据收集步骤同等报告要求。

  • 我的分析:本段与前段共同构成数据报告的数据侧——前段论“收集”与“偏差”,本段论“清洗”与“格式”。两者逻辑连续且互补。值得注意的是,清洗步骤常被视为技术细节而省略,但其直接影响可复现性:不同清洗策略可导致不同模型性能。作者未区分“清洗”与“整理”的边界,实践中二者常交织。

段落 3:训练/验证/测试集划分

  • 核心论点:模型开发需要 training、validation、test 三个数据集,其选择方式须被妥善说明,因为会实质影响模型性能与鲁棒性。
  • 支撑论据:
  • 三集功能定义:
    • training:用于训练与生成模型,模型 “learns” 自此集;
    • validation:用于评估不同超参数值下的性能并检测过拟合;
    • test:用于评估最终模型性能。
  • 报告要求:三集的 “selection” 方式须 “properly explained”,因其会 “substantially impact the performance and robustness of the model”。
  • 隐含依据:仅报告准确率而不说明划分方式,他人无法判断性能数字可靠性——直接回应引言中 “usual accuracy numbers” 的不足。

  • 我的分析:本段是数据报告部分的收束。三集定义属于教科书级内容,作者在此重述的目的是将其纳入“须报告”的范畴——即不仅须使用,还须说明选择依据。这回应了 reproducibility crisis 中“仅报告准确率”的问题:若划分方式不透明,他人无法判断性能数字的可靠性。未涉及交叉验证、分层抽样等具体策略的建议。

Model reporting

段落 1:模型选择、复杂度与消融研究

  • 核心论点:可选择的 ML 模型众多,更高复杂度可能以降低透明度与可解释性为代价且未必最优,训练时间也因模型而异;因此模型选择与复杂度须被论证;深度学习应进行并报告 ablation study 以理解架构组件是否可移除而不损性能。
  • 支撑论据:
  • 选择空间:可选择的 ML 模型 “a large amount”,模型选择本身需要理由。
  • 复杂度权衡:更高复杂度 “can come with the cost of reduced transparency and interpretability”(Artrith et al., Nat. Chem. 2021 支持此权衡观点),且 “may not always be the best choice”。
  • 训练时间差异:训练时间 “vary substantially depending on the model”,是模型选择的现实约束之一。
  • ablation 要求:针对深度学习,建议 “run and report on ablation studies” 以理解神经网络架构,验证 “whether or not some components can be removed with no loss of performance”。

  • 我的分析:本段是模型报告的核心。复杂度—可解释性权衡是 ML 方法论的经典议题。ablation study 的建议针对深度学习的“黑箱”特性——通过逐组件移除验证贡献,使架构选择可审计。限制在于仅对深度学习提出此要求,对其他含多步骤的 ML 流水线未作等同要求。训练时间在此首次提及但将在下段展开。

段落 2:训练时间与硬件资源

  • 核心论点:尽管社区已利用超算与 GPU 等新架构,训练模型仍可能非常耗时且取决于复杂度;并非所有研究者都能获取高级硬件,因此报告训练时间对告知读者该步骤在其自身资源条件下的可行性至关重要。
  • 支撑论据:
  • 耗时来源:尽管社区已利用超算与 GPU 等新计算架构,训练仍 “can still be very time-consuming, especially depending on its level of complexity”。
  • 资源不平等: “not every researcher may have access to more sophisticated hardware resources”,使训练时间成为公平性问题。
  • 报告目的:报告训练时间是 “informing readers on how practical this step could be within the context of their own available resources”。

  • 我的分析:本段将训练时间从“技术细节”提升为“公平性议题”——资源不平等使可复现性本身具有阶层性。报告训练时间是使读者判断“我能否复现”的必要信息。与上段复杂度论证衔接:复杂度影响训练时间,训练时间影响可行性,二者共同构成模型选择的现实约束。未给出训练时间的报告格式建议(如 wall-clock vs. GPU-hours)。

段落 3:随机性与种子固定

  • 核心论点:ML 模型有多源随机性(随机初始化、dropout、数据打乱等),若可能应固定伪随机数生成器种子并报告这些选择,以确保结果一致性。
  • 支撑论据:
  • 随机性来源:列举 “random initializations, dropout, and data shuffling” 等多源随机性,说明同一代码不同运行可能产生不同结果。
  • seeding 建议: “if possible, seeding the pseudorandom number generators used in the models, and reporting these choices”。
  • 目的: “ensuring consistent results”,即保证结果可复现。
  • 限定语: “if possible” 承认某些场景(如分布式训练中完全确定性难以保证)的局限。

  • 我的分析:本段是模型报告部分最具体可操作的建议。多源随机性导致同一代码不同运行可能产生不同结果,是可复现性危机的技术根源之一。seeding 是最低成本的复现保障措施。“if possible”的限定承认某些场景(如分布式训练中完全确定性难以保证)的局限,但措辞偏宽——理想情况下应改为“须报告是否使用种子及具体值;若无法固定须说明原因”,使“无法固定”本身也成为报告内容。

Availability of data, code, and models

段落 1:代码、数据与已训练模型的公开

  • 核心论点:不仅训练/验证/测试代码须公开,数据收集、清洗与整理代码也须公开;硬件架构与软件库版本差异会导致不一致,须报告环境细节;已训练模型也应公开以降低复用门槛并便于检验泛化能力。
  • 支撑论据:
  • 公开范围:不仅训练/验证/测试代码须公开,数据 “collection, cleaning, and curation steps” 的代码也须公开。
  • 环境报告: “differences in hardware architectures and software library versions may also lead to many inconsistencies”,故须报告环境细节。
  • 模型公开建议:已训练模型 “should also be made available”(Heil et al., Nat. Methods 2021 支持此建议)。
  • 公开模型的双重收益:
    • “lowers the barrier for other researchers to be able to reuse these models”(降低复用门槛);
    • “easier to examine whether or not the models can generalize to other data”(便于检验泛化能力)。
  • 资源逻辑:训练 “may require a substantial amount of resources”,不公开则他人须重训,资源不足者被排斥。

  • 我的分析:本段是三层面建议中最具操作性的。区分“训练代码”与“数据预处理代码”是关键——后者常被省略但直接影响数据质量可复现。环境报告(软件库版本、硬件架构)回应了“同一代码不同环境不同结果”的技术问题。公开已训练模型的建议超越多数现有实践,其逻辑是:训练耗资源→不公开则他人须重训→资源不足者被排斥。这使可复现性与资源公平性挂钩。未讨论数据涉及隐私时的替代方案(如差分隐私、合成替代数据集),该议题被推迟到 Final remarks。

Final remarks

段落 1:非穷尽性与排除议题

  • 核心论点:本清单非穷尽,隐私相关挑战(Heil et al., Nat. Methods 2021)与伦理考量(Nat. Mach. Intell. 3, 367, 2021)等重要议题未展开;目标是启动社区对话以改善整体报告质量。
  • 支撑论据:
  • 范围声明:本清单 “not meant to be a comprehensive list”,明确非穷尽性,另有 “other issues not discussed here”。
  • 排除议题一:隐私相关挑战(Heil et al., Nat. Methods 2021 涉及)——“privacy-related challenges” 重要但未展开。
  • 排除议题二:伦理考量(Nat. Mach. Intell. 3, 367, 2021)——“ethical considerations” 重要但未展开。
  • 意图定位:目标是 “start a conversation with the broader community of computational scientists”,改善 “overall reporting of research results”,而非制定标准。

  • 我的分析:本段是范围限定与免责声明。排除隐私与伦理使建议聚焦于技术报告层面而保持通用性,但也留下重要空白——医疗数据的隐私问题恰恰是 ML 可复现性最具争议的领域。将自身定位为“启动对话”而非“制定标准”,既符合社论体裁,也回避了强制力问题。值得注意的是,本文发表于 2021 年,此后各期刊陆续推出 ML 报告检查清单,本社论可视为该趋势的一部分。

段落 2:收束与展望

  • 核心论点:已有多个团队做出良好社区倡议(Artrith/Heil/Mateen/Norgeot 等 2020–2021),期待研究社区更多参与以使 ML 更透明、更可复现。
  • 支撑论据:
  • 既有努力回顾:再次列举四项社区倡议——Artrith et al. (Nat. Chem. 2021)、Heil et al. (Nat. Methods 2021)、Mateen et al. (Nat. Mach. Intell. 2020)、Norgeot et al. (Nat. Med. 2020)——作为 “great initiatives from different groups” 的证据。
  • 展望号召: “look forward to seeing more engagement from our research community”,目标使 ML “more transparent and reproducible”。
  • 结构作用:与引言第 3 段同一组引用形成首尾呼应,构成闭环。

  • 我的分析:本段是全文收束。再次提及引用 6–9 形成首尾呼应——第 3 段(引言第 3 段)以这些引用引出建议,此处以同一组引用结束,构成闭环。“look forward to seeing more engagement”是社论典型的号召式结尾,无新论点。

摘要概述

这是一篇 Nature Computational Science 的社论(editorial),针对机器学习驱动的计算科学研究提出可复现性(reproducibility)报告规范建议。作者指出 ML 领域正面临"reproducibility crisis",根源在于数据收集、清洗、模型选择与训练等环节缺乏透明披露。建议覆盖三个层面:(1) 数据报告——需详述数据来源、偏差(bias)、清洗/整理步骤,以及 train/validation/test 划分依据;(2) 模型报告——需论证模型选择与复杂度、进行 ablation study、披露训练时间与硬件、固定随机种子(seeding);(3) 数据/代码/模型可用性——训练与数据预处理代码、训练好的模型权重都应公开,并报告软件库版本与硬件架构以避免环境差异导致的不可复现。文末强调这不是穷尽清单,隐私与伦理议题(如医疗数据)未展开,目的是开启社区对话。

关键图表

本文为短社论,无 figure。核心内容以分节小标题组织:Data reporting / Model reporting / Availability of data, code, and models / Final remarks——这四节本身即其"建议清单"的结构化呈现。

与我的关联

作为计算力学研究者若日后引入 ML(如数据驱动的本构模型、代理模型 surrogate model),这份清单即是投稿前自查表;尤其"固定随机种子 + 报告训练时间 + 公开训练好的模型"三点对力学社区尚不普及,值得在自身工作流中提前养成习惯。