Neuroevolution

Neuroevolution または Neuro-evolution は人工ニューラルネットワークの学習に遺伝的アルゴリズムを用いる機械学習の手法である。ネットワークの性能を測るのが容易であるが、教師あり学習を用いて正しい入力と出力の対の概要を作るのが困難または不可能であるゲームやロボットのモーター制御するようなアプリケーションに有効である。ニューラルネットワークの学習の分類体系では強化学習に属する。

特徴 
多くのNeuroevolutionアルゴリズムがある。あらかじめ指定された構造のネットワークで結合重みの値を進化させる手法と重みに加えてネットワークの構造を進化させる手法の違いがある。全体としてこの違いに対して標準化された手法はなく、進化の間ネットワークの結合を加えたり削除することは複雑化や単純化と呼ぶことができる。結合重みと構造を進化させるネットワークはTWEANNs (Topology & Weight Evolving Artificial Neural Networks)と呼ばれる。

さらに、パラメータと並行してニューラルネットワークの構造を進化させる手法（例：synaptic weights）とそれらを別々に開発する手法の違いがある。2つの手法をロボットの制御に適用した比較をこちらで見ることができる。

ネットワークの直接コード化と間接コード化 
直接コード化はネットワークのすべての結合とノードを遺伝子として染色体に記述する。対照的に間接コード化はたいていネットワークを構成するルールを記述するのみである。

例 
ネットワークの構造とパラメータを進化させるNeuroevolutionの手法の例

 GNARL by Angeline et al., 1994
 EPNet by Yao and Liu, 1997
 NeuroEvolution of Augmenting Topologies (NEAT) by Stanley and Miikkulainen, 2005
 Evolutionary Acquisition of Neural Topologies (EANT/EANT2) by Kassahun and Sommer, 2005 / Siebel and Sommer, 2007

関連項目 

 NeuroEvolution of Augmenting Topologies (NEAT)(:en:NeuroEvolution of Augmenting Topologies)
 Evolutionary Acquisition of Neural Topologies (EANT/EANT2)

参考文献

外部リンク 
 University of Texas neuroevolution page (英語)
 ANNEvolve is an Open Source AI Research Project (英語)
 Web page on evolutionary learning with EANT/EANT2 (英語)

進化的アルゴリズム
最適化アルゴリズム