2021年10月31日日曜日

UE4で強化学習迷路タスクデモ

今回は以前UE4で実装した強化学習のデモの様子を投稿したいと思います。

環境設定
環境は迷路タスクでゴールまでには2つのルートがあります。 上ルートは安全ですが若干遠回りで、右ルートは落とし穴が多くあり危険ですが近道となっています。
報酬設定はゴールに+100、落とし穴に-100、同じ場所にとどまらせないように通常時にも-1の罰を与えます。
行動選択
行動選択はε-greedy法で行います。
ランダム行動を選択するεは大体0.2ほどに設定して徐々に小さくしていきます。
行動価値関数更新
行動価値関数の更新はQ-learningで行います。
rは状態sで行動aを行った結果得られた報酬、ダッシュが付いてる記号は遷移先の状態と選択された行動です。
その他、学習率と割引率と呼ばれるパラメータを設定する必要がり、今回学習率は0.1、割引率は0.9としました。環境によって異なりますが大体この辺りの値から試してみることが多いです。
学習結果
学習初期段階ではスタート地点周辺をうろうろしたり、落とし穴に落ちたりする行動が目立ちます。
その後、学習が十分進むとこのようにしっかり落とし穴を避け、迷うことなくゴールに到達することができます。 Q-learning は多少リスキーでも報酬を最大化しようとするので、危険だけど近道となるルートを選択しましたね。

0 件のコメント:

コメントを投稿