跳到正文

综合项目:复现、质疑并扩展一个 D2L 实验

14 分钟

选择D2L中的MLP、CNN、序列或注意力实验,先严格复现基线,再提出一个由误差分析驱动的改动。最终交付既包含结果,也包含失败、计算成本和结论边界。

复现协议

记录教材版本、代码提交、数据、环境、超参数和随机种子。先跑原配置并与书中趋势比较;数值不完全相同要分析框架、硬件与随机差异。

冒烟测试

完成形状断言、小批过拟合、标签置乱、梯度检查和简单基线。任何一项失败,停止大规模训练并修管线。

单一研究问题

改动围绕一个假设,例如增强是否改善背景鲁棒性、归一化是否稳定深层训练。控制其他变量,至少多种子运行并给区间。

资源账本

报告参数、FLOPs近似、显存、训练时间、能耗或硬件。提高0.2分却增加十倍成本是否值得,要由使用场景判断。

失败与限制

展示未提升设置、域外和分组错误。不要从多次试验中只挑最好种子;所有主要比较纳入追踪。

交付

提交README、环境、配置、数据清单、代码、日志、检查点、图表、模型卡和复现命令。

最后让同伴随机选择一个种子和配置从零复跑,确认结论不是作者机器上的偶然状态。

读完D2L的真正标志,不是跑过所有章节,而是能把一个深度学习主张拆成可执行、可反驳、可复现的实验。

小纸条

D2L综合项目为什么要先复现基线,再尝试自己的改动?