前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【强化学习】深入理解:基于价值(Value)VS 基于策略(Policy)

【强化学习】深入理解:基于价值(Value)VS 基于策略(Policy)

作者头像
不去幼儿园
发布2025-04-22 09:36:38
发布2025-04-22 09:36:38
6500
举报
文章被收录于专栏:强化学习专栏强化学习专栏

📢本篇文章是博主强化学习(RL)领域学习时,用于个人学习、研究或者欣赏使用,并基于博主对相关等领域的一些理解而记录的学习摘录和笔记,若有不当和侵权之处,指出后将会立即改正,还望谅解。文章分类在👉强化学习专栏: 【强化学习】- 【强化学习进阶】(1)---《基于价值VS 基于策略》

基于价值(Value)VS 基于策略(Policy)

强化学习(Reinforcement Learning,RL) 大致可以分为两类:基于价值的算法基于策略的算法、基于Actor-Critic(混合)以及基于模型的。这几类算法分别侧重于不同的学习方法和策略更新方式。


1. 基于价值的算法 (Value-based Methods)

基于价值的算法 主要通过估计 状态-动作值函数(Q函数)状态值函数(V函数) 来学习如何选择动作(一般为贪心选择)。这些算法通过计算每个状态(或状态-动作对)下的预期累积回报来优化决策。

关键思想:
  • 学习一个 价值函数,该函数表示在某一状态或状态-动作对下,采取某个动作后能获得的期望回报。
  • 在学习过程中,价值函数通过 Q-learning、Sarsa 等方法进行估计。
  • 贪心策略 基于当前的价值函数,选择 价值最大化 的动作。
典型算法:
  • Q-learning:通过更新 Q 值来寻找最优策略。
    • 更新公式:
    Q(s_t, a_t) \leftarrow Q(s_t, a_t) + \alpha \left[ r_{t+1} + \gamma \max_{a'} Q(s_{t+1}, a') - Q(s_t, a_t) \right]
    Q(s_t, a_t) \leftarrow Q(s_t, a_t) + \alpha \left[ r_{t+1} + \gamma \max_{a'} Q(s_{t+1}, a') - Q(s_t, a_t) \right]
  • Sarsa:与 Q-learning 类似,但它使用的是 当前策略 而不是最大 Q 值来更新。
  • Deep Q-Network (DQN):使用神经网络来近似 Q 函数,以应对大规模状态空间。
特点:
  • 强调通过估计和优化 价值函数 来选择动作。
  • 通常是 离散动作空间 下的强大方法。
  • 连续动作空间 中可能需要扩展(如 DDPG、TD3 等)。

2. 基于策略的算法 (Policy-based Methods)

基于策略的算法 直接学习 策略函数,即 给定状态下采取某个动作的概率分布。这些算法并不依赖于显式的价值函数,而是通过优化策略来直接输出动作。

  • 离散动作空间:Actor 网络会输出每个动作的 概率,例如使用 Softmax 函数,表示每个动作的选择概率。
  • 连续动作空间:Actor 网络会输出均值和标准差(例如高斯分布的参数),然后根据这些参数来从分布中采样动作。
关键思想:
  • 学习一个 直接的策略,该策略映射状态到动作(对于连续动作空间通常是确定性的)。
  • 策略的优化通常通过 策略梯度基于期望回报的优化 来进行。
  • 在优化过程中,策略被直接更新,以增加采样动作的期望回报。
典型算法:
  • Policy Gradient (PG):通过直接优化策略的期望回报来更新策略。
    • 策略梯度公式:
    \nabla J(\theta) = \mathbb{E}[\nabla \log \pi_\theta(a|s) \cdot R]
    \nabla J(\theta) = \mathbb{E}[\nabla \log \pi_\theta(a|s) \cdot R]

    其中

    R
    R

    是回报,

    \pi_\theta(a|s)
    \pi_\theta(a|s)

    是策略,

    \theta
    \theta

    是策略的参数。

  • REINFORCE:一种基本的策略梯度方法,使用蒙特卡罗方法估计梯度。
  • Proximal Policy Optimization (PPO):一种基于策略梯度的优化方法,改进了策略的稳定性和收敛性。
  • Actor-Critic (AC):结合了基于价值和基于策略的方法,使用 Actor 网络输出策略,使用 Critic 网络估计价值函数。
特点:
  • 适用于 连续动作空间高维状态空间 的问题。
  • 不需要值函数(但可以结合值函数)。
  • 直接优化策略,适用于一些 复杂的决策任务

3. 混合算法 (Actor-Critic Methods)

