[Reinforcement Learning] Policy Gradient Methods
[Reinforcement Learning] Policy Gradient Methods
通过机器学习的方法我们一旦近似了价值函数或者是动作价值函数就可以通过一些策略进行控制,比如 ϵ-greedy。
那么我们简单回顾下 RL 的学习目标:通过 agent 与环境进行交互,获取累计回报最大化。既然我们最终要学习如何与环境交互的策略,那么我们可以直接学习策略吗,而之前先近似价值函数,再通过贪婪策略控制的思路更像是"曲线救国"。
这就是本篇文章的内容,我们如何直接来学习策略,用数学的形式表达就是:
- πθ(s,a)=P[a|s,θ]
这就是被称为策略梯度(Policy Gradient,简称PG)算法。
当然,本篇内容同样的是针对 model-free 的强化学习。
Value-Based vs. Policy-Based RL
Value-Based:
- 学习价值函数
- Implicit policy,比如 ϵϵ-greedy
Policy-Based:
- 没有价值函数
- 直接学习策略
Actor-Critic:
- 学习价值函数
- 学习策略
三者的关系可以形式化地表示如下:
认识到 Value-Based 与 Policy-Based 区别后,我们再来讨论下 Policy-Based RL 的优缺点:
优点:
- 收敛性更好
- 对于具有高维或者连续动作空间的问题更加有效
- 可以学习随机策略
缺点:
- 绝大多数情况下收敛到局部最优点,而非全局最优
- 评估一个策略一般情况下低效且存在较高的方差
Policy Search
我们首先定义下目标函数。
Policy Objective Functions
目标:给定一个带有参数 θθ 的策略 π**θ(s,a)πθ(s,a),找到最优的参数 θθ。
但是我们如何评估不同参数下策略 π**θ(s,a)πθ(s,a) 的优劣呢?
Episode 轮次表示从起始状态开始使用某种策略产生动作与对象系统交互,直到某个终结状态结束。比如在围棋游戏中的一个轮次就是从棋盘中的第一个落子开始直到对弈分出胜负,或者自动驾驶的轮次指从汽车启动一直到顺利抵达指定的目的地,当然撞车或者开进水塘也是种不理想的终结状态。
策略梯度的学习是一个策略的优化过程,最开始随机的生成一个策略,当然这个策略对对象系统一无所知,所以用这个策略产生的动作会从对象系统那里很可能会得到一个负面奖励,这个过程就好像在PONG游戏中我们对飞来的乒乒球无动于衷而导致对方的得分增加。为了击败对手我们需要逐渐的改变策略,使得本方的比分增加。策略梯度在一轮的学习中使用同一个策略直到该轮结束,通过梯度上升改变策略并开始下一轮学习,如此往复直到轮次累计奖励不再增长停止。
…(https://www.ibm.com/developerworks/cn/analytics/library/ba-lo-deep-introduce-policy-gradient/index.html)
论文:https://homes.cs.washington.edu/~todorov/courses/amath579/reading/PolicyGradient.pdf