【机器学习】机器学习的基本分类-强化学习-策略梯度(Policy Gradient,PG)

Policy Gradient(策略梯度)是强化学习中基于策略的优化方法,通过直接优化策略函数来最大化累积回报。与基于值的强化学习方法(如 Q-Learning 或 DQN)不同,Policy Gradient 不显式地学习状态值函数 V(s) 或动作值函数 Q(s, a),而是直接优化策略 的参数 θ。


核心思想

直接建模策略
  • 策略 是一个概率分布函数,描述了在状态 s 下采取动作 a 的概率。
  • 策略函数可以是任何可微的函数(如神经网络)。
目标函数
  • 目标是最大化累积期望回报 J(θ):

  • 通过梯度上升更新策略参数 θ。

策略梯度定理
  • 策略梯度的形式:

  • 其中 是从时间步 t 开始的累积回报,用于指导更新方向。


策略梯度算法

基本步骤
采样轨迹
  • 通过当前策略 与环境交互,生成一批轨迹(状态、动作、奖励序列)。
计算回报
  • 对每条轨迹计算累积回报 ,例如:

计算梯度
  • 对于每个状态-动作对,计算策略梯度:

更新策略参数
  • 使用梯度上升(或梯度下降的负值)更新策略参数 θ:


伪代码

python 复制代码
Initialize policy network with random weights θ

for episode in range(max_episodes):
    Generate trajectories by interacting with the environment using policy πθ
    Compute returns G_t for each step in the trajectories
    Compute policy gradient:
        ∇θ J(θ) = (1/N) * Σ [∇θ log πθ(a_t | s_t) * G_t]
    Update policy network:
        θ ← θ + α * ∇θ J(θ)

优势与不足

优势
连续动作空间适用性
  • 可直接处理连续动作空间,而基于值的方法需要离散化动作空间。
策略随机性
  • 随机策略可以自然地处理探索与利用的权衡问题。
易于扩展
  • 可以扩展到 Actor-Critic 方法(结合值函数的策略梯度)。
不足
高方差
  • 策略梯度估计的方差较高,需要大量采样来稳定更新。
收敛性较慢
  • 对于复杂环境,单纯的策略梯度方法收敛较慢。
数据利用效率低
  • 每次更新策略仅利用采样到的轨迹,未充分使用历史数据。

改进方法

REINFORCE
  • 使用完整的累积回报 代替真实环境奖励。
基线(Baseline)
  • 减少梯度方差的一种方法是引入基线函数 b(s),更新规则变为:

Actor-Critic
  • 结合值函数,使用 Q(s,a) 或 V(s) 来引导策略梯度更新。
Trust Region Policy Optimization (TRPO)
  • 限制策略更新的幅度,防止策略更新过大导致性能退化。
Proximal Policy Optimization (PPO)
  • 提高更新效率的同时,确保策略更新的稳定性。

应用场景

机器人控制
  • 连续动作控制问题,如机械臂操作和移动机器人导航。
游戏 AI
  • 策略梯度适用于具有复杂动作的游戏场景。
推荐系统
  • 动态地为用户提供推荐,优化长期回报。
金融交易
  • 策略优化股票交易中的买卖时机。
相关推荐
0x2111 小时前
[论文阅读]REPLUG: Retrieval-Augmented Black-Box Language Models
论文阅读·人工智能·语言模型
JOYCE_Leo162 小时前
一文详解卷积神经网络中的卷积层和池化层原理 !!
人工智能·深度学习·cnn·卷积神经网络
~央千澈~3 小时前
对鸿蒙 Next 系统“成熟论”的深度剖析-优雅草卓伊凡
人工智能
Donvink3 小时前
【视频生成模型】通义万相Wan2.1模型本地部署和LoRA微调
人工智能·深度学习·aigc·音视频
訾博ZiBo3 小时前
AI日报 - 2025年04月29日
人工智能
爱喝奶茶的企鹅3 小时前
Ethan独立开发产品日报 | 2025-04-27
人工智能·程序员·开源
极小狐3 小时前
如何对极狐GitLab 议题进行过滤和排序?
人工智能·git·机器学习·gitlab
望获linux4 小时前
智能清洁机器人中的实时操作系统应用研究
大数据·linux·服务器·人工智能·机器人·操作系统
古月居GYH4 小时前
用高斯溅射技术跨越机器人模拟与现实的鸿沟:SplatSim 框架解析
人工智能·机器人