ニューラルネットを使った逃避行動の学習
ニューラルネットによるパターン認識(2005/5/5)の続き。
ニューラルネット(3層パーセプトロン)を使ったサンプルプログラムを書いてみた。ニューラルネットへの入力はエージェントの周囲9マスの状況(敵がいるかいないか)で出力は逃げる方向とした。予め訓練データを用意して学習させると周囲の状況に応じて適切な方向へ逃げられるようになる。
これだけだとすごく単純でわざわざニューラルネットを使う利点はほとんどない。if-thenルールで十分だろう。ニューラルネットを使う利点はそのロバスト性(頑健性)にある。想定してなかった入力が入ってきても適切な行動が出来る点だ。今回のサンプルでは敵が1人いる場合のデータしか訓練に使っていないが2人以上いても何とか適切な方向へ逃げられた。
ニューラルネットはゲームへの応用も進んでいるようなので今度ネットで調べてみたい。