Kaggle知识点:深度学习调参步骤

训练深度学习模型需要付出大量的努力和时间,深度学习调参是需要人工参与,且需要大量人工经验。

深度学习专家与入门学习者在经验上存在较大差异,本文将介绍深度学习调参的基础流程。

步骤1:选择网络结构

在开始一个新项目时,尝试重用一个已经可用的模型。

  • 选择完善的、常用的模型架构开始工作,然后开始构建自定义模型;
  • 设置模型架构的各种超参数,用于确定模型的大小和其他细节;
  • 网络结构应该考虑选择模型超参数的问题。可以一篇类似论文中推荐的网络结构;

步骤2:选择优化器

从问题类型代码中最流行的优化器开始。

  • 在所有问题和网络模型中,没有优化器是绝对最好的。
  • 建议使用成熟、流行的优化器,尤其是在开始新项目时。
  • 从简单的优化器开始,然后逐步调整优化器超参数。

步骤3:选择批大小

批量大小决定训练速度,不应该直接用来调整验证集的性能。

  • 理想的批量大小将是可用硬件支持的最大批量大小,批量大小是决定训练时间和计算资源消耗的关键因素。
  • 增加批大小可以减少开发周期,可以测试更多想法,批量大小不应被视为验证集性能的可调超参数。
  • 大部分情况下,只要超参数都经过良好调整并且训练步数足够,使用任何批量大小都应该可以获得相同的最终性能。

步骤4:初始化超参数

找到一个简单、相对快速、资源消耗相对较低的初始化方法,以获得“合理”的结果。

  • 确定初始化将需要一些手动配置,避免花里胡哨的东西
  • 选择快速且消耗最少资源的初始配置
  • 可以减少训练周期来尝试更多实验

步骤5:调整并优化模型

从一个简单的配置开始,逐步进行改进,同时深入了解问题,确保任何改进都有效。

  • 可以通过使用自动搜索追求性能最大化,但这不是一个实用的选择。
  • 大多数自动搜索算法都依赖于手动设计的搜索空间,该搜索空间定义了要搜索的配置集,搜索空间非常重要。
  • 随着不断尝试,会找到越来越好的配置,因此“最佳”模型将不断改进。

步骤6:分析实验结果

除了努力实现每组实验外,如果发现问题,需要分析实验结果

  • 每组实验都有一个特定的目标,如果我们提出正确的问题,我们通常会需要改进的地方。
  • 实验结果取决于实验是否充足,如搜索空间是否足够大?样本量是否足够?

参考资料

  • https://github.com/google-research/tuning_playbook

  • https://neptune.ai/blog/hyperparameter-tuning-in-python-complete-guide

  • https://www.coursera.org/learn/deep-neural-network

【竞赛报名/项目咨询请加微信:mollywei007】

上一篇

AMC考多少分才能晋级AIME? AIME晋级分数线

下一篇

深国交自然科学生物offer申请经验分享

你也可能喜欢

  • 暂无相关文章!

关注热点

返回顶部