深層強化学習アルゴリズムDDPGをしっかり理解する(2)
この記事は、
これ↑の続きにあたるものです.
Deterministic policy gradient theoremの導出だけ知りたい! という人以外は、最初の記事から読むことをおすすめします.
2) DPGアルゴリズム
前回の記事では、確率的な方策(= とある状態sに対して行動aが確率的に決まる方策)をparameterizeし、平均報酬 or 割引報酬和が最大になるようにパラメータを更新していくアルゴリズムを導出し実装しました.
このようなアルゴリズムをSPG(stochastic policy gradient) algorithmと呼ぶことも紹介しました.
今回は、決定論的な方策(= とある状態sに対して一意に行動aが決まる方策)をparameterizeし、割引報酬和が最大になるようにパラメータを更新していくアルゴリズムを導出し、実装していきます.
このようなアルゴリズムをDPG(deterministic policy gradient) algorithmと呼びます.
かつては、決定論的な方策勾配は存在しないか、model-freeでない強化学習モデルでのみ存在すると考えられていました.
しかし、2014年のdeepmind社の論文により、決定論的な方策勾配が存在し、確率論的な方策勾配のアプローチよりも性能面で上回ることが示されました.
2.1) DPGアルゴリズムを使っていくモチベーション
この章では、SPGアルゴリズムに代わってDPGアルゴリズムを使っていくメリットについて書いていきます.
そのためにまずは、方策パラメータの更新則を示す、決定論的な勾配方策定理がどのような形をしているのかを見てみます.
以下の式が決定論的な勾配方策定理です. ただし、
- 今回、状態sと状態aには連続値を想定.
- : 決定論的な方策. 状態sに対して行動aを一意に出力.
- : 方策のもとでの、状態sの割引分布(前回の記事を参照)
- : 方策のもとで、状態sで行動aをとったときの行動価値関数.
割引報酬和の勾配は、行動価値関数の勾配∇θQ(s, μ(s))に対して、状態sで期待値をとった形をしています.
さて、この形だと確率論的な方策勾配定理に対して何がうれしいのでしょうか.
前回の記事で考えた、確率論的な方策勾配定理(ただし、s, aが連続値バージョン)は以下のような形をしていました.
注目すべきは、何に対する期待値をとっているかです.
SPGは、状態空間と行動空間の2つに対して期待値をとっているのに対して、
DPGは、状態空間のみに対して期待値をとっています.
よってPGを推定するために必要なサンプル数が、SPGよりもDPGの方が少なくなり、計算量が小さくなるのです.
(特に、行動空間の次元数が大きいときにうれしい)
2.2) DPG theoremの導出
それでは、上述の確率論的な方策勾配定理を導出していきましょう.
2.3) DPGの直感的な理解
DPGは以下のような形をしていることが導かれました. 方策勾配は、行動価値関数の勾配の期待値というシンプルな形をしています.
2.4) DPGによる強化学習の特徴
DPGにおけるtarget-policyは、決定論的な方策なので、この方策をそのまま探索における方策に用いてしまうと、十分な探索を行うことができません.
そこで十分な探索を保証するために、学習対象となるtarget-policyとは別に、学習中の探索にもちいるbehavior-policyを用いなくてはなりません.
いわゆるoff-policyな強化学習です.
また、決定論的方策と行動価値関数との2つを関数近似し最適化していくので、いわゆるActor-Criticアルゴリズムに分類されます.
2.5) 実装
前回のSPGと同様に実装例を載せようと思いましたが、次回の記事で解説するDDPGは、DPGアルゴリズムに深いニューラルネットワークを導入したものであり、どちらもDPG theoremに基づくアルゴリズムなので、実装例は次回の記事に委ねることにしました.2.6) 参考文献
- これからの強化学習, 2016/10/31
- Deterministic Policy Gradient Algorithms, 2014/6/21