Policy-Based Method RL

Posted Harris-H

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Policy-Based Method RL相关的知识,希望对你有一定的参考价值。

Policy-Based Method RL

策略函数 π ( a ∣ s ) \\pi(a|s) π(as) 是一个概率密度函数,以 s s s为输入,输出是 每个动作的概率分布。

agent根据策略函数随机抽样选择动作 a a a执行。


1.策略网络

我们使用策略网络来近似策略函数 π \\pi π,网络的训练参数为 θ \\theta θ

2.状态价值函数

定义状态价值函数 V π ( s t ) V_\\pi(s_t) Vπ(st) 为动作价值函数的期望。


a a a为离散随机变量时,我们将 V p i ( s t ) V_pi(s_t) Vpi(st) 通过连乘的方式累加求和。


通过策略网络的近似,我们可以得到如上图等式。


我们的目标是最大化 V π V_\\pi Vπ对于 S S S的期望, J ( θ ) J(\\theta) J(θ)用来表示当前策略 π \\pi π的胜率。

因此我们要最大化 J ( θ ) J(\\theta) J(θ)

通过Policy Gradient 策略梯度算法实现。


通过带入,我们的 V V V对于 θ \\theta θ的导数也就是梯度的等式变形。

通过对 π \\pi π 函数相对 θ \\theta θ的导数和 Q π Q_\\pi Qπ的乘积之和,便可以得到梯度,但是该方法过于简化且不严谨,因为 Q π Q_\\pi Qπ也与 θ \\theta θ有关,但是最终实际结果一样。


对于连续型随机变量,我们不能使用上述方法。

而是对 log ⁡ π ( θ ) \\log \\pi(\\theta) logπ(θ) 求导数,根据链式法则可以得到如上图变形。

最后,我们可以用上图的期望所表示梯度。


因为 π \\pi π策略函数是一个神经网络,无法进行积分求期望,因此我们考虑用蒙特卡洛近似,即根据策略函数随机抽样 a ^ \\hata a^ ,定义 g ( a ^ , θ ) g(\\hata,\\theta) g(a^,θ)作为无偏估计,近似表示梯度。


算法如下图所示:


3.价值函数如何近似

在该方法中,我们不知道价值函数 Q π ( s t , a t ) Q_\\pi(s_t,a_t) Qπ(st,at),我们如何近似呢?

第一种方法是REINFORCE,将agent执行完一轮的动作,得到一个 ( s , a , r ) (s,a,r) (s,a,r)的轨迹,然后用 u t u_t ut 实际回报近似 E [ U t ] E[U_t] E[Ut]


第二种方法就是使用actor-critic method,使用策略网络近似 Q π ( s t , a t ) Q_\\pi(s_t,a_t) Qπ(st,at) 函数。

以上是关于Policy-Based Method RL的主要内容,如果未能解决你的问题,请参考以下文章

不等式视角下的策略梯度算法

Policy-based design设计模式

Policy-based Approach(基于策略的方法)

强化学习笔记:Policy-based Approach

Tungsten Fabric SDN — Service Chain — Basic Service Chain and Policy-Based Steering

Tungsten Fabric SDN — Service Chain — Basic Service Chain and Policy-Based Steering