見出し画像

Gymで強化学習⑨動的計画法:理論編

前回の記事では有限マルコフ決定過程において最適なポリシーを見つけるための代表的な手法をざっと見渡しました。この記事ではその中で最初に取り上げられた動的計画法の理論を詳細に解説します。そして次回の記事では実際にコードを交えて動的計画法をGymの環境を使って解説します。

動的計画法を学ぶ意義

まず、動的計画法を学ぶ意義について解説します。動的計画法は、環境における状態、報酬、行動の関係が確率的に完全にわかっている場合に有用な手法です。

動的計画法はよく強化学習の本などで最初の方に登場します。しかし、なぜ有限な環境を想定するのか。また、環境の完全なモデルを想定するのではあまり実用性がないのではないか。

こういった疑問が湧くかもしれません。

まず、有限であるとは、状態行動の組み合わせに限りがあり、さらに状態遷移の確率が知られていることを指します。そのことを利用すると状態価値関数の計算をディクショナリや表などを利用して計算できます。

つまり、有限な環境を想定すると、実際に計算することができ理解がしやすくなります。後で「有限である」から「有限ではない」環境(状態、行動)への拡張をすることもできます。

有限でない場合は状態価値関数などが連続な値を取り扱うことになりますが、最適なポリシーの見つけるためのアプローチに変わりはありません。よって有限マルコフ決定過程における手法を学ぶ・研究することを強化学習の第一歩として位置付けることは我々の学習を効率良くすることになります。決して無駄ではありません。

逆に、有限マルコフ決定過程における手法をよく理解しておかないと後で躓く可能性があります。

また、動的計画法には大切な考え方がたくさん含まれています。ここで使われる手法は他の有限マルコフ決定過程の手法に共通することが多いです。

もちろん、有限マルコフ決定過程だと扱える問題に制限がありますが、前述したように「有限である」から「有限ではない」環境(状態、行動)への拡張をすることができます。

それに対しては二つのアプローチがあります。

一つ目の対策は、連続値をとる状態や行動を有限な区間に分けることで離散的に扱う方法です。問題によっては状態と行動の離散化よって有限マルコフ決定過程における手法がそのまま適用できます。

二つ目の対策は、状態価値関数や行動価値関数が連続値を扱えるように拡張する手法です。ディクショナリや表などの代わりに連続値を扱う関数を状態価値関数と行動価値観数として求めます。その上で有限マルコフ決定過程における手法と同様なアプローチを適用します。

有名なのは深層強化学習で状態価値や行動価値を計算にディープラーニングのモデルを使います。また、それらの関数はエージェントが経験を繰り返すことで学習されます。

有限マルコフ決定過程における手法は状態価値や行動価値を計算することができれば適用できるので、上記のような拡張を施すことで有限な環境でなくとも応用ができるようになります。

なのでこの先でつまずくことがあったら動的計画法を見直してみてください。

ポリシーを改善するとは

ここから先は

10,457字

キカベン・読み放題

¥1,000 / 月
初月無料
このメンバーシップの詳細

この記事が気に入ったらサポートをしてみませんか?