「進化計算と深層学習」まとめノート 1
2つの本
1. 進化計算と深層学習 -創発する知能― (理論中心)
2. ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装 (ゴリゴリ計算)
を 1. を中心に読み比べていくシリーズです。
第1章 進化計算入門
27億年の歴史がある世界最古の生物ストロマトライトが光合成を行なったことで好気性菌の誕生を可能にしたことから生命の進化は加速していく。
では進化とは何か
Darwin は生物の集団を次のように特徴付けている。
- 生物のグループは、すべての子孫を過剰に生み出す
- すべての生物のグループは「異変」という特徴をもつ
- 生き残るのは、もっとも環境に適応したものである
この特徴づけを認めて、適応的な特徴の遺伝を仮定して計算システムを構築するのが進化論的手法の目的。例えば、ライト兄弟のライトフライヤー号完成までの試行錯誤は突然変異と交叉で説明できる。
ダーウィンを悩ませた目の謎
ダーウィンは目の進化を不条理とまでいっている。
- 進化の初歩段階は生き残れるか
- 目のような複雑な器官が突然変異で生じ得るか
が疑問として残るため。
1つめの疑問への回答:シアノバクテリアの持つ走光性はないよりマシだったので生き残った。
2つめの疑問への回答:シミュレーションにより、40万世代でバクテリアの目(焦点距離1.35)から魚の目(焦点距離1.52)まで進化することが確認された。
GA, Genetic Algorithms とは
- 大きいほど良い適応度を持つ個体群、世代 t に対して、
- 突然変異・逆転・交叉という3つのオペレーターを適用して遺伝子操作を行なった後、
- 適応度でバイアスをかけて次の t+1 世代を残す
を納得いくまで繰り返す手法。
例:蜘蛛の巣の進化
1. 適応度の定義
適応度を(つかまえた虫の数 / つかった蜘蛛の糸)で定義する
2. パラメーター
集団数1000、突然変異率0.1、エリート率0.1、飛ばす虫(円で近似)の数400
でシミュレーションすると、46世代で蜘蛛の巣そっくりの形が出来上がる。
例:新幹線
はやくて騒音がすくないすごいN700系
例:飛行機
国産初の翼。燃費が良くて騒音が少ない
疑問:孔雀の尾がアホほど長いのは説明できるか
ダーウィン:彼女に尻尾を振るため
Fisher: 長い尾を好むメスがいると仮定すると、より長い尾を持っていたため好まれたという頻度の高さはより長い尾を持つ個体の増殖を引き起こす。これにより長い尾が生存に不利であっても自己強化的に増殖が進むランナウェイ効果が起こる(自然選択の遺伝理論 / 1930)
これをシミュレーションで確かめたのが Kirkpatrick / 1982