Amazon でのハイパーパラメータチューニングの SageMaker 仕組み - Amazon SageMaker

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

Amazon でのハイパーパラメータチューニングの SageMaker 仕組み

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

API リファレンスガイドを使用して、ハイパーパラメータチューニングを操作する方法を理解します。このページの例は、 HyperParameterTuningJobConfigおよび HyperbandStrategyConfig にありますAPIs。

注記

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

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

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

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

ベイズ最適化

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

ハイパーパラメータチューニングでは、Amazon のベイズ最適化の SageMaker 実装を使用します。

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

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

Hyperband

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

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

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

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

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

注記

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