遺伝的アルゴリズムは、自然選択の原理に着想を得た探索および最適化手法であり、候補解の集団が、突然変異、交叉(組み換え)、選択といった操作を通じて反復的に進化し、連続する世代を経て定義された目的に対する適合度を向上させる。遺伝的アルゴリズムは、人工知能および機械学習における進化的計算手法のより広いファミリーに属する。
メカニズム
遺伝的アルゴリズムは、ランダムに生成された候補解の集団から始まり、各候補は通常、染色体に類似した文字列またはベクトルとして符号化される。各候補は、対象問題をどれだけうまく解決するかを評価する適合度関数を用いて評価される。スコアの高い候補は「親」として選択される可能性が高く、その符号化は交叉を通じて組み合わされて子孫を生成し、多様性を維持して準最適解への早期収束を避けるために、ランダムな突然変異が時折導入される。評価、選択、組み換えのこのサイクルは多くの世代にわたって繰り返され、集団全体の平均適合度は時間とともに改善する傾向があるが、大域的最適解が見つかることは保証されない。
歴史
この分野の数学的基盤はジョン・ホランドによって形式化され、彼の1975年の著書『適応性と自然および人工システム』は、1950年代と1960年代の初期の進化的計算実験に基づいて、遺伝的アルゴリズムを適応的探索の一般的な枠組みとして導入した。ホランドの学生や共同研究者、デビッド・ゴールドバーグを含む人々は、この枠組みの理論的基盤を拡張し、1980年代と1990年代を通じて実用的な応用を普及させた。
応用
遺伝的アルゴリズムは、スケジューリングやルーティング問題、工学設計の最適化(NASAなどによるアンテナや空力形状の評価を含む)、関連分野である遺伝的プログラミングによる自動プログラム合成、機械学習システムのハイパーパラメータ探索に適用されてきた。これらは、勾配ベースの手法が利用できないか効果的でない、大規模で複雑かつ非微分可能な探索空間を持つ問題で特に好まれる。なぜなら、遺伝的アルゴリズムは候補の適合度を評価する能力のみを必要とし、目的関数の導関数を計算する必要がないからである。
ニューロ進化
注目すべき応用分野であるニューロ進化は、進化的手法を用いてニューラルネットワークのアーキテクチャと重みを設計または訓練し、場合によっては強化学習と組み合わせて制御やゲームプレイのタスクに使用する。ニューロ進化は、報酬信号が疎であるか、ネットワークのトポロジー自体が重みだけでなく設計変数であるロボティクスや身体化AIの研究において、バックプロパゲーションで訓練されたネットワークの代替または補完として探求されてきた。
限界と現代における関連性
遺伝的アルゴリズムは、現代の深層ネットワークの非常に高次元のパラメータ空間に対して、勾配降下法ベースの最適化(バックプロパゲーションなど)と比較してスケーラビリティが低く、2010年代初頭以降にバックプロパゲーションで訓練された深層学習アーキテクチャが主流になると、主流の研究からは大きく後退した。しかし、標準的な教師あり訓練以外の最適化領域、ニューロ進化のニッチ、および単一の固定目的を最適化するのではなく多様で斬新な解を生成するためのオープンエンドかつ進化的なアプローチの研究における概念的な参照点として、依然として積極的に使用されている。