ハイパーパラメータの範囲を定義する - アマゾン SageMaker

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

ハイパーパラメータの範囲を定義する

ハイパーパラメータ調整は、ある範囲のハイパーパラメータを検索して、モデルに最適なハイパーパラメータ値を見つけます。検索するハイパーパラメータと値の範囲を指定するには、調整ジョブのハイパーパラメータの範囲を定義します。ハイパーパラメータと範囲を選択すると、調整ジョブのパフォーマンスに大きく影響します。ハイパーパラメータと範囲の選択に関するガイダンスについては、ハイパーパラメータ調整のベストプラクティスを参照してください。

低レベル API を使用してハイパーパラメータの範囲を定義するには、CreateHyperParameterTuningJob オペレーションに渡す HyperParameterTuningJobConfig パラメータの ParameterRanges フィールドに、ハイパーパラメータの名前と値の範囲を指定します。ParameterRanges フィールドには、カテゴリ別、整数、および連続ハイパーパラメータの各範囲に 1 つずつ、合計 3 つのサブフィールドがあります。検索するハイパーパラメータを最大 20 個まで定義できます。カテゴリ別ハイパーパラメータ範囲の各値は、制限に対するハイパーパラメータとしてカウントされます。ハイパーパラメータの範囲は次のような構造を持っています。

"ParameterRanges": { "CategoricalParameterRanges": [ { "Name": "tree_method", "Values": ["auto", "exact", "approx", "hist"] } ], "ContinuousParameterRanges": [ { "Name": "eta", "MaxValue" : "0.5", "MinValue": "0", "ScalingType": "Auto" } ], "IntegerParameterRanges": [ { "Name": "max_depth", "MaxValue": "10", "MinValue": "1", "ScalingType": "Auto" } ] }

ハイパーパラメータのスケーリング

整数のハイパーパラメータ範囲および連続したハイパーパラメータ範囲では、ハイパーパラメータ範囲の ScalingType フィールドに値を指定することで、ハイパーパラメータの調整で使用するスケールを選択して値の範囲を検索できます。次のスケーリングタイプから選択できます。

Auto

ハイパーパラメータの最適なスケールを SageMaker ハイパーパラメータの調整が選択します。

線形

ハイパーパラメータの調整では、線形スケールを使用してハイパーパラメータ範囲内の値を検索します。通常、すべての値の最低から最高までの範囲が比較的小さい (1 桁違いである) 場合に、線形スケールを選択します。範囲内の値の均一な検索により、範囲全体を適切に探索できるためです。

対数

ハイパーパラメータの調整では、対数を使用してハイパーパラメータ範囲内の値を検索します。

対数スケールは、範囲内の値が 0 より大きい場合にのみ使用できます。

対数スケールは、数桁違いの値の範囲を検索する場合に使用します。たとえば、線形学習モデルを調整する モデルの調整で、learning_rate ハイパーパラメータに対して値の範囲として 0.0001~1.0 を指定する場合、対数スケールでの均一な検索では、線形スケールでの検索よりも範囲全体のより適切なサンプルが得られます。線形スケールでの検索は、平均でトレーニング予算の 90% が 0.1~1.0 の値にのみ費やされ、トレーニング予算の 10% のみが 0.0001~0.1 の値に費やされるためです。

逆対数

ハイパーパラメータの調整では、逆対数スケールを使用してハイパーパラメータ範囲内の値を検索します。逆対数スケールは、連続したハイパーパラメータ範囲でのみサポートされています。整数のハイパーパラメータ範囲ではサポートされていません。

逆対数スケールは、範囲全体が範囲 0<=x<1.0 内に収まる場合にのみ使用できます。

小さい変更 (1 に非常に近い変更) に対して極めて敏感である範囲を検索する場合に、逆対数スケールを選択します。

ハイパーパラメータスケールを使用するノートブックの例については、https://github.com/awslabs/amazon-sagemaker-examples/blob/master/hyperparameter_tuning/xgboost_random_log/hpo_xgboost_random_log.ipynb を参照してください。