超级参数和 HPO - Amazon Personalize
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

超级参数和 HPO

超级参数用于优化经过训练的模型,在训练开始之前设置。这与模型参数相反,后者的值在训练过程中确定。

超参数是使用 algorithmHyperParameters 键指定的,该键是传递到 CreateSolution 操作的 SolutionConfig 对象的一部分。

一个精简版本的CreateSolution请求如下。此示例包括solutionConfig对象。您可以使用solutionConfig来覆盖配方的默认参数。当 performAutoMLtrue 时,将忽略 solutionConfig 对象的所有参数,autoMLConfig 除外。

{ "name": "string", "performAutoML": boolean, "recipeArn": "string", "performHPO": boolean, "eventType": "string", "solutionConfig": { "optimizationObjective": { "itemAttribute": "string, "objectiveSensitivity": "string" } "autoMLConfig": { "metricName": "string", "recipeList": [ "string" ] }, "eventValueThreshold": "string", "featureTransformationParameters": { "string" : "string" }, "algorithmHyperParameters": { "string" : "string" }, "hpoConfig": { "algorithmHyperParameterRanges": { ... }, "hpoResourceConfig": { "maxNumberOfTrainingJobs": "string", "maxParallelTrainingJobs": "string" } }, }, }

使用不同超级参数的不同配方。有关可用的超级参数,请参阅第 1 步:选择配方中的各个配方。

启用超参数优化

超参数优化 (HPO) 或调整是针对特定学习目标选择最佳超参数的任务。最佳超级参数是通过运行使用来自指定可能性范围的不同值的很多训练任务确定的。默认情况下,Amazon Personalize Simple (Amazon Simple) 不执行 HPO。要使用 HPO,请将 performHPO 设置为 true,并包含 hpoConfig 对象。

超参数可以是分类值、连续值或整数值。hpoConfig 对象具有与所有这些类型对应的键,您可以在其中指定超级参数及其范围。请注意,并非所有超级参数都可以调整(请参阅配方表)。有关 HPO 的更多信息,请参阅自动调整模型

以下是一个示例:CreateSolution请求使用HRNN配方,HPO 设置为true

{ "performAutoML": false, "recipeArn": "arn:aws:personalize:::recipe/aws-hrnn", "performHPO": true, "solutionConfig": { "algorithmHyperParameters": { "hidden_dimension": "55" }, "hpoConfig": { "algorithmHyperParameterRanges": { "categoricalHyperParameterRanges": [ { "name": "recency_mask", "values": [ "true", "false" ] } ], "integerHyperParameterRanges": [ { "name": "bptt", "minValue": 20, "maxValue": 40 } ] }, "hpoResourceConfig": { "maxNumberOfTrainingJobs": "4", "maxParallelTrainingJobs": "2" } } } }

查看超参数

训练完成后,您可以通过调用DescribeSolutionVersionoperation. 以下示例显示了压缩的 DescribeSolutionVersion 输出,其中在 tunedHPOParams 对象中显示了经过优化的超参数。

{ "solutionVersion":{ "creationDateTime":1562191944.745, "datasetGroupArn":"arn:aws:personalize:us-west-2:000000000000:dataset-group/hpo", "lastUpdatedDateTime":1562194465.075, "performAutoML":false, "performHPO":true, "recipeArn":"arn:aws:personalize:::recipe/aws-hrnn", "solutionArn":"arn:aws:personalize:us-west-2:000000000000:solution/hpo", "solutionVersionArn":"arn:aws:personalize:us-west-2:000000000000:solution/hpo/5a515609", "status":"ACTIVE", "tunedHPOParams":{ "algorithmHyperParameters":{ "hidden_dimension":"58", "recency_mask":"false" } } } }