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

進化的アルゴリズム

進化アルゴリズムがいかに自然選択を用いてAI問題を解決するかを探ります。Ultralytics YOLO26のハイパーパラメータを最適化し、モデル性能を向上させる方法を学びましょう。

進化的アルゴリズム (EA) は、自然選択と遺伝の生物学的原理を模倣し、複雑な計算問題を解決する強力な最適化アルゴリズムの一種です。確率的勾配降下法 (SGD)のような、微積分に基づく導関数に依存する従来の数学的手法とは異なり、EAは広大で起伏の多い、または十分に理解されていない探索空間をナビゲートするように設計されています。これらは、時間とともに競合し、繁殖し、突然変異する潜在的な解の集団を維持することによって機能します。このアプローチは、「最良」の解を分析的に決定するのが難しい人工知能 (AI)のタスクにおいて特に効果的であり、システムが最適な結果に向けて反復的に進化することを可能にします。

生物学的インスピレーションとコアメカニズム

進化アルゴリズムの機能は、適者生存の概念に基づいています。このプロセスは、自然な遺伝的進化を模倣するように設計されたオペレーターのサイクルを経て、候補となる解を徐々に洗練していきます。

  1. 初期化: システムはランダムな候補の初期集団を生成します。機械学習(ML)の文脈では、これらの候補は異なるモデルパラメータのセットを表す可能性があります。
  2. Fitness Evaluation: 各候補は、適応度関数として知られる特定の目標に対してテストされます。コンピュータビジョン(CV)モデルの場合、この関数は通常、精度Mean Average Precision (mAP)などのメトリクスを評価します。
  3. 選択: より高い適合度スコアを持つ候補は、親として機能するように確率的に選択され、成功した特性が次世代に保存されることを保証します。
  4. 生殖と変異: 新しいソリューションは、交叉(2つの親から特性を組み替えること)と突然変異(ランダムな変更を導入すること)によって生成されます。この遺伝的多様性の導入は、アルゴリズムが局所最適解で停滞するのを防ぎ、大域最大値を見つけるための探索空間を探索するのに役立つため、非常に重要です。

AIの実世界での応用

進化的アルゴリズムは汎用性が高く、深層学習 (DL)や工学のさまざまな分野に成功裏に適用されています。

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

EAsの最も実用的なアプリケーションの1つは ハイパーパラメータチューニング。現代のニューラルネットワークは、学習率、重み減衰、運動量など、パフォーマンスに大きく影響する多数のパラメータを設定する必要があります。EA(進化的アルゴリズム)は、構成設定を進化させることで、この面倒な試行錯誤のプロセスを自動化できます。例えば、 tune() Ultralyticsライブラリのメソッドは、遺伝的アルゴリズムを使用して、最適な学習ハイパーパラメータを特定します。 YOLO26 カスタムデータセットでのモデル学習。

ニューラルアーキテクチャ探索(NAS)

進化的アルゴリズム (EA) は、ニューラルアーキテクチャ探索 (NAS)の基盤です。人間のエンジニアがニューラルネットワーク (NN)の構造を手動で設計する代わりに、進化的アルゴリズムがアーキテクチャを「成長」させることができます。これは、層、ニューロン、接続のさまざまな組み合わせをテストし、速度と精度のバランスが取れた効率的な構造を進化させます。この技術により、特定のハードウェア制約に最適化されたEfficientNetのような、非常に効率的なバックボーンが作成されてきました。

進化的アルゴリズム vs. 群知能

両方とも自然に触発された最適化戦略ですが、EAを群知能 (SI)と区別することが役立ちます。

  • 進化的アルゴリズム: 世代交代に依存します。個体(解)は生存し、適応度に基づいて繁殖し、死に、子孫に置き換えられます。主な推進要因は、突然変異や交叉などの遺伝的演算子です。
  • 群知能: 鳥の群れや魚の群れのような、グループ内の社会的相互作用を模倣します。Particle Swarm Optimization (PSO)のようなアルゴリズムは、探索空間を移動し、自身の経験と隣接エージェントの成功に基づいて位置を調整するエージェントの集団を含み、世代交代は行いません。

Ultralytics を用いた最適化の実装

実践者は、遺伝的アルゴリズムを直接活用して、物体検出モデルを最適化できます。Ultralytics tune このメソッドは、複数世代にわたってハイパーパラメータを変異させる進化的プロセスを実行し、検証データで最高のパフォーマンスをもたらす設定を自動的に特定します。

from ultralytics import YOLO

# Load the standard YOLO26 model
model = YOLO("yolo26n.pt")

# Run hyperparameter tuning using a genetic algorithm approach
# The tuner evolves parameters (lr, momentum, etc.) over 30 generations
model.tune(data="coco8.yaml", epochs=10, iterations=30, plots=False)

この自動化された改良により、開発者は手動での推測から脱却できます。運用をスケールアップするチームにとって、これらの実験の管理やモデル性能の進化の追跡は、トレーニングメトリクスを可視化し、モデルデプロイメントを容易にするUltralytics Platformを利用することで効率化できます。

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

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