强化学习(六)——策略梯度

文章目录

  • Reference
  • 1. Introduction
    • 1.1 Value-Based and Policy-Based
    • 1.2 Policy-Gradient
      • 1.2.1 目标函数(Policy Objective Functions)
      • 1.2.2 策略优化(Policy Optimisation)
      • 1.2.3 梯度下降(Gradient Descent)
      • 1.2.4 Score Function
    • 1.3 单步马尔可夫决策过程(One-Step MDPs)
    • 1.4 多步马尔可夫决策过程(Multi-Step MDPs)
  • 2. 蒙特卡洛策略梯度(MC Policy Gradient)
    • 2.1 REINFORCE
  • 3. 演员评论家策略梯度(Actor-Critic Policy Gradient)
    • 3.1 QAC(Action-Value Actor-Critic)
    • 3.2 A2C(Advantage Actor-Critic)
      • 3.2.1 Baseline
      • 3.2.2 Advantage function
      • 3.2.3 Estimating the Advantage function
    • 3.3 Summary
  • 4. 附录
    • 4.1 演员、环境和奖励
    • 4.2 最大化期望奖励

Reference

[1] David Silver: https://www.youtube.com/watch?v=KHZVXao4qXs&t=4609s

1. Introduction

1.1 Value-Based and Policy-Based

定义
Value-Based和Policy-Based是RL的两种学习方式。Value-Based需要先学习价值评估,再根据价值选择最优动作。Policy-Based则是直接学习策略选择。
强化学习(六)——策略梯度_第1张图片

  • 因为不用价值预测,Policy-Based方法在高维或连续动作空间中更加高效,也更容易收敛。
  • Value-Based方法中函数通过近似逼近真实的价值,并通过循环的价值迭代接近最优价值以及确定的最优策略。而Policy-Based方法则支持随机策略选择。

1.2 Policy-Gradient

因为在强化学习(五)中我们介绍了常见的Value-Based方法,本章我们着重介绍Policy-Based方法。
Policy-Based方法具有两个基本要素:目标函数、策略优化。

1.2.1 目标函数(Policy Objective Functions)

目标函数用于衡量选择策略的好坏。目标函数可以采用开始价值平均价值衡量,价值又可以通过MC或TD采样获得。
强化学习(六)——策略梯度_第2张图片

1.2.2 策略优化(Policy Optimisation)

策略优化的目标是使得执行策略得到的目标函数最大,我们也有多种优化方法。
强化学习(六)——策略梯度_第3张图片
当我们选择梯度下降作为策略优化方法后,便获得了梯度下降算法。通过梯度下降方法优化,使得采用策略能够获得最大的价值。

1.2.3 梯度下降(Gradient Descent)

强化学习(六)——策略梯度_第4张图片

1.2.4 Score Function

强化学习(六)——策略梯度_第5张图片


1.3 单步马尔可夫决策过程(One-Step MDPs)

环境起始于状态s,终止于采取动作后的下一时间步。此时目标函数可以用采取动作获得奖励的期望表示。
强化学习(六)——策略梯度_第6张图片

1.4 多步马尔可夫决策过程(Multi-Step MDPs)

