什么是超参数调优?
当您训练机器学习模型时,每个数据集和模型都需要一组不同的超参数,这些超参数是一种变量。确定这些超参数的唯一方式是通过多次实验,您需要在实验中选择一组超参数并在模型中运行。这个过程称为超参数调优。本质上,您是在用不同的超参数集按顺序训练模型。这个过程可以手动进行,也可以从若干种自动超参数调优方法中选择一种。
无论您使用哪种方法,都需要跟踪实验结果。您必须应用某种形式的统计分析,例如损失函数,以确定哪一组超参数的结果最佳。超参数调优是一种重要的计算密集型流程。
什么是超参数?
超参数是数据科学家用来管理机器学习模型训练的外部配置变量。有时也称为模型超参数,超参数会在训练模型前手动进行配置。与参数不同,超参数是在学习过程中自动导出的内部参数,而不是由数据科学家设置的。
超参数示例包括神经网络中节点和层的数量,以及决策树中分支的数量。超参数决定关键特征,如模型架构、学习率和模型复杂性。
如何识别超参数?
选择一组合适的超参数对于模型性能和准确度至关重要。遗憾的是,目前没有固定的规则可以确定哪些超参数最有效,以及它们的最佳值或默认值。您需要进行实验来找到最优超参数集。这种活动被称为超参数调优或超参数优化。
为什么超参数调优至关重要?
超参数直接控制模型结构、函数和性能。超参数调优让数据科学家能够调整模型性能,以取得最佳结果。此流程是机器学习中的一个关键步骤,选择合适的超参数值对于成功至关重要。
例如,假设您使用模型的学习率作为超参数。如果值过高,则模型收敛速度可能过快,导致出现不理想的结果。而如果学习率过低,训练时间过长,结果就可能无法收敛。选择良好且平衡的超参数可以得到准确的模型和出色的模型性能。
超参数调优的工作原理是什么?
如前所述,超参数调优可以手动进行,也可以自动进行。虽然手动调优速度缓慢且较为枯燥,但好处是可以更好地了解超参数权重如何影响模型。但在大多数情况下,您通常会使用熟悉的超参数学习算法。
超参数调优流程是一个迭代过程,您可以尝试不同的参数和值组合。您通常先定义一个目标变量(例如准确度)作为主要指标,并打算最大化或最小化该值。使用交叉验证技术是个好主意,这样您的模型就不会以数据中的某一部分为中心。
什么是超参数调优技术?
虽然存在许多超参数调优算法,但最常用的是贝叶斯优化、网格搜索和随机搜索。
贝叶斯优化
贝叶斯优化是一种基于贝叶斯定理的技术,它描述了与当前知识相关的事件发生的概率。将贝叶斯优化用于超参数优化时,算法会从一组超参数中构建一个概率模型,以优化特定指标。它使用回归分析迭代地选择最佳的一组超参数。
网格搜索
借助网格搜索,您可以指定一组超参数和性能指标,然后算法会遍历所有可能的组合来确定最佳匹配。网格搜索很好用,但它相对乏味且计算量大,特别是使用大量超参数时。
随机搜索
虽然随机搜索与网格搜索基于相似的原则,但随机搜索在每次迭代时会随机选择一组超参数。当相对较少的超参数主要决定模型的结果时,该方法效果良好。
有哪些超参数示例?
虽然一些超参数十分常见,但在实践中,您会发现算法使用特定超参数集。例如,您可以了解 Amazon SageMaker 如何使用图像分类超参数,以及了解 SageMaker 如何使用 XGBoost 算法超参数。
下面是一些常见超参数示例:
- 学习率是指算法更新估算值的速率
- 学习率衰减是指随着时间的推移,逐渐降低学习率,以加快学习速度
- 动量是指下一步相对于前一步的方向
- 神经网络节点是指每个隐藏层中的节点数量
- 神经网络层是指神经网络中隐藏层的数量
- 小批次大小是指训练数据批次大小
- Epoch 是指训练数据集在训练期间被完整地传递给网络的次数
- Eta 是指用于防止过拟合的收缩步长
AWS 在超参数调优方面可以为我提供哪些帮助?
Amazon Web Services (AWS) 提供 Amazon SageMaker,这是一种完全托管式机器学习(ML)平台,让您可以执行自动模型调优。Amazon SageMaker 模型训练会在您的数据集上运行多个训练任务,从而找到最适合您机器学习模型的版本。该功能使用特定算法和超参数范围。
SageMaker 提供基于贝叶斯搜索理论的智能超参数调优方法,旨在以最短的时间找到最佳模型。它从随机搜索开始,然后学习模型在超参数值方面的行为。如需更多信息,请了解 SageMaker 中超参数调优的工作原理。
SageMaker 自动模型调优还支持新的搜索策略 Hyperband。对于解决计算机视觉问题的深度神经网络等大型模型,Hyperband 找到一组最优超参数的速度高达贝叶斯搜索的 3 倍。
您还可以了解如何使用 SageMaker 执行自动模型调优。您可以使用内置 SageMaker 算法、自定义算法和 SageMaker 预建容器的 SageMaker 超参数调优模块。该网页提供了全面的自学教程和练习,帮助您学习如何执行超参数优化。
SageMaker 上手十分简单,您只需要创建一个免费的 AWS 账户即可。借助 AWS Free Tier,您可以先免费试用 SageMaker 两个月,然后再决定是否要购买。