策略梯度方法介绍——Value-Based强化学习方法 VS Policy-Based强化学习方法

目录

从本节开始,将介绍策略梯度方法求解强化学习任务。

回顾:基于价值函数(Value-Based)的强化学习方法

Value-Based强化学习方法介绍

前面介绍的各种求解强化学习任务的方法中,总共介绍了3大类求解 马尔可夫决策过程(Markov Decision Process,MDP)问题的方法,它们分别是:

  • 动态规划方法(Dynamic Programming,DP);
  • 蒙特卡洛方法(Monte Carlo,MC);
  • 时序差分方法(Temporal-Difference,TD)

这三种方法存在共同特点

  • 在求解强化学习任务时,最终目标是求解满足规则的最优策略 π \pi π
    但以上三种方法并没有 直接求解 策略 π \pi π这个变量,而是先计算 状态价值函数 V π ( s ) V_\pi(s) Vπ(s) / 状态-动作价值函数 q π ( s , a ) q_\pi(s,a) qπ(s,a);然后再基于价值函数结果改进 策略 π \pi π,从而实现策略 π \pi π的迭代更新。
    请添加图片描述
  • 无论是动态规划方法的策略迭代,还是蒙特卡洛控制时序差分控制,它们呈现的共同点都是在策略改进过程中,均选择最优价值函数对应的动作作为新的策略。
    (即便在同轨策略方法中存在使用 ϵ − \epsilon- ϵ贪心策略修正的情况,但并不影响 选择“最优动作”作为新的策略 的本质)
    a ∗ = π ′ ( s ) = arg ⁡ max ⁡ a q π ( s , a ) a^* = \pi'(s) = \mathop{\arg\max}\limits_{a}q_\pi(s,a) a=π(s)=aargmaxqπ(s,a)
  • 这三种方法都是 表格式强化学习 的代表方法,其主要思想是:
  1. 在算法开始前,初始化一个存储价值函数的空间 Q − T a b l e Q-Table QTable
  2. 在迭代过程中,每次迭代更新对应位置 ( s t a t e , a c t i o n ) (state,action) (state,action)的价值函数信息;
  3. 并不是从迭代开始就会将正确的信息加入到 Q − T a b l e Q-Table QTable中(Q-Learning中产生的就最大化偏差是个很好的例子),而是通过不断试错——与环境不断交互并从环境的反馈信息中进行学习。

Value-Based强化学习方法的缺陷

什么样的情况是Value-Based强化学习方法 无法解决/解决不好 的呢?

  • 根据上面的特点介绍,我们发现,每次策略改进得到的最优策略 π ∗ \pi^* π一定是 确定性策略/基于 ϵ − \epsilon- ϵ贪心策略修正后的 软性策略
    但ϵ-贪心策略仍然改变不了‘最优动作占据新策略最多权重,并且远超其他动作权重’的本质。因此,该策略主体仍然是某一确定性动作,即价值函数最高结果对应的动作。

    但是每次迭代产生的这种确定性动作反而限制了迭代过程(这样会导致每次迭代更新的 方向性极强)。在真实环境中,我们更想要一个随机性策略而不是确定性动作
    这里说的‘随机性策略’和‘软性策略’截然不同,因为‘软性策略中的随机性’是人为定的超参数(ϵ),而不是机器生成的;

  • Value-Based强化学习方法面对的问题一般情况下状态(State)、动作(Action) 等变量是 可数的、有穷的 :前面介绍具体强化学习方法时,经常对 状态集合 S \mathcal S S,动作集合 A \mathcal A A,奖励集合 R \mathcal R R进行 逻辑场景构建传送门
    S = { s 1 , s 2 , ⋯   , s m } A = { a 1 , a 2 , ⋯   , a n } R = { r 1 , r 2 , ⋯   , r k } \mathcal S = \{s_1,s_2,\cdots,s_m\} \\ \mathcal A = \{a_1,a_2,\cdots,a_n\} \\ \mathcal R = \{r_1,r_2,\cdots,r_k\} S={ s1,s2,,sm}A={ a1,a2,,an}R={ r1,r2,,rk}
    并且在构建时声明它们是 离散型随机变量。但是在真实环境中,我们遇到的动作(Action) 不一定是离散的

    示例:二维平面内智能体运动方向 a a a的选择
    如果使用角度来描述它的运动方向(智能体选择的运动方向当前状态智能体运动方向 之间的夹角):那么有效的运动方向范围表示如下:
    a ∈ [ 0 , 2 π ] a \in [0,2\pi] a[0,2π]
    如果将运动方向的选择看成智能体选择的动作,即动作的选择结果在 [ 0 , 2 π ] [0,2\pi] [0,2π]内均有效——该场景中的动作明显是一个连续型随机变量,没有办法将 [ 0 , 2 π ] [0,2\pi] [0,2π]所有动作 全部列举出来。

  • 针对步骤2若后退一步——假设我们动作的选择是可数的、有穷的,但是动作的数量 极多,使用价值函数强化学习方法进行求解时,我们需要建立一个超级大的 Q − T a b l e → Q-Table \to QTable 用于迭代过程中价值函数的更新。但这种操作内存占用情况是非常严重的。

