强化学习とは何だろう??~価値関数と方策勾配~

皆さん、こんにちは。尝笔开発グループの苍-辞锄补飞补苍です。
氷河期は寒冷化により氷床や氷河が存在または拡大する时代のことです。氷河期は比较的寒冷な「氷期」と温暖な「间氷期」を交互に繰り返します。今は260万年前から始まった第四纪氷河时代の间氷期に当たります。温暖化が叫ばれている中、実は今は氷河期だったというのは、なんだか不思议な気分です。

本题です。
强化学习は累積報酬を最大化するために、現在の「状態」から最適な「行動」を選択します。前回はバンディットアルゴリズムを绍介しましたが、今回は価値関数と方策勾配のお话しです。

価値関数と方策勾配

おさらい

前回のおさらいです。强化学习は以下の手順で進め、累積報酬を最大化することを目的とします。

  1. エージェントが现在の「状态」を観测する
  2. エージェントが「状态」から「行动」を选択する
  3. 环境が「报酬」と「次の状态」を返す
  4. エージェントが报酬をもとに学习する
  5. 次の状态に移り、1~4を繰り返す

累積報酬を最大化するような行動を選択すれば良いのですが、未知の状態に対してどの行動を取れば良いのか分かりません。そこで「活用」と「探索」をバランス良く行うことで、効率よく强化学习を行います。

その方法の1つとしてバンディットアルゴリズムを绍介しました。バンディットアルゴリズムは「状态」を考虑せず「行动」を选択する方法でしたが、「状态」と「行动」を考虑する方法として「価値関数」と「方策勾配」があります。

価値関数

强化学习は、現在の状態から将来の累積報酬が最大となるような行動を選択する必要があります。価値関数は、状態や行動に価値を設定し、その価値が最大となるように学習する方法です。ここでいう価値とは、将来の累積報酬の期待値になります。価値関数は主に以下の2種類があります。

状态価値関数

状态価値関数は、ある状態にエージェントがいるときに、そこから最適な行動を選び続けた場合に将来得られる累積報酬の期待値を表します。

行动価値関数

行动価値関数は、ある状態で特定の行動を選択したときに、その後最適な行動を選び続けた場合に得られる累積報酬の期待値を表します。状态価値関数が「状態」に着目するのに対し、行动価値関数は「状態」と「行動」の組み合わせに着目します。代表的な例としてQ関数(Q値)があり、Q学習などのアルゴリズムで利用されます。

方策勾配

方策とは、ある状态でどの行动を选択するのかを决めるルールです。価値関数は「状态と行动の価値を推定して、その価値をもとに方策を决定する」アプローチでしたが、方策勾配は「方策を直接学习して最适化する」というアプローチになります。

方策勾配法は、「状态」と「行动」から得られた「报酬」をもとにパラメータを调整し、次回以降により良い选択をするための确率を高めていく手法です。方策勾配法はロボット制御など、特に行动の选択肢が大量にあるような场面で使われます。価値関数などでは、行动の选択肢が大量にあると価値の计算量が増え、学习に时间を要してしまうためです。

方策勾配法の代表的なアルゴリズムとして「搁贰滨狈贵翱搁颁贰」や「础肠迟辞谤-颁谤颈迟颈肠」などがあります。これらは、方策のパラメータを累积报酬が大きくなるように调整します。方策勾配の特徴は、连続的な行动空间や确率的な方策にも対応できる点です。

方策勾配法は、価値関数ベースの手法と组み合わせることで、より安定した学习が可能となります(例:础肠迟辞谤-颁谤颈迟颈肠法)。

おわりに

価値関数は累积报酬の期待値を计算します。つまり、未来の累积报酬を推测するのであり、「たぶん、これぐらいの価値があるんだろう」を求めます。なので、価値関数でも一定の确率で「探索」を行います。探索することで计算の精度を高めるのです。方策勾配でも同様に「探索」を行っており、「活用」と「探索」をバランス良く行う、という考え方はバンディットアルゴリズムと同じです。

ではまた。


Recommendおすすめブログ