Neuroevolution

Neuroevolution または Neuro-evolution は人工ニューラルネットワークの学習に遺伝的アルゴリズムを用いる機械学習の手法である。ネットワークの性能を測るのが容易であるが、教師あり学習を用いて正しい入力と出力の対の概要を作るのが困難または不可能であるゲームやロボットのモーター制御するようなアプリケーションに有効である。ニューラルネットワークの学習の分類体系では強化学習に属する。
特徴.
多くのNeuroevolutionアルゴリズムがある。あらかじめ指定された構造のネットワークで結合重みの値を進化させる手法と重みに加えてネットワークの構造を進化させる手法の違いがある。全体としてこの違いに対して標準化された手法はなく、進化の間ネットワークの結合を加えたり削除することは複雑化や単純化と呼ぶことができる。結合重みと構造を進化させるネットワークはTWEANNs (Topology & Weight Evolving Artificial Neural Networks)と呼ばれる。
さらに、パラメータと並行してニューラルネットワークの構造を進化させる手法（例：synaptic weights）とそれらを別々に開発する手法の違いがある。2つの手法をロボットの制御に適用した比較をこちらで見ることができる。
ネットワークの直接コード化と間接コード化.
"直接コード化"はネットワークのすべての結合とノードを遺伝子として染色体に記述する。対照的に"間接コード化"はたいていネットワークを構成するルールを記述するのみである。
例.
ネットワークの構造とパラメータを進化させるNeuroevolutionの手法の例