最近買った「つくりながら学ぶ!深層強化学習」という強化学習の本で、迷路を方策勾配法で解くという内容が記載されていたが、数式展開がなく自分で式を導出するのに苦労したのでメモを残しておく。
この本の迷路の問題の内容は、Webにも掲載されている。
第5回 ⽅策勾配法で迷路を攻略|Tech Book Zone Manatee
表形式のパラメータの更新則として以下の式が記載されている。
なお、書籍とWeb記事では、2つ目の式の符合が誤っている。
引用されている論文と式が違うので、まずここで躓いたのだが、正誤表に符合の誤りについて記載されていた。
さて、問題は2つ目の式の導出である。
以下では、方策勾配定理から書籍の式を導出するまでをできるだけ省略しないで行う。
方策勾配定理の近似式については引用されている論文やこれからの強化学習を参照。
式の導出
出発点となる方策勾配定理は、以下の式で表される。
ここで、添え字iはエピソードの番号を表しているが、1エピソードごとに更新するため、この問題では添え字iのシグマは削除できる。
報酬は、ゴールにたどり着いた場合に、たどった経路すべてに割引なしで報酬1を与えるため、この式で常に1となる。
また、状態と行動は、1エピソードで同じ状態を通ることがあるため、状態と行動状態にまとめて記述する。
よって、式は以下のように記述できる。
ここで、方策は、この問題ではSoftmax方策を採用しているため、
で与えらえる。
ここから、対数の公式と微分の公式を使って式を展開する。
ここで、は、当該エピソードで状態で行動をとった回数、は、当該エピソードで状態を通った回数を表す。
式の展開で4行目から5行目への展開は、微分の連鎖則を使用している。
つまり、
を利用した。
式の5行目から6行目で、
となっているが、これは、1つのエピソードで状態で行動をとることが複数あるため、偏微分の結果は1だが、回足す必要があるためである。
また、式の6行目から7行目で、
となっているが、これは、1つのエピソードで状態を複数とることがあり、行動以外を取った場合もの中に含まれているため、回足す必要があるためである。
(補足:指数の微分が指数になる部分の式の展開は省略している。)
さらに、式を展開すると、Softmaxの定義から、
となり、書籍の式が導出できた。