第 4 章 最適なノード内容の選択を行う学習進化型 GNP 47
4.7 まとめ
第4章 最適なノード内容の選択を行う学習進化型GNP 66 行動決定のために必要な入力の内容および数を自動的に選択し効率的なプログラムを生 成しているからである。
Table 4.6は5000世代あたりの計算時間を示している。シミュレーションIIでも進化型
GNPが最も早い時間で計算できている。ところが,2番目に早い結果を示したのはEPで 学習進化型GNPは3番目であった。これは,最も良い適合度を示したEPの各状態での 入力数が1であり,計算時間が短縮されたためである。シミュレーションIで示したEPの 計算時間は,3つの入力の組み合わせから出力を決定する設定のものであった。GP-full5 は他のADFなしGPの中で最も良い適合度を示したが,3,906個のノードを持つため,計 算時間は非常に多くなってしまった。GP-ADF-full3-2はGP-full5よりもノード数が少な く計算時間が短かったが,GNPと比べて多くの計算時間がかかった。
Fig. 4.14は,学習進化型GNPの最良個体が使ったノードの比率を示している。x軸は
ノードの番号とノード内容を表す記号を表示しており,y軸は使用比率を表示している。
初期世代では,グラフ構造がランダムに初期化され,効率的なノード遷移は行われてい ない。しかし,最終世代ではMF,JF,JB,TD,THDが頻繁に使用されている。した がって,学習進化型GNPが獲得した行動ルールは,最も近いタイルの方向と,そのタイ ルから最も近い穴への方向を判定し,前後の状況を見ながらタイルのほうへ向かってい ると考えられる。このようなノードの使用状況は前章で提案した学習進化型GNPとほぼ 一致しており,タイルワールド問題を解くにあたって必要な情報と行動であることがわか る。特に興味深いのは,エージェントから最も近い穴への方向(HD)を判定するのでは なく,タイルから最も近い穴への方向(THD)を判定していることである。これは,自 分が穴へ到達することが目的ではなく,タイルを穴へ落とすことが目的であり,タイル から穴へ最も近いルートを探すことが重要だからである。
第4章 最適なノード内容の選択を行う学習進化型GNP 67
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14
0 10 20 30 40 50 60
MF TL TR ST JF JB JL JR TD HD THD STD
ratio of used node
node number and symbol
— first generation —
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14
0 10 20 30 40 50 60
MF TL TR ST JF JB JL JR TD HD THD STD
ratio of used node
node number and symbol
— last generation —
Fig. 4.14 Ratio of nodes used by GNP-LE
第4章 最適なノード内容の選択を行う学習進化型GNP 68 のアルゴリズムを提案した。進化の役割は,ノード間の接続関係を決定し,ノード内容 の候補を複数選択することで,グラフ構造の大枠を生成することである。強化学習の役 割は,ノード内に割り当てられたノード内容の候補から最適なものを選択することであ る。進化は,タスク終了後に多数の個体の中から良いものを選択し,グラフ構造に変化 を加えることができるため,グラフ構造の大枠を決定するという広域的な探索を効率的 に行うことができる。強化学習は,タスク実行中の情報を基にした細かい学習が可能な ため,各ノードごとにその内容を決定していくという局所的な探索を効率的に行うこと ができる。
タイルワールドを用いたシミュレーションの結果,学習進化型GNPは,進化型GNP,
GP,ADF付きGP,EPより良い適合度を示した。学習進化型GNPは強化学習を行う
分だけ計算時間が増すことになるが,進化型GNPと比べて統計的に有意な適合度の差が 生じることからも学習進化型GNPを用いる価値がある。また,同じステップ数だけエー ジェント動かした場合(同世代数の実行の場合),学習進化型GNPが最も良い適合度を 示すため,タスク実行中の情報を効果的にプログラムの生成に利用できていることがわ かった。
GPは,固定環境ではある程度良いプログラムが生成できたが,変動する環境では良い 結果が得られなかった。GPは,GNP,EPと比較してノード数が多く,毎世代変動する 環境に対して,解の探索が効率的に行われなかったことが考えられ,計算時間も多くなっ てしまった。一方,GNPは少ないノード数で良い適合度を示すことができた。
EPは,一般に,全ての入力と状態の組み合わせに対して,出力とノード遷移を定義す る必要があるが,多数の入力が存在する場合,プログラムの構造が非常に複雑になって しまうことがある。本章では,各状態で用いる入力の数を減らすことで実行可能な構造 とした。GNPでは,各ノードで扱う入力や行動は1個であり注6,必要なノードのみを繰 り返し用いるような構造が可能であるため,非常にコンパクトになる。したがって,強 化学習を適用する際にしばしば問題となる状態数を少なくでき,効率的に学習が行われ る要因となっている。
注6学習進化型GNPには,各ノード内に複数のノード内容が存在するが,使われるのはその中の1個であ り,それらの組み合わせを考える必要はない。
第4章 最適なノード内容の選択を行う学習進化型GNP 69 最後に,初期世代と最終世代におけるノード使用比率を比較すると,問題を解くため に必要なノードが繰り返し用いられるようになり,不必要なノードが使われなくなって いくことがわかった。
70