![見出し画像](https://assets.st-note.com/production/uploads/images/99416913/rectangle_large_type_2_3d07ab2a581787f3339b9d4cb4226a32.png?width=800)
Gymで強化学習⑦グリッド・ワールド
前回の記事で強化学習の目的を「環境における最適なポリシー」を見つけること定義しました。ただし、数式が多く登場したので話が抽象的になりました。そこで今回は単純なグリッド・ワールドを使って具体例と共に数式を見て行きます。
グリッド・ワールドを使う最大の利点はその分かり易さにあります。すべて状態が観測可能であり個別な(連続ではない)値なので状態遷移などを例を使って考えやすくなります。
もし前回の記事でイメージが湧きにくいと感じた方は今回の記事を読まれるとより数式の意味が伝わるはずです。また、最後には最適なポリシーを探す一般的な考え方について解説します。
では、さっそく始めましょう。
グリッド・ワールド
グリッドとセル
グリッド(Grid)というと将棋やチェスの盤面のように直交する行と列をイメージします。つまり、2次元に配列されたセル(正方形のマス)です。
![](https://assets.st-note.com/img/1677387445021-Ctr3L2TO2b.png?width=800)
将棋やチェスの盤面上に駒を配置したものを状態とすると、その数は有限ですが駒の並びの組み合わせが膨大なので最適ポリシーを見つけるのが非常に困難なゲームになっています。よって例として扱うには向いていません。
もっと小さなグリッド・ワールドで単純なゲームを想定しても良いのですが、ここではさらに単純な1次元のグリッド・ワールドを考えます。そうすることで数式との対比が簡単になるからです。
状態
下のように、5つのセルそれぞれに番号がついており、これを状態の値として使います。よって初期状態は2です。ゴールは状態4に到達することですが、エージェントはゴールの場所を知りません。
![](https://assets.st-note.com/img/1676894344777-OBF1CPvrK3.png?width=800)
つまり、エージェントはあちこち動き回って報酬(あるいはペナルティ)を得ながら生涯報酬を最大化する行動パターン、つまりこの環境における最適なポリシーを見つける必要があります。
なお、一般に状態は複数の値を含みベクトルになりますが、この環境では状態は一つの値しかないのでスカラー(一つの数値)として表現しています。
行動
行動としては3つあります。以下のどれかを選ぶことができます。
「左」左のセルに移動
「止」停止(同じセルに居続ける)
「右」右のセルに移動
![](https://assets.st-note.com/img/1676894353195-71WUHYx2kU.png?width=800)
行動を決めると必ずそのように動きます。つまり、確率的な要素はありません。例えば、「左」を選ぶと必ず左へ動きます。もちろんグリッドの外には移動できませんが、以下に述べる終了の条件によりそれを考える必要もありません。
報酬
各状態には報酬が一意に決められているとします。つまり、確率的ではないので状態によって報酬の値が確定します。
![](https://assets.st-note.com/img/1676894359368-QUJa3KXGz5.png?width=800)
なお、報酬の合計が-2になると負けとなりゲーム終了です。このためエピソードは常に有限のステップ数で終わります。そのため報酬の割引率は考えなくとも報酬の合計が無限に膨らむことはありません。割引率が1であると考えても同じです。つまり、現在得る報酬と将来得る報酬の価値に差がないとみなしています。
最適なポリシー
以上をまとめると、この環境は以下のようになっています。
![](https://assets.st-note.com/img/1676894370235-mH52HS4sSU.png?width=800)
これを見ると右に2回移動するのが最適ポリシーだとわかります。しかし、エージェントはこのようにゴールと報酬が決まっているとは知りません。
では、最適なポリシーを発見するにはどうすれば良いのでしょうか。
ここからは、この環境において幾つかのポリシーを使って考察していきます。
この記事が気に入ったらサポートをしてみませんか?