http://www.7klian.com

什么是PG算法?PG算法的道理与应用_链圈子


PG算法是一种基于计策梯度的强化进修算法,它的方针是直接优化计策函数,使得期望回报最大化。计策函数是一个参数化的函数,它可以按照状态输出一个行动可能一个行动的概率漫衍。PG算法通过调解计策函数的参数,来改变换作的选择概率,从而提高恒久回报。PG算法的焦点思想是:假如一个行动导致了较高的回报,那么就增加这个行动的概率;假如一个行动导致了较低的回报,那么就淘汰这个行动的概率。

PG算法的数学推导

PG算法的数学推导可以分为以下几个步调:

  • 界说方针函数:PG算法的方针函数是期望回报,即在计策 \pi_\theta 下,从初始状态 s_0 开始,颠末一系列状态和行动,最终得到的累积折扣回报的期望值。用数学公式暗示为:

J (\pi_\theta)=E\underset {\tau \sim \pi_\theta} [R (\tau)] \tag {1}

个中 \tau 暗示一条轨迹(trajectory),即从初始状态到终止状态的一系列状态和行动的序列。R (\tau) 暗示轨迹的累积折扣回报,即 \sum_ {t=0}^ {T} \gamma^t r_t ,个中 r_t 是在时刻 t 得到的即时嘉奖, \gamma 是折扣因子,T 是轨迹的长度。

  • 计较梯度:为了最大化方针函数,我们需要计较它关于计策参数 \theta 的梯度,并利用梯度上升法来更新参数。按照界说,我们有:

\nabla_\theta J (\pi_\theta)=\nabla_\theta E\underset {\tau \sim \pi_\theta} [R (\tau)] \tag {2}

由于期望值是对所有大概的轨迹举办积分或求和,因此直接计较梯度很是坚苦。为了简化计较,我们可以操作对数求导和互换积分和微分的能力,将公式(2)调动为:

\nabla_\theta J (\pi_\theta)=E\underset {\tau \sim \pi_\theta} [\nabla_\theta \log P (\tau \mid \theta) R (\tau)] \tag {3}

个中 P (\tau \mid \theta) 暗示在计策参数为 \theta 时,生成轨迹 \tau 的概率。由于轨迹是由一系列状态转移和计策选择构成的,因此我们有:

P (\tau \mid \theta)=P (s_0) \prod_ {t=0}^ {T-1} P (s_{t+1} \mid s_t, a_t) \pi_\theta (a_t \mid s_t) \tag {4}

将公式(4)代入公式(3),并取对数,我们获得:

\nabla_\theta J (\pi_\theta)=E\underset {\tau \sim \pi_\theta} [R (\tau) \sum_ {t=0}^ {T-1} \nabla_\theta \log \pi_\theta (a_t \mid s_t)] \tag {5}

留意到公式(5)中只有计策函数的对数项含有参数 \theta ,因此其他项都可以视为常量。别的,由于我们只能从情况中采样有限数量的轨迹,因此我们需要用样本均值来近似期望值。因此,我们可以获得以下的梯度预计公式:

\nabla_\theta J (\pi_\theta) \approx \frac {1} {N} \sum_ {n=1}^ {N} R (\tau^n) \sum_ {t=0}^ {T_n-1} \nabla_\theta \log \pi_\theta (a_t^n \mid s_t^n) \tag {6}

个中 N 是轨迹的数量,T_n 是第 n 条轨迹的长度,s_t^n 和 a_t^n 别离是第 n 条轨迹中时刻 t 的状态和行动。

  • 更新参数:按照梯度预计公式(6),我们可以利用梯度上升法来更新计策参数,即:

\theta \leftarrow \theta + \alpha \nabla_\theta J (\pi_\theta) \tag {7}

个中 \alpha 是进修率,节制了参数更新的步长。

PG算法的道理与应用

PG算法的道理是基于计策梯度定理的,,该定理表白了在马尔可夫决定进程中,期望回报关于计策参数的梯度的形式。PG算法操作了这个定理,通过采样轨迹并计较累积折扣回报,来预计和优化计策梯度,从而实现了直接对计策函数举办优化的方针。

PG算法在强化进修中具有重要的意义和应用,因为它可以处理惩罚持续行动空间和随机计策的环境,而传统的值函数要领例往往受到这些环境的限制。PG算法也是一类很是机动和通用的算法,它可以与其他技能团结,形成更高级和更强大的算法,如Actor-Critic算法、TRPO算法、PPO算法等。PG算法在各类巨大和实际的强化进修任务中都有着遍及的应用,如呆板人节制、自动驾驶、游戏玩家等。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读