多步MDPs可以使用长期价值 Q π ( s , a ) = R s a + ∑ s ′ ∈ S P s s ′ V π ( s ′ ) Q^\pi(s,a)=R_s^a+\sum_{s' \in S} P_{ss'}V^\pi(s') Qπ(s,a)=Rsa+sSPssVπ(s)代替单步即时奖励r。所以多步马尔可夫决策过程的策略梯度可以表示为
强化学习(六)——策略梯度_第7张图片

2. 蒙特卡洛策略梯度(MC Policy Gradient)

如上文所述,策略梯度由目标函数与梯度下降优化算法两部分组成。在多部马尔可夫决策过程中,目标函数可以通过MC或者TD方法求得。这一节主要介绍MC求目标函数与梯度下降的结合。

2.1 REINFORCE

在强化学习(五)价值函数近似中我们了解到回报 G t G_t Gt可以通过无偏估计V函数或有偏估计Q函数近似。REINFORCE采取采样轨迹的回报计算Q函数
算法
强化学习(六)——策略梯度_第8张图片
特点

  • 需要在一条完整的轨迹上学习
  • 采用随机梯度下降策略
  • 学习效率低,具有高方差

结合强化学习(五)价值函数近似,我们可以尝试使用函数近似代替MC采样轨迹的回报,这样就不需要从完整的轨迹中进行学习了。

3. 演员评论家策略梯度(Actor-Critic Policy Gradient)

定义
加入critic替代MC预估动作价值函数。actor用于选择和优化策略。
强化学习(六)——策略梯度_第9张图片
根据强化学习(五)中的内容,Critic可以采用多种方式预测动作价值函数,下面我们将一一介绍。

3.1 QAC(Action-Value Actor-Critic)

算法
强化学习(六)——策略梯度_第10张图片

强化学习(六)——策略梯度_第11张图片

问题

  • 采用动作价值 Q w ( s , a ) Q_w(s,a) Qw(s,a)替代期望汇报会引入偏差。

3.2 A2C(Advantage Actor-Critic)

在QAC的基础上引入baseline来对偏差进行修正。使用优势函数乘上梯度对 θ \theta θ予以修正。

3.2.1 Baseline

强化学习(六)——策略梯度_第12张图片

3.2.2 Advantage function

强化学习(六)——策略梯度_第13张图片

3.2.3 Estimating the Advantage function

方式一:同时预测Q函数与V函数
强化学习(六)——策略梯度_第14张图片

方式二:预测TD error
采用方式一需要预测Q, V两个网络,参数很多。我们可以通过公式 Q ( s , a ) = R s a + ∑ s ′ ∈ S P s s ′ V ( s ′ ) Q(s,a)=R_s^a+\sum_{s' \in S} P_{ss'}V(s') Q(s,a)=Rsa+sSPssV(s)进行替代。
强化学习(六)——策略梯度_第15张图片
通过转换后就仅需要学习一个V网络的参数即可。

3.3 Summary

强化学习(六)——策略梯度_第16张图片


4. 附录

以下内容为笔记更新前的内容

4.1 演员、环境和奖励

(1)定义

  • 演员就是一个网络,输入状态,输出动作。
  • 环境就是一个函数,输入状态和动作,输出状态。
    环境是基于规则的规则,是确定不变的。
  • 奖励是在某一个状态下采取某个动作能够获得的分数。
    环境是一个随机变量(因为状态和环境都是在一定分布下抽样获得的),我们可以计算的是奖励的期望值。

(2)某一个轨迹发生的概率
p θ ( τ ) = p ( s 1 ) p θ ( a 1 ∣ s 1 ) p ( s 2 ∣ a 1 , s 1 ) p θ ( a 2 ∣ s 2 ) p ( s 3 ∣ a 2 , s 2 ) ⋯ = p ( s 1 ) ∏ t = 1 T p θ ( a t ∣ s t ) p ( s t + 1 ∣ s t , a t ) p_\theta(\tau)=p(s_1)p_\theta(a_1|s_1)p(s_2|a_1,s_1)p_\theta(a_2|s_2)p(s_3|a_2,s_2)\cdots \\ =p(s_1)\prod_{t=1}^T p_\theta(a_t|s_t)p(s_{t+1}|s_t,a_t) pθ(τ)=p(s1)pθ(a1s1)p(s2a1,s1)pθ(a2s2)p(s3a2,s2)=p(s1)t=1Tpθ(atst)p(st+1st,at)

理解:
演员由当前状态 s t s_t st通过网络 θ \theta θ输出当前采取的动作 a t a_t at。根据当前状态和采取的动作会进入到下一个状态 s t + 1 s_{t+1} st+1
由于网络对动作的选取、环境对状态的选取都是基于一定分布下的抽样,因此一条轨迹发生的状态是由初始状态的概率 p ( s 1 ) p(s_1) p(s1)和每一次动作的选取概率 p θ ( a t ∣ s t ) p_\theta(a_t|s_t) pθ(atst)的概率和状态选取的概率 p ( s t + 1 ∣ s t , a t ) p(s_{t+1}|s_t,a_t) p(st+1st,at)获得。

(3)奖励的期望值
因为状态和动作的选取是随机的,所以R是一个随机变量。我们可以计算,在给定某一组 θ \theta θ的情况下,得到的 R θ R_\theta Rθ的期望值:
R ˉ = ∑ τ R ( τ ) p θ ( τ ) = E τ ∼ p θ ( τ ) [ R ( τ ) ] \bar{R}=\sum_\tau R(\tau)p_\theta(\tau) \\ =E_{\tau \sim p_\theta(\tau)}[R(\tau)] Rˉ=τR(τ)pθ(τ)=Eτpθ(τ)[R(τ)]

也可以理解为,从分布 p θ ( τ ) p_\theta(\tau) pθ(τ)采样一个轨迹 τ \tau τ,计算的 R ( τ ) R(\tau) R(τ)的期望值。
强化学习(六)——策略梯度_第17张图片

4.2 最大化期望奖励

我们可以使用梯度上升(gradient ascent)。要使用梯度上升,就需要求解期望奖励的梯度 ∇ R ˉ \nabla \bar{R} Rˉ

(1)期望奖励的梯度
∇ R θ ˉ = ∑ τ R ( τ ) ∇ p θ ( τ ) = ∑ τ R ( τ ) p θ ( τ ) ∇ log ⁡ p θ ( τ ) = E τ ∼ p θ ( τ ) [ R ( τ ) ∇ p θ ( τ ) ] \nabla \bar{R_\theta} = \sum_\tau R(\tau) \nabla p_\theta(\tau)=\sum_\tau R(\tau)p_\theta(\tau) \nabla \log p_\theta(\tau) \\ =E_{\tau \sim p_\theta(\tau)}[R(\tau)\nabla p_\theta(\tau)] Rθˉ=τR(τ)pθ(τ)=τR(τ)pθ(τ)logpθ(τ)=Eτpθ(τ)[R(τ)pθ(τ)]

∇ f ( x ) = f ( x ) ∇ f ( x ) f ( x ) = f ( x ) ∇ log ⁡ f ( x ) \nabla f(x) = f(x) \frac{\nabla f(x)}{f(x)}=f(x) \nabla \log f(x) f(x)=f(x)f(x)f(x)=f(x)logf(x)

∇ log ⁡ p θ ( τ ) = ∇ ( log ⁡ p ( s 1 ) + ∑ t = 1 T log ⁡ p θ ( a t ∣ s t ) + ∑ t = 1 T p ( s t + 1 ∣ s t , a t ) ) = ∑ t = 1 T ∇ log ⁡ p θ ( a t ∣ s t ) \nabla \log p_\theta(\tau) = \nabla(\log p(s_1)+\sum_{t=1}^T \log p_\theta(a_t|s_t)+\sum_{t=1}^T p(s_{t+1}|s_t,a_t)) \\ =\sum_{t=1}^T \nabla \log p_\theta(a_t|s_t) logpθ(τ)=(logp(s1)+t=1Tlogpθ(atst)+t=1Tp(st+1st,at))=t=1Tlogpθ(atst)

∇ R θ ˉ = E τ ∼ p θ ( τ ) [ R ( τ ) ∑ t = 1 T ∇ log ⁡ p θ ( a t ∣ s t ) ] = 1 N ∑ n = 1 N ∑ t = 1 T R ( τ n ) ∇ log ⁡ p θ ( a t n ∣ s t n ) \nabla \bar{R_\theta} = E_{\tau \sim p_\theta(\tau)}[R(\tau)\sum_{t=1}^T \nabla \log p_\theta(a_t|s_t)] \\ =\frac{1}{N}\sum_{n=1}^N \sum_{t=1}^TR(\tau^n) \nabla \log p_\theta(a^n_t|s^n_t) Rθˉ=Eτpθ(τ)[R(τ)t=1Tlogpθ(atst)]=N1n=1Nt=1TR(τn)logpθ(atnstn)

综上,可以获得期望奖励的梯度为:
∇ R θ ˉ = 1 N ∑ n = 1 N ∑ t = 1 T R ( τ n ) ∇ log ⁡ p θ ( a t n ∣ s t n ) \nabla \bar{R_\theta} = \frac{1}{N}\sum_{n=1}^N \sum_{t=1}^TR(\tau^n) \nabla \log p_\theta(a^n_t|s^n_t) Rθˉ=N1n=1Nt=1TR(τn)logpθ(atnstn)

理解:
将策略选择看作分类问题,在一般的分类问题中,目标函数都是最小化交叉熵。策略梯度在此基础上,使用R进行加权,对于优秀的行为我们希望加大他的概率,失败的行为减小他的概率。
强化学习(六)——策略梯度_第18张图片

你可能感兴趣的:(强化学习,机器学习,人工智能,强化学习)