Evolutionary Algorithms
進化的アルゴリズムが自然選択を利用してAIの問題を解決する仕組みをご確認ください。Ultralytics YOLO26のハイパーパラメータを最適化し、モデル性能を向上させる方法を学べます。
進化的アルゴリズム(EAs)は、自然選択と遺伝の生物学的原理を模倣して複雑な計算問題を解決する、強力な最適化アルゴリズムの一群です。微積分に基づく導関数に依存する従来の数学的手法、例えば確率的勾配降下法(SGD)とは異なり、EAsは広大で起伏が多く、または十分に理解されていない探索空間を進むように設計されています。EAsは、時間の経過とともに競争し、繁殖し、突然変異する可能性のある解の集団を維持することで動作します。このアプローチは、「最適な」解を解析的に決定することが難しい人工知能(AI)のタスクに特に効果的であり、システムが最適な結果に向けて反復的に進化できるようにします。
生物学的インスピレーションと中核メカニズム#
進化的アルゴリズムの機能は、適者生存の概念に基づいています。このプロセスは、自然な遺伝的進化を模倣するように設計されたオペレーターのサイクルを経て進み、候補解を徐々に洗練します。
-
初期化: システムは、ランダムな候補による初期集団を生成します。機械学習(ML)の文脈では、これらの候補は異なるモデルパラメータのセットを表す場合があります。
-
適応度評価: 各候補は、適応度関数として知られる特定の目的に対してテストされます。コンピュータビジョン(CV)モデルの場合、この関数は通常、精度や平均適合率(mAP)などの指標を評価します。
-
選択: 適応度スコアの高い候補が、親として機能するよう確率的に選択され、優れた特性が次世代に確実に引き継がれます。
-
繁殖と変異: 新しい解は、交叉(2つの親の特性を再結合すること)と突然変異(ランダムな変更を導入すること)によって作成されます。この遺伝的多様性の導入は、アルゴリズムが局所最適に停滞するのを防ぎ、グローバル最大値の探索を支援するため、非常に重要です。
AIにおける実世界の応用#
進化的アルゴリズムは汎用性が高く、ディープラーニング(DL)やエンジニアリングのさまざまな領域で実際に適用されています。
ハイパーパラメータの自動チューニング#
EAsの最も実用的な応用の1つがハイパーパラメータチューニングです。最新のニューラルネットワークでは、学習率、weight decay、モメンタムなど、性能に大きな影響を与える数十個のパラメータを設定する必要があります。EAsは、設定を進化させることで、この面倒な試行錯誤のプロセスを自動化できます。例えば、Ultralyticsライブラリのtune()メソッドは、遺伝的アルゴリズムを使用して、カスタムデータセット上のYOLO26モデルに最適な学習ハイパーパラメータを見つけます。
ニューラルアーキテクチャサーチ(NAS)#
EAsは、ニューラルアーキテクチャサーチ(NAS)の中核を担います。人間のエンジニアがニューラルネットワーク(NN)の構造を手作業で設計する代わりに、進化的アルゴリズムによってアーキテクチャを「成長」させることができます。異なるレイヤー、ニューロン、接続の組み合わせをテストし、速度と精度のバランスが取れた効率的な構造へと進化させます。この手法により、特定のハードウェア制約に合わせて最適化されたEfficientNetなど、非常に効率的なバックボーンが生み出されています。
進化的アルゴリズムと群知能#
どちらも自然に着想を得た最適化戦略ですが、EAsと群知能(SI)を区別すると理解しやすくなります。
- 進化的アルゴリズム: 世代交代に依存します。個体(解)は生存し、適応度に基づいて繁殖し、死んで、その子孫に置き換えられます。主な推進要因は、突然変異や交叉などの遺伝的オペレーターです。
- 群知能: 鳥の群れや魚の群れなど、集団内の社会的相互作用を模倣します。粒子群最適化(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を使用することで効率化できます。Ultralytics Platformは学習指標を可視化し、モデルデプロイを容易にします。









