Amazon SageMaker AI で利用可能なハイパーパラメータ調整戦略を理解する - Amazon SageMaker AI

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon SageMaker AI で利用可能なハイパーパラメータ調整戦略を理解する

深層学習ニューラルネットワークのような複雑な機械学習システムを構築するとき、可能なすべての組み合わせを探索することは実用的ではありません。ハイパーパラメータ調整を行うことで、モデルのさまざまなバリエーションを試して生産性を高めることができます。指定した範囲内で最も有望なハイパーパラメータ値の組み合わせに注目して、最適なモデルを自動的に探します。良い結果を得るためには、探索する正しい範囲を選択する必要があります。このページでは、Amazon SageMaker AI で使用できるさまざまなハイパーパラメータ調整戦略を簡単に説明します。

API リファレンスガイドを使用して、ハイパーパラメータ調整の操作方法を理解します。このページで説明されているチューニング戦略は、 HyperParameterTuningJobConfigおよび HyperbandStrategyConfig で使用できますAPIs。

注記

アルゴリズム自体は確率論的であるため、ハイパーパラメータチューニングモデルが最善の結果に収束できない可能性もあります。これは、最適な値の組み合わせが指定した範囲内であっても起こる可能性があります。

グリッド検索では、ハイパーパラメータの調整では、ジョブの作成時に指定したカテゴリ値の範囲から値の組み合わせを選択します。グリッド検索戦略を使用する場合、カテゴリパラメータのみがサポートされます。MaxNumberOfTrainingJobs を指定する必要はありません。チューニングジョブによって作成されたトレーニングジョブの数は、異なるカテゴリの可能な組み合わせの総数になるように自動的に計算されます。MaxNumberOfTrainingJobs を指定した場合、この値は、異なるカテゴリの可能な組み合わせの合計数と等しくなる必要があります。

ランダム検索を使用する場合、ハイパーパラメータチューニングにより、起動するトレーニングジョブごとに指定する範囲でハイパーパラメータ値のランダムな組み合わせが選択されます。ハイパーパラメータ値の選択は、以前のトレーニングジョブの結果には依存しません。その結果、チューニングのパフォーマンスを変更することなく、同時トレーニングジョブの最大数を実行できます。

ランダム検索を使用するノートブックの例については、「 を使用した SageMaker XGBoostランダム検索とハイパーパラメータスケーリング」および「自動モデル調整ノートブック」を参照してください。

ベイズ最適化

ベイズ最適化は、回帰問題などのハイパーパラメータの調整を扱います。入力機能 (ハイパーパラメータ) のセットがある場合、ハイパーパラメータの調整は、選択されたメトリクスについてモデルを最適化します。回帰問題を解決するため、ハイパーパラメータチューニングでは、どのハイパーパラメータの組み合わせが最善の結果をもたらす可能性があるかが推測されます。その後、トレーニングジョブを実行してこれらの値をテストします。ハイパーパラメータの調整では、ハイパーパラメータ値のセットをテストした後で、回帰を使用して、次にテストするハイパーパラメータ値のセットを選択します。

ハイパーパラメータ調整では、ベイズ最適化の Amazon SageMaker AI 実装を使用します。

ハイパーパラメータの調整では、次のトレーニングジョブに最適なハイパーパラメータを選択する際に、この問題について現時点までに判明しているすべての点を考慮します。選択されるハイパーパラメータ値の組み合わせは、以前にパフォーマンスの漸進的な改善に最適なトレーニングジョブをもたらした組み合わせに近いものになる場合があります。これにより、ハイパーパラメータチューニングでは、既知の結果のうち最善のものを使用できます。また、これまで試されたものとは大きく異なるハイパーパラメータ値のセットが選択される場合もあります。これにより、ハイパーパラメータ値の範囲を探索して、まだ十分に理解されていない新しい領域を見つけることができます。探索/エクスプロイトのトレードオフは、多くの機械学習で一般的な問題です。

ベイズ最適化の詳細については、以下を参照してください。

Hyperband

Hyperband は、リソースを動的に再割り当てする多重忠実度ベースの調整方法です。Hyperband では、トレーニングジョブの中間結果と最終結果の両方を使用して、使用率の高いハイパーパラメータ構成にエポックを再割り当てし、パフォーマンスの低いものは自動的に停止します。また、多数の並列トレーニングジョブを使用して、シームレスにスケールします。これらの機能により、ランダム検索やベイズ最適化戦略よりもハイパーパラメータ調整を大幅に高速化できます。

Hyperband は、異なるリソースレベルで結果を公開する反復アルゴリズムの調整のみに使用してください。たとえば、Hyperband は、エポックごとに精度メトリクスを公開する画像分類用のニューラルネットワークの調整に使用できます。

Hyperband のベストプラクティスの詳細については、次のリンクを参照してください。

早期停止機能を使用した Hyperband

ハイパーパラメータ調整ジョブの目標メトリクスが改善される可能性が低い場合、トレーニングジョブを早期に停止できます。これにより、計算時間を短縮し、モデルのオーバーフィットを防ぐことができます。Hyperband では高度な内部メカニズムを使用して早期停止を適用します。Hyperband の内部早期停止機能OFFを使用する場合は、 TrainingJobEarlyStoppingTypeの パラメータを に設定HyperParameterTuningJobConfigAPIする必要があります。

注記

ハイパーパラメータ調整を行ってもモデルが改善されない場合もあります。これは、機械ソリューションを構築するための高度なツールです。このため、科学的開発プロセスの一部と見なす必要があります。