在强化学习(Reinforcement Learning, RL)中策略函数和策略梯度

在强化学习(Reinforcement Learning, RL)中,策略函数和策略梯度是两个重要的概念。以下是对它们的详细解释:

策略函数(Policy Function)

策略函数描述了智能体(Agent)在给定状态下选择动作的行为方式。

  • 确定性策略(Deterministic Policy): 给定状态 ( s ),策略函数直接输出一个动作 ( a )。记作 ( \pi(s) = a )。
  • 随机策略(Stochastic Policy): 给定状态 ( s ),策略函数输出的是一个动作的概率分布。记作 ( \pi(a|s) ),表示在状态 ( s ) 下选择动作 ( a ) 的概率。

策略函数的目标是找到一种策略,使得智能体在环境中能够最大化其累积奖励。

策略梯度(Policy Gradient)

策略梯度是优化策略函数的一种方法,特别适用于参数化策略函数。策略梯度方法通过梯度上升(或下降)来直接调整策略的参数,以最大化(或最小化)目标函数(通常是期望累积奖励)。

具体来说,假设策略函数是参数化的,记作 ( \pi_\theta(a|s) ),其中 ( \theta ) 是参数向量。目标是最大化以下目标函数 ( J(\theta) ):

[ J(\theta) = \mathbb{E}{\tau \sim \pi\theta} [R(\tau)] ]

其中 ( \tau ) 表示一个从策略 ( \pi_\theta ) 中采样到的轨迹,( R(\tau) ) 表示该轨迹的累积奖励。

策略梯度定理

策略梯度定理提供了一个公式来计算目标函数 ( J(\theta) ) 相对于策略参数 ( \theta ) 的梯度:

[ \nabla_\theta J(\theta) = \mathbb{E}{\tau \sim \pi\theta} \left[ \sum_{t=0}^{T} \nabla_\theta \log \pi_\theta(a_t|s_t) R_t \right] ]

其中 ( R_t ) 是从时间步 ( t ) 开始的累计奖励。

基于策略梯度的方法

常见的基于策略梯度的方法包括:

  • REINFORCE: 一种最基本的策略梯度方法,直接使用上面的公式进行更新。
  • Actor-Critic 方法: 结合策略梯度和价值函数的方法。Actor 代表策略,Critic 代表价值函数,通过 Critic 来估计累积奖励,从而减少方差,提高学习效率。
  • Proximal Policy Optimization (PPO): 一种改进的策略梯度方法,通过限制策略更新的幅度,来保证策略的稳定性。

总结

  • 策略函数: 定义智能体在不同状态下选择动作的行为方式,可以是确定性的或随机的。
  • 策略梯度: 一种优化策略函数的方法,通过梯度上升(或下降)来调整策略参数,以最大化(或最小化)期望累积奖励。

这两个概念是强化学习中的核心工具,用于设计和优化智能体的决策策略。


在强化学习中,符号 ( \mathbb{E}{\tau \sim \pi\theta} ) 表示从策略 ( \pi_\theta ) 中采样轨迹 ( \tau ) 的期望值。让我们详细解析这个符号及其背后的含义:

符号解释

  • ( \mathbb{E} ): 这是期望值运算符,表示计算某个随机变量的期望(平均值)。
  • ( \tau ): 这是一个轨迹(trajectory),也称为 episode。轨迹是智能体在环境中从开始状态到终止状态的一系列状态-动作-奖励序列,形式上可以表示为 ( \tau = (s_0, a_0, r_0, s_1, a_1, r_1, \ldots, s_T) ),其中 ( s_t ) 是时间步 ( t ) 的状态,( a_t ) 是时间步 ( t ) 的动作,( r_t ) 是时间步 ( t ) 的奖励,( T ) 是轨迹的终止时间步。
  • ( \pi_\theta ): 这是参数化的策略函数,其中 ( \theta ) 是策略的参数向量。策略函数 ( \pi_\theta(a|s) ) 表示在状态 ( s ) 下选择动作 ( a ) 的概率。
  • ( \tau \sim \pi_\theta ): 这表示轨迹 ( \tau ) 是根据策略 ( \pi_\theta ) 生成的。即,轨迹中的每一步动作 ( a_t ) 是按照策略 ( \pi_\theta ) 从对应的状态 ( s_t ) 中采样得到的。

具体含义

当我们写 ( \mathbb{E}{\tau \sim \pi\theta} [R(\tau)] ),这意味着我们在计算根据策略 ( \pi_\theta ) 生成的轨迹 ( \tau ) 的累积奖励 ( R(\tau) ) 的期望值。累积奖励 ( R(\tau) ) 通常表示为轨迹中所有时间步的奖励总和:

[ R(\tau) = \sum_{t=0}^{T} r_t ]

因此,( \mathbb{E}{\tau \sim \pi\theta} [R(\tau)] ) 表示在策略 ( \pi_\theta ) 下,所有可能轨迹的累积奖励的平均值。

策略梯度中的应用

在策略梯度方法中,我们的目标是最大化期望累积奖励 ( J(\theta) ),即:

[ J(\theta) = \mathbb{E}{\tau \sim \pi\theta} [R(\tau)] ]

通过策略梯度定理,我们可以计算 ( J(\theta) ) 相对于策略参数 ( \theta ) 的梯度:

[ \nabla_\theta J(\theta) = \mathbb{E}{\tau \sim \pi\theta} \left[ \sum_{t=0}^{T} \nabla_\theta \log \pi_\theta(a_t|s_t) R_t \right] ]

这表示我们通过采样轨迹,计算每一步的梯度,并乘以对应的累积奖励,然后对这些结果求平均,以得到策略参数的更新方向。

总结

符号 ( \mathbb{E}{\tau \sim \pi\theta} ) 表示从策略 ( \pi_\theta ) 中采样轨迹 ( \tau ) 的期望值。这在强化学习中用于表示在特定策略下,某个轨迹相关量(如累积奖励)的平均值,是策略优化和策略梯度方法的重要组成部分。

0 0 投票数
Article Rating
订阅评论
提醒
0 评论
最旧
最新 最多投票
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x