YOLO Vision Shenzhen
深セン
今すぐ参加
用語集

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

モデル性能を最適化するためのハイパーパラメータチューニングを探ります。ベイズ最適化などの手法と、自動チューニングにUltralytics YOLO26を使用する方法を学びましょう。

ハイパーパラメータチューニングは、機械学習(ML)モデルのトレーニングプロセスを制御する外部構成変数を最適化する反復プロセスです。トレーニング中にデータから学習されるweights and biasesなどの内部パラメータとは異なり、ハイパーパラメータは学習プロセスが始まる前にデータサイエンティストまたはエンジニアによって設定されます。これらの設定は、モデルの構造とアルゴリズムの動作を制御し、パフォーマンスを微調整する「つまみとダイヤル」として機能します。これらの値の理想的な組み合わせを見つけることは、精度や効率などのメトリクスを最大化するために不可欠であり、平凡なモデルと最先端のソリューションとの違いをしばしば生み出します。

中核概念と技術

すべての可能なハイパーパラメータの組み合わせの集合は、高次元の探索空間を生成します。実務者は、この空間を探索し、損失関数を最小化する最適な構成を見つけるために、様々な戦略を使用します。

  • グリッドサーチ: この網羅的な手法は、グリッド内の指定されたすべてのパラメータの組み合わせに対してモデルを評価します。徹底的である一方で、計算コストが高く、多くの変数を取り扱う際に次元の呪いに悩まされます。
  • Random Search: すべての組み合わせをテストする代わりに、この手法はハイパーパラメータのランダムな組み合わせを選択します。研究によると、これは最も影響力のあるパラメータに対して探索空間をより効果的に探索するため、グリッドサーチよりも効率的であることが多いとされています。
  • Bayesian Optimization: この確率的アプローチは、過去の評価に基づいてどのハイパーパラメータが最良の結果をもたらすかを予測するサロゲートモデルを構築し、最も有望な領域に探索を集中させます。
  • 進化的アルゴリズム: 生物学的進化に触発されたこの手法は、突然変異や交叉といったメカニズムを利用して、世代を超えて構成の集団を進化させます。これは、〜によって使用される主要な手法です ultralytics ライブラリは、次のような最新のアーキテクチャを最適化します。 YOLO26.

ハイパーパラメータのチューニングとモデルトレーニングの比較

チューニングとトレーニングはMLOpsライフサイクルにおける異なるフェーズを表すため、これらを区別することが不可欠です。

実際のアプリケーション

効果的にチューニングされたモデルは、複雑な環境で堅牢なソリューションをデプロイするために不可欠です。

精密農業

農業AIにおいて、自律型ドローンはコンピュータービジョンを用いて雑草や作物の病気を特定します。これらのモデルは、限られたバッテリー寿命のエッジデバイスで動作することがよくあります。エンジニアは、データ拡張パイプラインと入力解像度を最適化するためにハイパーパラメータチューニングを利用し、モデルが高い推論速度と雑草のみに散布するために必要な精度を両立させ、化学物質の使用量を削減します。

医療診断

ヘルスケアAI、特に医用画像解析において、偽陰性は深刻な結果をもたらす可能性があります。MRIスキャンで異常をdetectするモデルをトレーニングする際、実務者はクラス重み付けとFocal Lossに関連するハイパーパラメータを積極的に調整します。この調整により、リコールが最大化され、病理のわずかな兆候でも人間のレビューのためにフラグが立てられ、早期診断に大きく貢献します。

Ultralytics自動チューニング

について ultralytics ライブラリは、組み込みの機能を含めることで最適化を簡素化します。 チューナー 遺伝的アルゴリズムを利用するもの。これにより、ユーザーは手動での試行錯誤なしに、カスタムデータセットに最適なハイパーパラメータを自動的に検索できます。大規模な運用の場合、チームはこれを活用できます。 Ultralyticsプラットフォーム データセットを管理し、これらのチューニング実験をクラウド上で可視化するため。

以下の例は、YOLO26モデルのハイパーパラメータチューニングを開始する方法を示しています。チューナーは、いくつかのイテレーションにわたってハイパーパラメータを変化させ、Mean Average Precision (mAP)を最大化します。

from ultralytics import YOLO

# Initialize a YOLO26 model (using the 'nano' weight for speed)
model = YOLO("yolo26n.pt")

# Start tuning hyperparameters on the COCO8 dataset
# The tuner runs for 30 epochs per iteration, evolving parameters like lr0 and momentum
model.tune(data="coco8.yaml", epochs=30, iterations=100, optimizer="AdamW", plots=False)

このプロセスを自動化することで、開発者は自動機械学習(AutoML)の概念に近づくことができます。そこでは、システムが特定のタスクに対して最高のパフォーマンスを達成するために自己最適化します。

共にAIの未来を築きましょう!

未来の機械学習で、新たな一歩を踏み出しましょう。