マイIBM ログイン ニュースレター
ハイパーパラメーターのチューニングとは

ハイパーパラメーターのチューニングとは

IBM watsonx.aiはこちら Thinkニュースレターの購読
雲、円グラフ、グラフのピクトグラム

公開日:2024年7月23日
寄稿者:Ivan Belcic、Cole Stryker

ハイパーパラメーターのチューニングとは

ハイパーパラメーターのチューニングとは

ハイパーパラメーターのチューニングとは、機械学習モデルのトレーニングに使用する最適なハイパーパラメーターを特定して選択する手法です。ハイパーパラメーターのチューニングを正しく行うと、機械学習モデルの損失関数を最小化することができます。つまり、モデルのパフォーマンスが可能な限り正確になるようにトレーニングされるということです。

ハイパーパラメーターのチューニングは実験的な手法であり、最適な値が特定されるまで、繰り返すたびにさまざまなハイパーパラメーター値がテストされます。このプロセスは、ハイパーパラメーターが学習プロセスを制御するため、モデルのパフォーマンスにとって重要です。ニューラル・ネットワーク内のニューロンの量、生成AIモデルの学習率、サポート・ベクター・マシンのカーネル・サイズはすべて、ハイパーパラメーターの例です。

ハイパーパラメーターを適切にチューニングするということは、機械学習モデルが意図したタスクのメトリクスに従って、全体的により優れたパフォーマンスを発揮することを意味します。ハイパーパラメーターのチューニングが、ハイパーパラメーターの最適化とも呼ばれるのは、この理由のためです。

適切なAI基盤モデルの選択方法

データ・セットの準備とAIモデルの採用において、適切なアプローチを選択する方法をご覧ください。

関連コンテンツ CEOによる生成AIガイド
ハイパーパラメーターとは

ハイパーパラメーターとは

ハイパーパラメーターとは、データサイエンティストが機械学習モデルのトレーニング・プロセスを管理するために事前に設定する構成変数のことです。生成AIやその他の確率的モデルは、トレーニング・データから学んだ知識を適用し、タスクに対して最も可能性の高い結果を予測します。ハイパーパラメーターの適切な組み合わせを見つけることは、教師あり学習モデルと教師なし学習モデルの両方から最高のパフォーマンスを引き出すために不可欠です。

正則化ハイパーパラメーター

正則化ハイパーパラメーターは、モデルの容量または柔軟性、つまり、データを解釈する際の自由度を制御します。重みを小さくしすぎると、モデルは適切な予測を行うのに十分な具体性を得ることができなくなります。重みを大きくしすぎると、モデルは過剰適合(過学習)に陥ります。つまり、モデルはトレーニング・データに過剰に適合して、現実世界での使用にはニッチすぎるものになってしまいます。

ハイパーパラメーターとモデル・パラメーターの比較

データサイエンスにおけるハイパーパラメーターとモデル・パラメーターの主な違いは、モデルが自ら取り込んだトレーニング・データ・セットからパラメーターを学習または推定するのに対し、データサイエンティストはトレーニング・プロセスの開始前にモデルのアルゴリズムのハイパーパラメーターを定義することです。モデルは作業に合わせてパラメーターを更新し続けますが、モデルのハイパーパラメーターの最適値は事前に特定および設定されます。

ハイパーパラメーターのチューニングが重要な理由

ハイパーパラメーターのチューニングが重要な理由

ハイパーパラメーターのチューニングが重要な理由は、それがモデルの構造、トレーニング効率、パフォーマンスの基になるからです。ハイパーパラメーターの最適な構成により、現実世界でのモデル・パフォーマンスが向上します。大規模言語モデル運用(LLMOPs)は、適切なチューニングの効率面を重視し、必要な計算能力を最小限に抑えることに重点を置いています。

偏りと分散

ハイパーパラメーターのチューニングの目的は、偏りと分散のトレードオフのバランスを取ることです。偏りとは、モデルの予測と現実との乖離のことです。チューニングが不十分なモデルや学習不足のモデルの場合、データポイント間の重要な関係を識別できず、正確なパフォーマンスに必要な結論を導き出すことができません。

分散とは、新しいデータに対するモデルの感度のことです。信頼できるモデルは、トレーニング・データから他のデータ・セットに移行する際に、一貫した結果をもたらす必要があります。しかし、分散レベルが高いモデルは複雑すぎて、元のトレーニング・データ・セットに過剰に適合してしまうため、新しいデータへの対応に苦労します。

