了解 Amazon 中提供的超参数调整策略 SageMaker - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

了解 Amazon 中提供的超参数调整策略 SageMaker

在您生成复杂机器学习系统时,例如深度学习神经网络,探讨所有可能的组合不切实际。超参数调优可以通过尝试模型的多种变体来提高工作效率。它通过关注指定范围内最有前途的超参数值组合,以自动寻找最佳模型。要获得良好的结果,您必须选择合适的探索范围。本页简要说明了您可以在 Amazon SageMaker 上使用的不同超参数调整策略。

使用API参考指南了解如何与超参数调整进行交互。您可以将本页上描述的调整策略与HyperParameterTuningJobConfig和一起使用HyperbandStrategyConfigAPIs。

注意

由于算法本身是随机的,因此超参数调整模型可能无法集中在最佳答案上。即使可能的最佳值组合在您选择的范围内,也可能发生这种情况。

使用网格搜索时,超参数调优从您在创建作业时所指定的分类值范围中选择值的组合。使用网格搜索策略时,仅支持分类参数。您无需指定 MaxNumberOfTrainingJobs。调整作业创建的训练作业数量会自动计算为可能的不同类别组合的总数。如果指定,则 MaxNumberOfTrainingJobs 的值应等于可能的不同分类组合的总数。

使用随机搜索时,超参数调整会在您为其启动的每个训练作业指定的范围内随机选择超参数值组合。超参数值的选择不取决于先前训练作业的结果。因此,您可以在不更改调整性能的情况下运行最大数量的并发训练作业。

有关使用随机搜索的笔记本示例,请参阅使用随机搜索和超参数缩放 SageMaker XGBoost以及自动模型调整笔记本。

贝叶斯优化

贝叶斯搜索将超参数调优视为回归问题。给定一组输入特征(超参数),超参数调优会针对您选择的指标来优化模型。为了解决回归问题,超参数调整可以猜测哪些超参数组合可能获得最佳结果。然后,它会运行训练作业来测试这些值。在测试了一组超参数值之后,超参数调优使用回归来选择要测试的下一组超参数值。

超参数调整使用 Amazon SageMaker 实现的贝叶斯优化。

在选择下一个训练作业的最佳超参数时,超参数调优会考虑迄今为止所了解到的有关此问题的全部信息。有时,它会选择与导致先前最佳训练作业的组合接近的超参数值组合,以逐步提高性能。这允许超参数调整使用已知的最佳结果。其他时候,它会选择一组远离已尝试过的值的超参数值。这使得它可以探索超参数值的范围,以尝试找到新的尚未了解的领域。探索/利用的权衡在许多机器学习问题中都很常见。

有关贝叶斯优化的更多信息,请参阅以下内容:

Hyperband

Hyperband 是一种基于多保真度的调优策略,可以动态地重新分配资源。Hyperband 使用训练作业的中间结果和最终结果,将周期重新分配给利用率高的超参数配置,并自动停止那些表现不佳的超参数配置。它还可以无缝扩展以使用大量并行训练作业。与随机搜索和贝叶斯优化策略相比,这些功能可以显著加快超参数调优的速度。

Hyperband 只能用于调整在不同资源级别发布结果的迭代算法。例如,Hyperband 可用于调整用于图像分类的神经网络,该神经网络会在每个周期之后发布准确性指标。

有关 Hyperband 的更多信息,请参阅以下链接:

具提前停止功能的 Hyperband

如果训练作业不太可能改进超参数调优作业的目标指标,则训练作业可以提前停止。这有助于缩短计算时间并避免模型过度拟合。Hyperband 使用先进的内部机制来实现提前停止。使用 Hyperband 内部提前停止功能OFF时,HyperParameterTuningJobConfigAPI必须将TrainingJobEarlyStoppingType中的参数设置为。

注意

超参数调优可能不会改进您的模型。它是用于构建机器解决方案的高级工具。因此,应将其视为科学发展过程的一部分。