技能 数据科学 AI/模式识别实验可复现性指南

AI/模式识别实验可复现性指南

v20260724
prai-reproducibility
本技能提供了全面的指南,旨在帮助作者确保模式识别和机器学习研究的实验结果具有高度可复现性。它指导用户固定随机种子、锁定软硬件环境、规范数据处理流程,并组织完整的复现材料包,是提升学术结果可靠性和可信度的关键步骤。
获取技能
253 次下载
概览

《模式识别与人工智能》可复现性与实验可重复

本技能帮助为《模式识别与人工智能》(Pattern Recognition and Artificial Intelligence, PR&AI) 论文 建立可复现的实验证据。模式识别/机器学习结果易受随机性、环境与数据划分影响,可复现性直接关系外审 对结果的信任。事实核验日期 2026-07-09,见 resources/official-source-map.md;本刊是否设强制 代码/数据可用性或复现要求 待核实,以官网当期须知为准。

一、随机性控制

  • 固定所有随机源的种子:框架(PyTorch/NumPy/Python)、数据打乱、初始化、增强。
  • 记录是否使用确定性算子(如 cudnn.deterministic),并说明其对速度的影响。
  • 报告多次运行的均值±标准差(与 prai-experiments 一致),而非单次幸运结果。

二、环境与依赖锁定

记录方式
Python/框架版本 requirements.txt / environment.yml 精确版本
CUDA/cuDNN/驱动 写入 README,影响可复现
硬件 GPU 型号与数量、显存、CPU
容器 可选 Dockerfile 固化环境

三、数据与划分固定

  • 数据集划分(train/val/test)固定并随复现包提供划分文件或脚本。
  • 预处理(归一化、裁剪、分词、采样)脚本化、可重跑、对所有方法一致。
  • 数据来源与许可写清;不可公开的数据说明获取途径与替代验证方式。
  • 排查数据泄漏:划分无重叠、预训练语料与评测集不重叠。

四、预训练与大模型记录

  • 记录预训练权重来源、版本、checkpoint 标识。
  • 若用大模型/外部 API,记录模型版本与调用日期(模型会更新,影响可复现)。
  • 说明是否可能在预训练阶段见过评测数据(污染风险)。

五、复现包组织(建议结构)

artifact/
  README.md          # 环境、一键复现步骤、结果对照说明
  requirements.txt   # 精确依赖
  configs/           # 每个实验的配置(含种子)
  scripts/run_all.sh # 一键复现主结果
  data/README.md     # 数据获取与划分说明(大数据走稳定托管)
  results/           # 期望产物(对照论文表图)

六、干净环境冒烟测试

投稿前在全新环境跑一次,确认从零可复现(参见 resources/code/README.md):

python3 -m venv .venv && . .venv/bin/activate
pip install -r requirements.txt
bash scripts/run_all.sh --seed 20260709
# 人工比对 results/ 与论文主表/主图

七、稳定托管

  • 大数据集、预训练权重不塞进代码仓库;用可分配 DOI 的归档或稳定对象存储。
  • 代码用版本库并打 tag / 固定 commit,论文引用该版本。
  • 链接长期可访问;避免个人临时网盘等易失链接。

八、与投稿匿名的协调

  • 若本刊审稿要求作者信息与正文分离(是否双盲 待核实),复现材料也要去身份:清理仓库用户名、 机构路径、邮箱、致谢显名。
  • 匿名托管可用于外审阶段;录用后再换正式署名版本(见 prai-camera-ready)。

九、可复现性自检清单

  1. 种子是否全固定、是否多次运行报告均值±标准差?
  2. 依赖/CUDA/硬件是否记录?
  3. 数据划分与预处理是否固定、可重跑、无泄漏?
  4. 预训练/大模型版本是否记录?
  5. 复现包是否能在干净环境一键跑通并对上主表?
  6. 大数据/权重是否稳定托管、代码是否打 tag?
  7. 审外材料是否已按匿名要求去身份(若需)?

十、与其他技能衔接

  • 上游 prai-experiments 定证据;平级 prai-artifact-evaluation 讲可用性声明;prai-supplementary 决定哪些复现细节进附录。投稿前核对见 prai-submission

十一、可复现性的三个层次

为《模式识别与人工智能》(Pattern Recognition and Artificial Intelligence, PR&AI) 论文规划可复现性 时,区分三个由易到难的层次,逐层夯实:

层次 含义 关键动作
结果可重复 同代码同环境能复现论文数字 固定种子、锁环境、提供一键脚本
方法可复现 他人按论文描述能重实现 方法/超参/训练细节写清
结论可推广 结论在新数据/设定下仍成立 多数据集、跨设定验证

第一层是底线,第二层靠写作透明度(见 prai-writing-style),第三层靠实验广度(见 prai-experiments)。三层都强,外审对结果的信任度最高。

十二、随机性与硬件差异的现实处理

深度学习实验受 GPU 非确定性算子、浮点累加顺序等影响,即使固定种子也可能有微小波动:

  • 坦诚报告这类波动:用多次运行的均值±标准差吸收随机性,而非追求逐位复现。
  • 记录 cudnn 确定性设置及其对速度的影响,让复现者可权衡。
  • 硬件差异(不同 GPU 型号)可能改变绝对数值,报告时说明硬件,比较时保持同一硬件。
  • 关键结论应对随机种子稳健:若换个种子结论就翻转,说明证据不足,需回 prai-experiments 加强。

十三、复现材料与论文的对照说明

复现包的 README 要给一张"论文表图 ↔ 复现命令 ↔ 期望产物"的对照表,让外审或读者能按图索骥:例如 "论文表 2 主结果 → 运行 scripts/run_all.sh → 产物在 results/main/"。这张对照表是可复现性的"目录", 也是自查是否每个关键结果都可复现的工具。凡不可公开的部分,在对照表中标明原因与替代验证途径,与 prai-artifact-evaluation 的可用性声明保持一致。

输出格式

[PR&AI 可复现] 达标 / 待补
[随机性] 种子全固定?多次运行均值±标准差?
[环境] 依赖/CUDA/硬件是否记录:___
[数据] 划分固定?预处理脚本化?无泄漏?
[大模型] 版本/日期是否记录:___
[复现包] 干净环境一键跑通并对上主表:是/否
[托管] 大数据稳定托管?代码打 tag?
[匿名(若需)] 材料是否去身份:___
[待补项] ___
信息
Category 数据科学
Name prai-reproducibility
版本 v20260724
大小 6.71KB
更新时间 2026-07-29
语言