ハイパーパラメータチューニングとは何ですか?

機械学習モデルをトレーニングする場合、各データセットとモデルには、一種の変数であるハイパーパラメータの異なるセットが必要です。これらを決定する唯一の方法は、ハイパーパラメータのセットを選択し、モデルを通じて実行する実験を複数回実施することです。これはハイパーパラメータチューニングと呼ばれます。その本質は、ハイパーパラメータのさまざまなセットを使用して、モデルを順番にトレーニングするということです。このプロセスは手動で実施できるほか、いくつかの自動化されたハイパーパラメータチューニングの方法のいずれかを通じて実施することもできます。

どちらの方法を使用する場合でも、実験の結果を追跡する必要があります。どのハイパーパラメータのセットが最良の結果をもたらすかを判断するには、損失関数などの何らかの形式の統計分析を適用する必要があります。ハイパーパラメータチューニングは、コンピューティングを多用する重要なプロセスです。

ハイパーパラメータとは何ですか?

ハイパーパラメータは、データサイエンティストが機械学習モデルのトレーニングを管理するために使用する外部設定変数です。モデルハイパーパラメータとも呼ばれるハイパーパラメータは、モデルをトレーニングする前に手動で設定されます。これらは、学習プロセス中に自動的に導出され、データサイエンティストによって設定されない内部パラメータであるパラメータとは異なります。

ハイパーパラメータの例には、ニューラルネットワークのノードと層の数、および決定木の分岐の数が含まれます。ハイパーパラメータは、モデルアーキテクチャ、学習率、モデルの複雑さなどの主要な特徴を決定します。

ハイパーパラメータを特定するにはどうすればよいですか?

ハイパーパラメータの適切なセットを選択することは、モデルのパフォーマンスと精度の点で重要です。残念ながら、ハイパーパラメータが最適に機能するルールや、ハイパーパラメータの最適な値やデフォルト値が決まっているわけではありません。最適なハイパーパラメータのセットを見つけるには実験が必要です。このアクティビティは、ハイパーパラメータチューニングまたはハイパーパラメータ最適化として知られています。

ハイパーパラメータチューニングが重要なのはなぜですか?

ハイパーパラメータは、モデルの構造、機能、およびパフォーマンスを直接制御します。ハイパーパラメータチューニングにより、データサイエンティストは、モデルのパフォーマンスを微調整して、最適な結果を得ることができます。このプロセスは機械学習の重要な部分であり、成功裏に実行するには、適切なハイパーパラメータ値を選択することが不可欠です。

例えば、モデルの学習率をハイパーパラメータとして使用しているとします。この値が高すぎると、モデルの収束が速すぎて、最適ではない結果が得られる可能性があります。一方、このレートが低すぎると、トレーニングに時間がかかりすぎて、結果が収束しない可能性があります。ハイパーパラメータを適切かつバランス良く選択することで、正確なモデルと優れたモデルパフォーマンスを実現できます。

ハイパーパラメータチューニングはどのように機能しますか?

前述のように、ハイパーパラメータチューニングは手動または自動で実行できます。手動のチューニングは時間がかかり面倒ですが、ハイパーパラメータの重み付けがモデルに及ぼす影響をより良く理解できるというメリットがあります。ただし、ほとんどの場合、通常はよく知られているハイパーパラメータ学習アルゴリズムのいずれかを使用します。

ハイパーパラメータチューニングのプロセスは反復的であり、パラメータと値のさまざまな組み合わせを試します。一般的には、最初に精度などのターゲット変数を主要メトリクスとして定義し、この変数を最大化または最小化します。モデルがデータの 1 つの部分に集中することがないようにするために、交差検証の手法を使用することをお勧めします。

ハイパーパラメータチューニングの手法にはどのようなものがありますか?

多数のハイパーパラメータチューニングアルゴリズムが存在しますが、最も一般的に使用されるタイプは、ベイズ最適化、グリッドサーチ、およびランダムサーチです。

ベイズ最適化

ベイズ最適化は、現在の知識に関連してイベントが発生する確率を記述するベイズの定理に基づく手法です。これをハイパーパラメータの最適化に適用すると、アルゴリズムは、特定のメトリクスを最適化するハイパーパラメータのセットから確率モデルを構築します。回帰分析を使用して、ハイパーパラメータの最適なセットを繰り返し選択します。

