方策ベースの手法 - Shinichi0713/RL-study GitHub Wiki
強化学習(Reinforcement Learning, RL)の「方策ベースの手法」とは、エージェントの行動方策(policy)を直接学習するタイプの手法を指します。
方策(Policy)とは?
- 方策(policy)とは、「ある状態でどの行動をとるか」を決める確率分布や関数のことです。
- 数式で書くと、(\pi(a|s)):状態(s)のときに行動(a)を選ぶ確率。
方策ベース手法の特徴
- 方策自体をパラメータ化して直接学習する(例:ニューラルネットワークで表現)。
- 方策のパラメータを最適化して、報酬が最大になるようにする。
- 価値関数(Value Function)を使わない、あるいは補助的に使う場合もある。
方策ベース手法の代表例
1. モンテカルロ方策勾配法(REINFORCE)
- 報酬を最大化するように方策のパラメータを勾配法で更新する。
- 1エピソードごとに累積報酬を計算し、方策パラメータを更新。
2. Actor-Critic法
- **方策(Actor)と価値関数(Critic)**を両方学習する。
- Actorが方策を、Criticが状態価値を出力し、Criticの情報を使ってActorを効率的に更新。
3. Proximal Policy Optimization(PPO)
- 方策の更新幅を制限することで安定した学習を実現する人気の手法。
- 近年のロボット・ゲームAIでよく使われる。
4. Trust Region Policy Optimization(TRPO)
- 方策の変化量を制約しながら最適化する手法。
方策ベース手法のメリット・デメリット
メリット
- 連続行動空間や確率的方策が扱いやすい
- 探索性が高い
デメリット
- サンプル効率が悪いことがある(特にREINFORCE)
- 勾配の分散が大きくなりやすい
サンプル効率が悪いとは? 「サンプル効率が悪い(特にREINFORCE)」とは、同じ性能を得るために多くの試行や経験(サンプル)が必要になる、つまり「学習に大量のデータやエピソードが必要になる」という意味です。 REINFORCEはサンプル効率が悪い理由
- 高い分散 REINFORCEはエピソード全体の累積報酬を使って方策パラメータを更新します。 1回のエピソードで得られる報酬は運に左右されやすく、勾配推定の分散(ばらつき)が非常に大きいです。 分散が大きいと、パラメータ更新が「正しい方向」に進みにくく、多くのサンプルで平均化しないと安定しません。
- サンプルの再利用ができない REINFORCEは「オンポリシー」手法なので、最新の方策で得られたデータしか使えません。 以前の経験は学習に使えず、毎回新しいエピソードをたくさん集め直す必要があります。
- 報酬までの遅延 報酬がエピソードの最後にしか得られない場合、どの行動が良かったのか分かりにくく、より多くの試行が必要になります。
価値ベース手法との違い
- **価値ベース手法(例:Q学習、DQN)**は、各状態・行動ペアの価値を推定し、その価値が最大になる行動を選ぶ。
- 方策ベース手法は、行動方策そのものを直接最適化する。
まとめ
方策ベースの手法とは、「エージェントの行動方策(policy)を直接学習し、最適化する強化学習手法」のことです。
REINFORCE
REINFORCEは、試行錯誤を通して学習する強化学習アルゴリズムの一つです。一連のエピソード(試行)が完了してから、得られた結果を用いて学習を行う方法で、これはモンテカルロ法と呼ばれています。 この手法が有利となるのは、 囲碁や将棋のように一手ずつ良し悪しを判断するのが難しい場面で特に有効です。
REINFORCEは、方策勾配法という手法に基づいています。方策とは、ある状況でどのような行動をとるかを決めるための指針のようなものです。方策勾配法は、この方策を少しずつ改善していくことで、最終的に最適な行動を見つけ出すことを目指します。具体的には、方策を数式で表現し、その数式中のパラメータを調整することで方策を変化させます。