• 検索結果がありません。

第 4 章 最適なノード内容の選択を行う学習進化型 GNP 47

5.3 シミュレーション

5Actor-Criticを用いた学習進化型GNP 80

5Actor-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

5Actor-Criticを用いた学習進化型GNP 82

Fig. 5.8 Simulation environment

報酬と適合度 (壁伝い問題)

Fig. 5.8はシミュレーションで用いた環境を表している。この仮想空間上の環境は,実

際のサイズに換算すると11mに対応する。環境中には障害物が設置されており,ロ ボットはスタート地点を出発して壁に沿いながら,できるだけ速く,まっすぐに進むこ とが求められる。制限時間は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 : それ以外

5Actor-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は,状況に応じて使用するノードを使い分け ることで,各状況に対処できるいくつかのサブルーチン的な機能を構築し,的確な判断

5Actor-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

5Actor-Criticを用いた学習進化型GNP 85 ができるからだと考えられる。Fig. 5.12は,最終世代で得られたKheperaロボットの典 型的な行動軌跡を示しており,ランダムに設定されたスタート地点(環境の上側)から,

適切な壁伝い行動の軌跡を示していることがわかる。

次に,最終世代で得られた最良個体が,他の場所から行動を開始しても,適切な行動 を示すかを確かめるために,ロボットを環境の中央に配置して動作させた。この位置の 周りには,壁が存在しないため,ロボットはまず壁を発見する必要があり,その後,壁伝 い行動を始めなければならない。シミュレーションの結果,壁を発見するまでの報酬は 0であるため,適合度は0.435と下がったが,Fig. 5.13に示すように,ロボットはまず壁 に向かって進み,壁に衝突する直前に方向転換をすることによって,壁伝い行動を開始 できていることが分かる。また,その後の行動も適切に行われていることがわかる。