![見出し画像](https://assets.st-note.com/production/uploads/images/115503214/rectangle_large_type_2_f35fdce2cac3b9a7ec8044f2e677c36b.png?width=800)
Gymで強化学習㊳REINFORCE:理論編
前回は、ポリシー勾配法を理論的な側面から解説しました。今回はポリシー勾配法の具体例の一つであるREINFORCEを紹介します。
REINFORCEでは、エージェントが行動を選び、その結果得られる報酬を使って行動の確率を更新します。このアプローチは、生涯報酬(割引報酬の和)が多くなる行動がより高い確率で選ばれるようにポリシーを調整するので、徐々に最適な行動を見つけることができます。
しかし、REINFORCEは報酬のばらつきが大きいと非効率な場合があります。それでも、この手法は理論的には任意の報酬関数とポリシーに対して有効であり、多くの問題で適用が可能です。
では、さっそく始めましょう。
ポリシー勾配定理のおさらい
前回紹介したポリシー勾配定理は、目的関数$${J(\theta)}$$の勾配$${\nabla_\theta J(\theta)}$$と行動選択の対数確率$${\log \pi_\theta(a_t|s_t)}$$の勾配$${\nabla_\theta \log \pi_\theta(a_t|s_t)}$$とを結びつけるものでした。
$$
\nabla_\theta J(\theta) = \mathbb{E}_{\tau \sim \pi_\theta} \Biggl[ \left(\sum_{t=0}^{T-1} \nabla_\theta \log \pi_\theta(a_t|s_t)\right) g(\tau) \Biggr]
$$
これによって行動選択をうまく調節することで目的関数を最大化できるという関係が示されました。また、生涯報酬$${g(\tau)}$$は、トラジェクトリ$${\tau}$$から、次のように計算できます。
$$
g(\tau) = r_1 + \gamma r_2 + \gamma^2 r_3 + \dots + \gamma^{T-1} r_T
$$
$${\gamma}$$は割引率です。報酬$${r_i (i = 1, \dots, T)}$$は、環境が持つ報酬関数から与えられます。それは、各状態においてポリシーが選択した行動に依存します。もちろん、ランダム性が含まれる場合もあります。
上述の2つの式から分かることは、理論的にはポリシー勾配定理は、任意の報酬関数とポリシーに対して有効であり、多くの問題で適用が可能です。
しかし、実際にポリシー勾配定理を実践するには、具体的にはどうしたら良いでしょうか。
この問いに答える一つの手法が今回紹介するREINFORCEになります。
この記事が気に入ったらサポートをしてみませんか?