本文档可帮助您更有效地训练深度学习模型。虽然本文档重点介绍了超参数调节,但它也涉及深度学习训练的其他方面,例如训练流水线实现和优化。
本文档假定您的机器学习任务是监督式学习问题或类似问题(例如自监督学习)。即便如此,本文档中的一些建议可能也适用于其他类型的机器学习问题。
目标群体
本文档面向至少具有机器学习和深度学习基础知识的工程师和研究人员。如果您没有该背景,请考虑学习机器学习速成课程。
为什么要写此文档?
目前,让深度神经网络在实践中正常运行需要大量的重复劳动和猜测。更糟糕的是,人们通过深度学习获得良好结果的实际食谱很少记录。纸上呈现最终结果的过程更加清晰,从而呈现出更简洁的故事情节;处理商业问题的机器学习工程师很少需要退一步来对他们的流程进行泛化处理。教科书往往会避开实用指南并优先考虑基本原则,即使其作者在应用工作中提供了实用建议时也是如此。
在准备创建此文档时,我们找不到实际能够说明如何通过深度学习取得良好效果的全面尝试。不过,我们在博文和社交媒体中发现了一些建议片段,可以看到研究论文附录中介绍的内容、关于特定项目或渠道的偶尔案例研究,以及许多令人困惑的内容。深度学习专家与使用高度相似方法的技能不全的从业者取得的成果之间有很大差异。但是,专家们很容易承认,他们所做的一些事情可能不充分。随着深度学习日趋成熟并对世界的影响越来越大,社区需要更多有关实用食谱的资源,包括对获得良好结果至关重要的所有实用细节。
我们团队由 5 名研究人员和工程师组成,他们从事深度学习工作多年,其中一些人最早从 2006 年开始从事深度学习。我们对语音识别、天文学等各个领域都采用了深度学习。在本文档中,我们根据自己的经验来训练神经网络、培训新的机器学习工程师,并向同事推荐深度学习实践。
我们很高兴地看到,深度学习技术已经从少数学术实验中实践出来,变成了数十亿人所使用的产品所依赖的技术。然而,深度学习在工程领域仍处在起步阶段,我们希望本文档能够鼓励其他人帮助系统化该领域的实验协议。
本文档的出现是为了让我们尝试巩固我们自己的深度学习方法。因此,它代表我们在撰写本文时的观点,而不是任何类型的客观事实。我们自己的超参数调节工作使它成为了我们的特别关注点,但也介绍了我们在工作中遇到的其他重要问题(或者发现了错误)。我们的目标是,让这项工作成为一份不断活泼的文档,随着我们的信念不断发展和完善。例如,我们两年前无法撰写关于调试和减少训练失败的资料,因为这些内容基于近期结果和正在进行的调查。
我们不可避免地需要更新部分建议,以体现新的结果并改进工作流程。我们不知道哪种最佳深度学习方法,但在社区开始写下和讨论不同的程序之前,我们不希望找到它。为此,我们建议读者如果发现我们的建议有问题,就会提出替代建议,并提供有说服力的证据,以便我们更新策略方案。我们还希望看到可能提供不同建议的替代指南和策略方案,以便我们能够以社区的身份遵循最佳做法。
关于该机器人表情符号
机器人 🤖? 表情符号表示我们想要进行更多研究的区域。 只有在尝试编写本指南时,才能完全清楚地了解深度学习从业者的工作流程中有多少有趣和被忽视的研究问题。