Actor-Critic 方法结合了 基于价值基于策略 的优点。Actor 网络负责选择动作,而 Critic 网络则评估动作的价值。

关键思想:
  • Actor:负责选择动作,输出 策略
  • Critic:负责评估当前策略的表现,输出 价值函数(通常是状态值函数或状态-动作值函数)。
  • Actor-Critic 方法通过 策略梯度值函数更新 共同优化智能体的性能。
典型算法:
  • A3C (Asynchronous Advantage Actor-Critic):采用多线程并行训练,稳定训练过程。
  • DDPG (Deep Deterministic Policy Gradient):为连续动作空间设计的 Actor-Critic 方法。
  • TD3 (Twin Delayed Deep Deterministic Policy Gradient):对 DDPG 的改进,进一步提高稳定性。

4. 基于模型的方法 (Model-based Methods)

除了基于价值和基于策略的算法,还有一种 基于模型的方法,这些方法尝试通过学习环境的模型(例如,转移函数和奖励函数)来进行规划和决策。模型可以用来模拟环境,并生成模拟经验来优化策略。

例如:奖励模型(Reward Model)

【强化学习】Reward Model(奖励模型)详细介绍

典型算法:
  • Dyna-Q:结合了 Q-learning 和环境模型的学习,通过模型生成模拟的经验进行训练。
  • Monte Carlo Tree Search (MCTS):广泛用于决策树的搜索中,尤其在策略评估时使用模型来进行预测。

🔍 深度解析

DDPG 输出的是动作,为什么它不是基于策略的算法?

DDPG 同时具有“策略”成分,被归类为 是 Actor-Critic 的一种

DDPG 是基于策略的 + 基于价值的混合算法(Actor-Critic),因为它既有确定性的“策略”是,同时 heavily 依赖 Q 值函数进行训练。

🔹 首先,策略分为两种:

策略类型

描述

示例

随机策略(Stochastic Policy)

输出动作的概率分布(如 PG, PPO)

确定性策略(Deterministic Policy)

输出一个具体动作

\pi(a)

👉 DDPG 使用的是确定性策略

🔹 然而,光有策略 ≠ 基于策略算法!

基于策略的算法 的核心是:

直接通过优化期望回报对策略参数进行梯度更新(例如 REINFORCE、PPO)。

而 DDPG 虽然有策略函数(Actor),但:

  1. 策略更新依赖 Critic 网络的 Q 值估计

也就是说,DDPG 的策略更新是依赖 Q 值梯度反向传导的,并不是直接根据策略自身的期望回报来优化。

  1. Critic 网络是核心评估器
    • Critic 学习 Q 值函数,用于训练 Actor。
    • 没有 Critic,Actor 根本无法优化。
    • 所以,它的策略是 “从值函数中学出来的”。

虽然 DDPG 有策略(Actor 输出确定性动作),但由于 它不是独立更新策略,而是通过 Critic 提供的 Q 值梯度来间接优化策略,因此它本质上是 基于 Actor-Critic 的算法。 至于说他偏重于基于策略还是基于价值,我个人倾向于基于价值。

🧠 总结:

强化学习算法大致可以分为以下几类:

  1. 基于价值的算法:通过学习价值函数来选择动作(如 Q-learning、DQN)。
  2. 基于策略的算法:通过学习策略函数直接选择动作(如 Policy Gradient、REINFORCE)。
  3. 混合算法:结合价值函数和策略函数,既有基于价值的元素,又有基于策略的元素(如 Actor-Critic、DDPG)。
  4. 基于模型的方法:通过学习环境模型进行决策和规划(如 Dyna-Q、MCTS)。
分类方法:

算法

策略类型

是否独立更新策略?

依赖 Q 函数?

类型归属

PPO, REINFORCE

随机策略

基于策略

Q-learning, DQN

无策略

基于价值(贪心)

DDPG, TD3

确定性策略

❌(依赖 Critic)

Actor-Critic/ 基于策略+价值

SAC

随机策略

❌(依赖 Critic)

Actor-Critic / 基于策略+价值

更多强化学习文章,请前往:【强化学习(RL)】专栏

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-04-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基于价值(Value)VS 基于策略(Policy)
    • 1. 基于价值的算法 (Value-based Methods)
    • 2. 基于策略的算法 (Policy-based Methods)
    • 3. 混合算法 (Actor-Critic Methods)
    • 4. 基于模型的方法 (Model-based Methods)
    • 🔍 深度解析
      • 🔹 首先,策略分为两种:
      • 🔹 然而,光有策略 ≠ 基于策略算法!
    • 🧠 总结:
      • 分类方法:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档