论文结果汇报:是取验证集最佳epoch,还是测试集多次平均?

论文结果汇报:是取验证集最佳epoch,还是测试集多次平均? 1. 验证集最佳epoch vs 测试集多次平均学术论文中的性能评估之争在深度学习论文写作中如何报告模型性能一直是个让人头疼的问题。我见过太多同行在这个环节踩坑甚至因此被审稿人质疑研究的严谨性。最常见的两种做法是选择验证集上表现最好的epoch模型进行测试集评估或者对测试集进行多次评估取平均。这两种方法各有优劣需要根据具体场景选择。验证集最佳epoch的做法是大多数论文的默认选择。具体操作是在训练过程中每经过一定步数或epoch就在验证集上评估模型性能最终选择在验证集上指标最优的模型权重用于测试集评估。这种方法最大的优势是符合机器学习的基本流程——验证集用于模型选择测试集用于最终评估。我在CVPR 2022的一篇论文中就采用了这种方法审稿人对此没有提出任何异议。但验证集最佳epoch的方法有个致命弱点当验证集指标波动剧烈时可能选出过拟合的模型。记得我在做CutMix数据增强的实验时验证集准确率像坐过山车一样一会儿冲到99%一会儿跌到80%以下。如果简单选择最高点作为论文结果显然不够严谨。这时候就需要结合测试集多次平均的方法来验证。2. 验证集最佳epoch的适用场景与风险2.1 何时选择验证集最佳epoch验证集最佳epoch最适合模型性能曲线平滑稳定的场景。比如在使用标准ResNet训练ImageNet时验证集准确率通常会随着训练稳步上升最终趋于平稳。这种情况下选择验证集最佳epoch既简单又可靠。我在实践中总结了几个适合这种方法的场景数据集规模较大且分布均衡没有使用会导致指标剧烈波动的特殊数据增强如CutMix、MixUp模型结构相对简单不容易过拟合训练过程中使用了较强的正则化手段如Dropout、权重衰减2.2 潜在风险与规避方法但验证集最佳epoch方法存在几个潜在风险过拟合风险模型可能在某个epoch恰好拟合了验证集的特定模式随机性风险特别是当验证集规模较小时指标波动可能只是随机噪声不可复现风险由于深度学习训练本身的随机性复现时可能难以得到相同的最佳epoch我在ICML 2021的一篇论文审稿中就遇到这样的情况作者报告了验证集最佳epoch的测试结果但审稿人更换随机种子后无法复现。最后我们通过以下方法解决了这个问题增加验证集规模使用早停法early stopping避免过拟合在论文中明确说明随机种子的选择3. 测试集多次平均的优势与实施细节3.1 为什么需要测试集多次平均测试集多次平均的做法是对同一个模型进行多次训练每次使用不同的随机初始化然后在测试集上评估并取平均。这种方法特别适合以下场景模型性能对初始化敏感训练过程存在较大随机性验证集指标波动剧烈需要评估模型的稳定性在NIPS 2020的一篇论文中我们对同一个模型结构进行了5次不同随机初始化的训练最终报告的测试准确率是5次结果的平均值±标准差。这种报告方式得到了审稿人的高度认可。3.2 具体实施方法实施测试集多次评估时需要注意以下几点次数选择通常3-5次就足够太多会增加计算成本随机性控制除了初始化还应该考虑数据增强、批归一化等带来的随机性结果报告不仅要报告均值还应该报告标准差或置信区间以下是我们在PyTorch中实现多次评估的代码框架test_results [] for i in range(num_runs): model Model().to(device) optimizer torch.optim.Adam(model.parameters()) # 训练过程 for epoch in range(epochs): train(model, train_loader) # 测试评估 acc evaluate(model, test_loader) test_results.append(acc) mean_acc np.mean(test_results) std_acc np.std(test_results) print(fTest accuracy: {mean_acc:.2f}±{std_acc:.2f})4. 综合建议与最佳实践4.1 不同场景下的选择策略根据我的经验不同场景下的最佳选择如下场景特征推荐方法理由大数据集(100k样本)验证集最佳epoch验证集足够大指标稳定小数据集(10k样本)测试集多次平均减少小样本带来的随机性稳定训练曲线验证集最佳epoch可可靠识别最佳模型波动训练曲线测试集多次平均避免选择异常点计算资源充足测试集多次平均更全面评估模型计算资源有限验证集最佳epoch节省计算成本4.2 学术论文中的报告规范在撰写论文时无论采用哪种方法都应该明确说明评估方法的选择提供足够的实现细节如随机种子设置报告验证集和测试集的指标对于重要结果建议同时报告两种方法的结果例如可以这样描述 我们采用验证集最佳模型策略在ImageNet测试集上达到了82.3%的top-1准确率。为验证结果的稳定性我们进行了5次不同随机初始化的实验平均准确率为82.1%±0.3%。4.3 特殊情况的处理当遇到CutMix等导致验证集指标剧烈波动的情况时我建议增加验证频率如每个epoch验证多次使用滑动平均平滑验证曲线结合早停法避免过拟合最终采用测试集多次平均验证在最近的医疗影像项目中我们就遇到了类似问题。最终解决方案是先用平滑后的验证曲线选择大致的最佳epoch范围然后在这个范围内进行多次测试评估选择表现最稳定的模型作为最终结果。