しばらくブログを更新していなかったのですが、
ずっと強化学習のシミュレーションにはまっていました。

動画は、普通の強化学習では解けないT型の迷路をアルゴリズムが解いているところです。普通と違う点は、ゴールが二つあるというところです。

どちらか一つのゴールに行くと強制的にスタート地点に戻されるのですが、
次は、行っていない方のゴールへ行かないと報酬はもらえないというルールです。

動画では、一度訪れたゴールを水色で表していますが、
入力情報にはその区別をいれません。
つまり、アルゴリズムは1回目か2回目かを覚えなければいけないのです。

動画の左側は、全体図、中央と右側は入力情報です。
中央はゴールの位置、右側は壁の位置を表しています。
自分を中心とした位置関係を入力としています。

行動は、(前に進む、左に90度回る、右に90度回る)
報酬は、壁に当たったら-0.2, ゴールについたら(1.0, ただし初回のみ), それ以外 -0.1
という設定です。

モデルはニューラルネットのQ学習ですが、メモリーにGRU(LSTMのパラメータを減らしたバージョン)を使っています。
後ほどちゃんとまとめていきます。