グリッドサーチ

グリッドサーチでは、ハイパーパラメータのリストとパフォーマンスメトリクスを指定すると、アルゴリズムはすべての可能な組み合わせから最適な組み合わせを決定します。グリッドサーチは良好に機能しますが、特に多数のハイパーパラメータを使用すると、比較的煩雑でコンピューティングの使用量が多くなります。

ランダムサーチ

グリッドサーチと類似の原則に基づいていますが、ランダムサーチはイテレーションごとにハイパーパラメータのグループをランダムに選択します。比較的少数のハイパーパラメータが主にモデルの結果を決定する場合に良好に機能します。

ハイパーパラメータの例にはどのようなものがありますか?

一部のハイパーパラメータは一般的ですが、実際には、アルゴリズムが特定のハイパーパラメータのセットを使用するのを目にすることがあります。その一例として、Amazon SageMaker が画像分類ハイパーパラメータを使用する方法と、SageMaker が XGBoost アルゴリズムハイパーパラメータを使用する方法についてお読みいただけます。

一般的なハイパーパラメータの例を次に示します。

  • 学習率とは、アルゴリズムが推定値を更新する率をいいます
  • 学習率減衰とは、学習を高速化するために時間の経過とともに学習率を徐々に低下させることをいいます
  • モメンタムとは、前のステップとの関係における次のステップの方向をいいます
  • ニューラルネットワークノードとは、各隠れ層のノード数をいいます
  • ニューラルネットワーク層とは、ニューラルネットワーク内の隠れ層の数をいいます
  • ミニバッチサイズとは、トレーニングデータのバッチサイズをいいます
  • エポックとは、トレーニング中にトレーニングデータセット全体がネットワークに表示される回数をいいます
  • Eta とは、過学習を防ぐためのステップサイズの縮小をいいます

AWS はハイパーパラメータチューニングをどのようにサポートできますか?

Amazon Web Services (AWS) では、フルマネージド型の機械学習 (ML) プラットフォームである Amazon SageMaker を提供しています。これを使用することで、自動モデルチューニングを実行できます。Amazon SageMaker 自動モデルチューニングは、データセットで複数のトレーニングジョブを実行することにより、ML モデルの最適なバージョンを見つけます。指定したアルゴリズムとハイパーパラメータの範囲が使用されます。

SageMaker は、ベイズサーチ理論に基づいたハイパーパラメータチューニングの方法のインテリジェントなバージョンを提供し、最短の時間で最適なモデルを見つけるように設計されています。ランダムサーチから開始しますが、その後、ハイパーパラメータの値に関してモデルがどのように動作しているかを学習します。詳細については、SageMaker でハイパーパラメータチューニングがどのように機能するかをお読みください

SageMaker 自動モデルチューニングは、新しいサーチ戦略である Hyperband もサポートしています。Hyperband は、コンピュータビジョンの問題に対処するディープニューラルネットワークなどの大規模モデルについて、ベイズサーチと比較して最大 3 倍の速さでハイパーパラメータの最適なセットを見つけることができます。

また、SageMaker を使用して自動モデルチューニングを実行する方法もお読みいただけます。SageMaker ハイパーパラメータチューニングモジュールを、組み込みの SageMaker アルゴリズム、カスタムアルゴリズム、および SageMaker の事前構築済みコンテナとともに使用します。このウェブページには、ハイパーパラメータ最適化の実行方法を学習するのに役立つ包括的な自己学習チュートリアルと演習が用意されています。

SageMaker の使用を開始するのは簡単です。必要なのは、無料の AWS アカウントを作成することだけです。AWS 無料利用枠では、有料での使用を開始する前に、SageMaker の 2 か月間の無料トライアルを利用できます。

AWS での次のステップ

追加の製品関連リソースを確認する
機械学習サービスをご覧ください 
無料のアカウントにサインアップ

AWS 無料利用枠にすぐにアクセスできます。

サインアップ 
コンソールで構築を開始する

AWS マネジメントコンソールで構築を始めましょう。

サインイン