偏りの小さいモデルは正確である一方、分散が小さいモデルは一貫性があります。ハイパーパラメーターを適切にチューニングすることにより、ジョブに最適なモデルが作成されると同時に、トレーニング中の計算リソース効率も最大化されます。

ハイパーパラメーターの例

ハイパーパラメーターの例

どの機械学習アルゴリズムも、それぞれのハイパーパラメーター・セットを優先するため、いかなる場合も最大化の必要はありません。場合によっては、ハイパーパラメーターをチューニングする際に、より保守的なアプローチを採用することで、パフォーマンスが向上することもあります。

ニューラル・ネットワークのハイパーパラメーター

ニューラル・ネットワークは、人間の脳から着想を得たもので、互いに信号を送り合う、相互接続されたノードで構成されています。ここでは、ニューラル・ネットワーク・モデルのトレーニングで使用される最も一般的なハイパーパラメーターをいくつかご紹介します。

    学習率

    学習率は、モデルが1回の反復においてパラメーターを調整する速度を指定します。この調整はステップと呼ばれます。学習率が高いということは、モデルの調整速度が上がるということですが、パフォーマンスが不安定になり、データ・ドリフトが生じるリスクがあります。一方、学習率が低いと時間がかかり、より多くのデータが必要になりますが、データサイエンティストがモデルの最小損失を特定する可能性も高くなります。勾配降下の最適化は、設定された学習率を必要とするトレーニング・メトリクスの一例です。

    学習率の減衰

    学習率の減衰は、ネットワークの学習率を時間の経過とともに低下させる比率を指定し、これにより、モデルは学習する速度を上げることができます。アルゴリズムが最初の活性化から理想的なパフォーマンスに至るまでのトレーニングの進行状況は、収束と呼ばれます。

    バッチ・サイズ

    バッチ・サイズは、パラメーターを更新する前にモデルが算出するサンプル量を指定します。これは、トレーニング・プロセスの計算効率と精度の両方に大きな影響を与えます。バッチ・サイズを大きくすると、それだけで全体的なパフォーマンスが低下しますが、バッチ・サイズとともに学習率を調整することで、この損失を軽減できます。

    隠れ層の数

    ニューラル・ネットワーク内の隠れ層の数によってその深さが決まり、これがその複雑さと学習能力に影響を与えます。層が少ないほど、モデルはよりシンプルで高速になりますが、ディープラーニング・ネットワークなどのように層が多いほど、入力データの分類が向上します。ここで、考えられるすべての組み合わせから最適なハイパーパラメーター値を特定するには、速度と精度のトレードオフが重要になります。

    層あたりのノード数またはニューロン数

    層ごとのノード数またはニューロン数によって、モデルの幅が決まります。層あたりのノードまたはニューロンが多いほど、モデルの幅が広がり、データ・ポイント間の複雑な関係をより適切に表現できます。

    Momentum

    モメンタムは、モデルがコースの向きを逆にするのではなく、前回の反復と同じ方向にパラメーターを更新する度合いのことです。ほとんどのデータサイエンティストは、モメンタム用のハイパーパラメーター値を最初は小さくし、その後、トレーニング・データを取り込む際にモデルを軌道に乗せるため、必要に応じて微調整を行い、値を上げていきます。

    エポック数

    エポック数はハイパーパラメーターの1つで、トレーニング・プロセス中にモデルにトレーニング・データ・セット全体を学習させる回数を指定します。学習させる回数が多いほど、パフォーマンスの向上につながりますが、過剰適合(過学習)のリスクもあります。

    活性化関数

    活性化関数はモデルに非線形性をもたらし、モデルがより複雑なデータ・セットを処理できるようにします。非線形モデルは、より多様なデータを一般化し、それに適応することができます。

    SVMハイパーパラメーター

    サポート・ベクター・マシン(SVM)は、データの分類、回帰、外れ値の検知に特化した機械学習アルゴリズムです。これには、次のような独自の必須ハイパーパラメーターがあります。

      SVMハイパーパラメーター:C

      Cは、モデルがデータ分類器として機能する場合における、許容誤差と結果として生じるエラーの回数の比率です。C値を低くすると、滑らかな決定境界が形成され、誤差の許容範囲は大きくなり、パフォーマンスはより一般的なものになりますが、データの誤分類が生じるリスクがあります。一方、C値が高いと、より正確なトレーニング結果を得るためにきちんと整った決定境界が形成されますが、過剰適合(過学習)が起きる可能性があります。

      SVMハイパーパラメーター:カーネル

      カーネルは、データ・ポイント間にどのような関係があるかを確定し、それに応じてデータ・ポイントをグループに分類する関数です。使用されるカーネルによって、データ・ポイントの関係性は異なるため、SVMモデル全体のパフォーマンスに大きな影響を与える可能性があります。線形、多項式、動径基底関数(RBF)、シグモイドは、最も一般的に使用されるカーネルの一部です。線形カーネルはよりシンプルであり、簡単に分離可能なデータに最適である一方、非線形カーネルは、より複雑なデータ・セットに適しています。

      SVMハイパーパラメーター:gamma

      gammaは、サポート・ベクターが決定境界に与える影響の度合いを指定します。サポート・ベクターは、超平面(データ・グループ間の境界)に最も近いデータ・ポイントのことです。値が高いと、近くにあるベクトルから強い影響を受けますが、値が低いと、より遠くにあるベクトルからの影響が制限されます。gamma値を高く設定しすぎると、過剰適合(過学習)が起きる可能性があり、値が低すぎると、決定境界が曖昧になる可能性があります。

      XGBoostハイパーパラメーター

      XGBoostは、「extreme gradient boosting」の略で、決定木と呼ばれる複数の弱いモデルの予測を組み合わせて、より正確な結果を得るためのアンサンブル・アルゴリズムです。勾配ブースティング・アルゴリズムは、複数の決定木で構成される別のタイプのアンサンブル・アルゴリズムであるランダム・フォレスト・モデルよりも優れたパフォーマンスを発揮する傾向があります。

      XGBoostの最も重要なハイパーパラメーターは次のとおりです。

        learning_rate

        learning_rateは、ニューラル・ネットワークで使用される学習率ハイパーパラメーターと似ています。この関数は、各トレーニング中に行われる修正のレベルを制御します。指定できる値の範囲は0~1で、デフォルト値は0.3です。

        n_estimators

        n_estimatorsは、モデル内の木の本数を指定します。このハイパーパラメーターは、元のXGBoostではnum_boost_roundsと呼ばれていますが、一般的なPython API scikit-learnでは、n_estimatorsという名前が導入されました。

        max_depth

        max_depthは、決定木のアーキテクチャーを決定し、木から各葉(最終的な分類器)までのノードの最大量を指定します。ノードが多いほどデータの分類が複雑になり、木が小さいほど過剰適合(過学習)を回避しやすくなります。

        min_child_weight

        min_child_weightはは、新しい木を作成するのに必要な最小の重み(モデルのトレーニング・プロセス全体に対して与えられたクラスの重要度)です。最小の重みを小さくすると、より多くの木が作成されますが、過剰適合(過学習)が起こる可能性があり、重みを大きくすると、木を分割するためにより多くのデータが必要になるため、複雑さが軽減されます。

        subsample

        subsampleは、各トレーニング中に使用されるデータ・サンプルの割合を指定し、colsample_bytreeは、木の構築で使用する特徴量の割合を指定します。

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

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

        ハイパーパラメーターのチューニングは、目的関数を中心に行われます。目的関数は、ハイパーパラメーターのグループ、すなわちタプルを分析し、予測損失を算出します。ハイパーパラメーターを最適にチューニングすることで、選択したメトリクスに従って損失を最小限に抑えることができます。結果は相互検証によって確認されます。相互検証では、結果が、特定のトレーニング・インスタンス以外の他のデータ・セットに対してどれほど忠実に一般化されているか測定されます。

        ハイパーパラメーターのチューニング手法

        データサイエンティストは、ハイパーパラメーターのさまざまなチューニング手法を自由に使用できますが、それぞれに長所と短所があります。ハイパーパラメーターのチューニングは、手動で行われることも、AutoML(自動機械学習)ストラテジーの一部として自動化されることもあります。

        グリッド探索

        グリッド探索は、ハイパーパラメーターの包括的かつ網羅的なチューニング手法です。データサイエンティストが、各ハイパーパラメーターに対して考えられるすべての値を設定したら、グリッド探索により、それらの離散的なハイパーパラメーター値の構成として可能なものすべてに対してモデルが構築されます。これらのモデルはそれぞれパフォーマンスが評価され、互いに比較され、そして最終的にトレーニングに最適なモデルが選択されます。

        このように、グリッド探索は、正しいシーケンスが見つかるまで可能性のある数字の組み合わせをすべて入力することでパスワードを試す、総当たり攻撃と似ています。グリッド探索により、データサイエンティストはハイパーパラメーター空間で考えられるすべての構成を検討できますが、非効率的な手法であり、計算リソースを大量に消費します。

        ランダム探索

        ランダム探索は、データサイエンティストが各ハイパーパラメーターの離散値ではなく、統計分布を提供するという点でグリッド探索とは異なります。ランダム探索では、各範囲からサンプルが抽出され、各組み合わせのモデルが構築されます。数回繰り返される間、最適なモデルが見つかるまで、モデルは互いに比較検討されます。

        ハイパーパラメーター探索空間に大きな分布が含まれている状況では、グリッド探索よりもランダム探索の方が適しています。グリッド探索の場合、各離散値をテストするには、シンプルに手間がかかりすぎるからです。ランダム探索アルゴリズムが、最適なハイパーパラメーター構成を見つけることができるという保証はありませんが、グリッド探索に匹敵する結果を、かなり少ない時間で返すことができます。

        ベイズ最適化

        ベイズ最適化は、シーケンシャル・モデルベース最適化(SMBO)アルゴリズムの1つであり、テストを繰り返すたびに、次のテストのサンプリングの方法が向上します。グリッド探索とランダム探索は両方同時に実行できますが、各テストは単独で行われるため、データサイエンティストは、学習した内容を後続のテストに反映させることはできません。

        以前のテストに基づいて、ベイズ最適化では、より良い結果が得られる可能性が高い新しいハイパーパラメーター値のセットが確率的に選択されます。この確率的モデルは、元の目的関数のサロゲート(代理)と呼ばれます。サロゲート・モデルは計算効率が良いため、通常は、目的関数が実行されるたびに更新および改善されます。

        サロゲートが最適なハイパーパラメーターを適切に予測できるようになるほど、プロセスは高速化され、必要な目的関数のテストが減ります。これにより、ベイズ最適化は他の手法よりもはるかに効率が上がります。ハイパーパラメーター値の不適切な組み合わせによる無駄な時間が生じないからです。

        結果(この場合、最高のモデル・パフォーマンス)と一連の変数との関係を統計的に決定するプロセスは、回帰分析と呼ばれます。ガウス過程は、データサイエンティストの間で良く知られているSMBOの1つです。

        Hyperband

        2016年に導入されたHyperband(ibm.com外部へのリンク)は、好調な結果が得られないトレーニング構成の使用を打ち切り、優れた構成に対してより多くのリソースを割り当てることで、ランダム探索を改善するために設計されたものです。

        この「早期停止」は、連続半減処理によって実現されます。この処理は、各トレーニング後に、最もパフォーマンスの悪い構成の半分を取り除くことで、構成の数を縮らすというものです。各バッチの上位50%は、最適なハイパーパラメーター構成が1つ残るまで、次の反復に引き継がれます。

        関連製品とソリューション

        関連製品とソリューション

        watsonx.ai

        AIモデルのトレーニング、検証、調整、導入を行うAI開発者向けの次世代エンタープライズ・スタジオ(ツール・機能群)をご利用ください。

        watsonx.aiの詳細はこちら

        watsonx.aiの基盤モデル

        watsonxプラットフォームにある基盤モデルのIBMライブラリーを探索し、ビジネスに合わせて自信を持って生成AIを拡張します。

        watsonx.aiの基盤モデルはこちら

        Graniteモデル

        IBM® Graniteは、ビジネスに特化した人工知能(AI)モデルのファミリーであり、AI駆動型アプリケーションの信頼性と拡張性を確保できるようにゼロから設計されました。オープンソースのGraniteモデルは今すぐご利用いただけます。

        Graniteモデルの詳細はこちら
        参考情報

        参考情報

        責任あるAIは、競争上の優位性をもたらします

        生成AIの時代において、組織が新たな可能性を解き放つにつれて、テクノロジーの可能性は日々高まっています。しかし、AIの進歩を測る真の尺度は、技術的な機能にとどまりません。

        人工知能とは

        人工知能(AI)は、コンピューターや機械が人間の知能と問題解決能力をシミュレートできるようにするテクノロジーです。

        言語モデルは大規模であるほど、常に優れているといえるのでしょうか。

        AIを支配するための競争においては、通常、大は小を兼ねるといえます。データとパラメーターが多いほど、より強力なだけでなく、効率性と速度も向上させた大規模なAIシステムが構築され、一般的に小規模なシステムよりもエラーが発生しにくくなります。

        次のステップ

        AI開発者向けの次世代エンタープライズ・スタジオであるIBM watsonx.aiを使用して、生成AI、基盤モデル、機械学習機能をトレーニング、検証、チューニング、デプロイしましょう。わずかなデータ、わずかな時間でAIアプリケーションを構築できます。

        watsonx.aiの詳細はこちら デモを予約