综上,Value-Based强化学习方法并不能有效解决上述问题。

基于策略(Policy-Based)的强化学习方法

适用场景

相比于Value-Based强化学习方法Policy-Based强化学习方法不再利用价值函数,而是利用 策略函数 直接选择动作。

对比Value-Based强化学习方法的缺陷,我们介绍Policy-Based强化学习方法适用的场景:

  • 产生的策略是随机性策略
  • 动作是连续型随机变量(动作空间连续);

这相比仅仅是针对确定性策略、动作是离散型随机变量的Value-Based强化学习方法,Policy-Based强化学习方法能够解决问题的范围 更加广泛——使用Policy-Based强化学习方法同样可以求解Value-Based强化学习方法的场景

求解过程

在Value-Based强化学习方法中,策略 π ( a ∣ s ) \pi(a \mid s) π(as)指的是给定状态 s s s条件下,有意义的动作 a a a概率分布,其数学符号表示如下:
π ( a ∣ s ) = ( π ( a 1 ∣ s ) π ( a 2 ∣ s ) ⋮ π ( a N ∣ s ) ) ( a 1 , a 2 , ⋯   , a N ∈ A ( s ) ) \begin{aligned} \pi(a \mid s) = \begin{pmatrix} \pi(a_1 \mid s) \\ \pi(a_2 \mid s) \\ \vdots \\ \pi(a_N \mid s) \\ \end{pmatrix}(a_1,a_2,\cdots,a_N \in \mathcal A(s)) \end{aligned} π(as)= π(a1s)π(a2s)π(aNs) (a1,a2,,aNA(s))
Policy-Based强化学习方法中的动作 a a a连续性随机变量,因此此时的策略 π \pi π不再是上述概率集合的形式,而是可微函数的形式——动作发生的概率受到某个概率密度函数的控制

根据上述思路,进行如下分析:

  • 根据实际情况,假设动作 a a a服从某一概率密度函数 P ( a ∣ s ; θ ) P(a\mid s;\theta) P(as;θ)(换种思路理解——将动作 a a a理解成从概率模型 P ( a ∣ s ; θ ) P(a\mid s;\theta) P(as;θ)产生的样本)
    其中s表示给定的状态,theta表示概率密度函数的参数信息。
  • 最终目标从求解 π ( a ∣ s ) \pi(a \mid s) π(as)转换成求解策略中的参数 θ \theta θ
    因此,将含参数 θ \theta θ的策略称为策略函数。记作 π ( a ∣ s ; θ ) \pi(a \mid s;\theta) π(as;θ),通常情况下可简写成 π θ \pi_{\theta} πθ
    π ( a ∣ s ; θ ) = P ( A t = a ∣ S t = s , θ t = θ ) \pi(a \mid s;\theta) = P(A_t = a \mid S_t = s,\theta_t = \theta) π(as;θ)=P(At=aSt</
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静静的喝酒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值