第 4 章 最適なノード内容の選択を行う学習進化型 GNP 47
5.3 シミュレーション
第5章 Actor-Criticを用いた学習進化型GNP 80
第5章 Actor-Criticを用いた学習進化型GNP 81
0 1
2 3
4 5
7 6 sensor
right wheel left wheel
Fig. 5.7 The sensors and wheels of the Khepera
Table 5.1 Function Set
symbol ID content
J0, . . . J7 0, . . . ,7 judge whether the distance sensor value is more than a or not P0 0 determine the speed of the right and the left wheels
Table 5.2 Simulation conditions
the number of individuals 600 (mutation: 359, crossover: 240, elite: 1) the number of nodes 27 (judgment node: 16, processing node: 10,
start node: 1) parameters of evolution Pc = 0.1, Pm = 0.01
parameters of learning α= 0.9, αµ= 0.01, ασ = 0.01,γ = 0.3
第5章 Actor-Criticを用いた学習進化型GNP 82
Fig. 5.8 Simulation environment
報酬と適合度 (壁伝い問題)
Fig. 5.8はシミュレーションで用いた環境を表している。この仮想空間上の環境は,実
際のサイズに換算すると1m×1mに対応する。環境中には障害物が設置されており,ロ ボットはスタート地点を出発して壁に沿いながら,できるだけ速く,まっすぐに進むこ とが求められる。制限時間は1,000ステップと設定し,1,000ステップ終了後に適合度を 計算する。報酬および適合度は以下のように計算される。
Reward(t) = vR(t) +vL(t)
20 ×
1−
|vR(t)−vL(t)| 20
×C, (5.3)
Fitness =
1000
t=1
Reward(t), (5.4)
ただし,
vR(t), vL(t) : ステップtでの右車輪および左車輪の速度
C =
1 : 全てのセンサの値が1000以下
かつ,少なくとも一つのセンサの値が100以上 0 : それ以外
第5章 Actor-Criticを用いた学習進化型GNP 83
5.3.3 シミュレーション I
シミュレーションIは,スタート地点を環境[Fig. 5.8]の左側に毎試行固定して行った。
Fig. 5.9は,各世代の最良個体の適合度を10回の独立した試行で平均化したものである。
比較のため,ニューラルネットワークの結合重みと閾値の探索をGAで実行する方式を 用いたシミュレーションも行った。ニューラルネットワークは3層で構成され,入力層 のノード数は8個(各センサ入力に対応),中間層は10個,出力層は2個(右車輪およ び左車輪の速度に対応)である。Fig. 5.9から,両手法とも適合度が向上していること が確認できるが,NN-GAの方が良い適合度を示す結果となった。これは,GNP-ACは
Actor-Criticを用いて漸進的な学習を行っているため,適合度の向上に時間がかかってい
るからだと考えられる。Fig. 5.10は,GNP-ACの最終世代における最良個体が示した
Kheperaロボットの典型的な行動軌跡と,いくつかの状況下における両車輪の速度を示
している。この図より,直線の速度は両車輪とも10に保つことで速く走り,壁が近づく と,両車輪の速度を適切に調節することで,壁に沿いながら回避できている。また,沿っ ていた壁が途切れる場所でも,回転することで,壁から離れることなく行動できている。
この結果から,GNP-ACは判定ノードによってセンサの入力を適切に判定し,処理ノー ドによって状況に応じた速度を決定できていることがわかる。
5.3.4 シミュレーション II
シミュレーションIIは,スタート地点を毎試行ランダムに設定して行った。シミュレー ションIでは常に環境の左側から行動を開始していたが,本シミュレーションでは,毎 試行異なる位置からのスタートとなるため,周囲の状況をより的確に判断する必要があ る。Fig. 5.11は,各世代の最良個体の適合度を30回の独立した試行で平均化したもので ある。世代の早い段階ではGNP-ACよりNN-GAが良い適合度を示したが,最終世代で
はGNP-ACが良い適合度を示した。これは,NN-GAが1個のネットワークで全ての行
動ルールを表現するのに対して,GNP-ACは,状況に応じて使用するノードを使い分け ることで,各状況に対処できるいくつかのサブルーチン的な機能を構築し,的確な判断
第5章 Actor-Criticを用いた学習進化型GNP 84
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8
0 200 400 600 800 1000
generation
fitness
NN-GA (0.713)
GNP-AC (0.679) fitness at the last generation
Fig. 5.9 Fitness curve in Simulation I
ڎstart (vL(t), vR(t))=(-9, 10) t=72,73 (10, -6)
(10, 10) (10, -7)
t=74-77 t=78,79
(-10, 9)
t=46
t=153,195
(10, 10) t=290
(-8, 9) t=593 (10, 10) t=645
(10, -7) (10, 10) (10, -6)
t=732,733 t=734-739 t=740,741 (-10, 10)
t=826,890
Fig. 5.10 Track of the robot in Simulation I
第5章 Actor-Criticを用いた学習進化型GNP 85 ができるからだと考えられる。Fig. 5.12は,最終世代で得られたKheperaロボットの典 型的な行動軌跡を示しており,ランダムに設定されたスタート地点(環境の上側)から,
適切な壁伝い行動の軌跡を示していることがわかる。
次に,最終世代で得られた最良個体が,他の場所から行動を開始しても,適切な行動 を示すかを確かめるために,ロボットを環境の中央に配置して動作させた。この位置の 周りには,壁が存在しないため,ロボットはまず壁を発見する必要があり,その後,壁伝 い行動を始めなければならない。シミュレーションの結果,壁を発見するまでの報酬は 0であるため,適合度は0.435と下がったが,Fig. 5.13に示すように,ロボットはまず壁 に向かって進み,壁に衝突する直前に方向転換をすることによって,壁伝い行動を開始 できていることが分かる。また,その後の行動も適切に行われていることがわかる。