强化学习(Reinforcement Learning, RL)中的策略(Policy)

1. 强化学习基础回顾

在深入讲解策略之前,我们先简要回顾强化学习的核心框架,以便你理解策略的角色。

强化学习是一个序贯决策问题,智能体通过与环境交互,学习如何采取行动以最大化长期累积奖励。其核心要素包括:

  • 状态(s∈Ss \in \mathcal{S}sS:描述环境的当前情况。
  • 动作(a∈Aa \in \mathcal{A}aA:智能体可以采取的行为。
  • 奖励(r∈Rr \in \mathbb{R}rR:环境对智能体动作的反馈。
  • 策略(π\piπ:智能体根据状态选择动作的规则。
  • 价值函数:评估状态或状态-动作对的长期回报。
  • 环境模型(可选):描述状态转移和奖励的规则。

强化学习的数学框架通常基于马尔可夫决策过程(MDP),定义为五元组 (S,A,P,R,γ)(\mathcal{S}, \mathcal{A}, P, R, \gamma)(S,A,P,R,γ)

  • P(s′∣s,a)P(s'|s,a)P(ss,a):状态转移概率,表示从状态 sss 采取动作 aaa 后到达状态 s′s's 的概率。
  • R(s,a)R(s,a)R(s,a):奖励函数,表示在状态 sss 采取动作 aaa 后获得的即时奖励。
  • γ∈[0,1)\gamma \in [0,1)γ[0,1):折扣因子,平衡短期和长期奖励。

强化学习的目标是找到一个最优策略 π∗\pi^*π,使得智能体在遵循该策略时,能够最大化期望的累积折扣奖励:
J(π)=Eπ[∑t=0∞γtrt]J(\pi) = \mathbb{E}_{\pi} \left[ \sum_{t=0}^\infty \gamma^t r_t \right]J(π)=Eπ[t=0γtrt]


2. 什么是策略?

在强化学习中,策略是智能体决策的核心,定义了在给定状态下如何选择动作。形式上,策略是一个映射函数:
π:S→A\pi: \mathcal{S} \to \mathcal{A}π:SA
或者更一般地,策略可以是状态到动作概率分布的映射:
π:S→P(A)\pi: \mathcal{S} \to \mathcal{P}(\mathcal{A})π:SP(A)
其中 P(A)\mathcal{P}(\mathcal{A})P(A) 表示动作空间 A\mathcal{A}A 上的概率分布。

2.1 策略的两种形式

根据输出动作的方式,策略可以分为以下两种:

  1. 确定性策略

    • 在给定状态 sss 下,策略总是输出一个固定的动作 aaa
    • 数学表示:π(s)=a\pi(s) = aπ(s)=a,其中 a∈Aa \in \mathcal{A}aA
    • 例子:在玩国际象棋时,策略可能规定在某个局面下总是走“马到C3”。
    • 优点:简单直接,适合动作空间离散且环境确定性高的场景。
    • 缺点:缺乏探索性,可能陷入次优解。
  2. 随机性策略

    • 在给定状态 sss 下,策略输出动作空间上的概率分布,智能体根据该分布采样动作。
    • 数学表示:π(a∣s)=P(a∣s)\pi(a|s) = P(a|s)π(as)=P(as),表示在状态 sss 下选择动作 aaa 的概率。
    • 例子:在玩扑克牌时,策略可能规定在某状态下有 70% 概率“加注”,30% 概率“弃牌”。
    • 优点:支持探索,适合部分可观测或随机环境。
    • 缺点:计算复杂度较高,需要对概率分布建模。

2.2 为什么需要随机性策略?

你可能会问:为什么不总是用确定性策略?原因有以下几点:

  • 探索与利用:随机性策略通过概率采样鼓励智能体尝试不同动作,从而发现潜在的高回报路径。
  • 环境的随机性:在部分可观测的马尔可夫决策过程(POMDP)或噪声环境中,随机性策略更能适应不确定性。
  • 博弈场景:在多人博弈(如扑克牌)中,随机性策略可以防止对手预测你的行为。
  • 理论保证:在某些强化学习算法中(如策略梯度方法),随机性策略保证了梯度估计的有效性。

3. 策略的表示方法

在强化学习中,策略(policy)是代理(agent)根据当前状态选择动作的映射,其表示方法直接影响算法的性能和适用场景。策略的建模需要根据问题的复杂性、状态空间和动作空间的特性进行选择。以下详细介绍策略的三种主要表示方法:表格表示、函数逼近以及深度强化学习中的策略建模。

3.1 表格表示

  • 适用场景:表格表示适用于状态空间和动作空间均较小且离散的场景,例如迷宫导航(如 5x5 网格世界)、简单的博弈问题(如井字棋)或有限状态的控制任务(如电梯调度)。这些问题的状态和动作数量通常在数百到数千的量级。
  • 表示方式:表格表示通过一个二维表格存储策略信息。对于每个状态 sss,表格记录对应的动作(确定性策略)或动作的概率分布(随机性策略)。
    • 确定性策略:每个状态 sss 映射到唯一动作 aaa,即 π(s)=a\pi(s) = aπ(s)=a。表格的每一行是一个状态,每一列是一个动作,单元格存储选定的动作。
    • 随机性策略:每个状态 sss 关联一个动作的概率分布,即 π(a∣s)\pi(a|s)π(as),表示在状态 sss 下选择动作 aaa 的概率。表格存储每个状态下所有可能动作的概率,且概率之和为 1。
  • 例子
    • 确定性策略:在一个迷宫导航任务中,状态 s1s_1s1 表示代理在网格 (1,1),动作 a1a_1a1 表示“向右”,则 π(s1)=a1\pi(s_1) = a_1π(s1)=a1。类似地,π(s2)=a2\pi(s_2) = a_2π(s2)=a2,其中 s2s_2s2 是网格 (1,2),a2a_2a2 是“向上”。
    • 随机性策略:对于状态 s1s_1s1,可能有 π(a1∣s1)=0.7\pi(a_1|s_1) = 0.7π(a1s1)=0.7(向右的概率为 70%),π(a2∣s1)=0.2\pi(a_2|s_1) = 0.2π(a2s1)=0.2(向上的概率为 20%),π(a3∣s1)=0.1\pi(a_3|s_1) = 0.1π(a3s1)=0.1(向下的概率为 10%)。
    • 实际示例:考虑一个 3x3 迷宫,状态空间有 9 个状态,动作空间有 4 个动作(上、下、左、右)。表格表示的确定性策略可能是一个 9x1 的向量,每个元素是一个动作;随机性策略则是一个 9x4 的矩阵,每行是一个概率分布。
  • 优点
    • 简单直观:表格表示易于实现和理解,适合教学和小型问题。
    • 高效查询:策略查询的时间复杂度为 O(1)O(1)O(1),只需直接查找表格。
    • 精确存储:对于小型离散环境,表格可以精确存储最优策略。
  • 缺点
    • 维度灾难:当状态或动作空间增大时,表格的存储需求呈指数增长。例如,一个具有 10 个状态变量、每个变量 10 种可能值的环境,状态空间大小为 101010^{10}1010,表格存储不可行。
    • 无法泛化:表格表示无法处理未见过的状态,对于连续状态空间或高维状态空间无能为力。
    • 内存限制:即使状态空间较小,存储所有状态-动作对的表格也可能超出内存容量。

3.2 函数逼近

  • 适用场景:函数逼近适用于状态空间或动作空间较大、连续或高维的复杂任务,例如机器人运动控制(关节角度连续变化)、自动驾驶(高维传感器输入)、游戏AI(如 Atari 游戏,图像输入为高维像素数据)以及金融市场中的交易策略。
  • 表示方式:函数逼近使用一个参数化的函数(通常是神经网络,但也可以是线性模型、决策树或径向基函数)来近似策略,记为 πθ(a∣s)\pi_\theta(a|s)πθ(as),其中 θ\thetaθ 是函数的参数(如神经网络的权重)。该函数接收状态 sss 作为输入,输出动作 aaa 或动作的概率分布。
    • 确定性策略:函数直接输出具体的动作,形式为 πθ(s)=a\pi_\theta(s) = aπθ(s)=a。例如,神经网络 NNθ(s)\text{NN}_\theta(s)NNθ(s) 输出一个动作向量。
    • 随机性策略:函数输出动作的概率分布,形式为 πθ(a∣s)\pi_\theta(a|s)πθ(as)。例如,神经网络输出一组值,经过 Softmax 函数转换为概率分布,或输出高斯分布的参数(如均值和方差)。
  • 例子
    • 确定性策略:在一个机器人控制任务中,状态 sss 是一个包含位置和速度的向量,神经网络 NNθ(s)\text{NN}_\theta(s)NNθ(s) 输出一个连续的控制信号(如电机转速)。例如,πθ(s)=[0.5,−0.3]\pi_\theta(s) = [0.5, -0.3]πθ(s)=[0.5,0.3],表示两个电机的转速。
    • 随机性策略:在自动驾驶场景中,状态 sss 包含传感器数据,神经网络输出一个向量,经 Softmax 转换为动作概率,例如 πθ(左转∣s)=0.4,πθ(直行∣s)=0.5,πθ(右转∣s)=0.1\pi_\theta(\text{左转}|s) = 0.4, \pi_\theta(\text{直行}|s) = 0.5, \pi_\theta(\text{右转}|s) = 0.1πθ(左转s)=0.4,πθ(直行s)=0.5,πθ(右转s)=0.1。或者,网络输出高斯分布的均值和方差,动作从中采样。
    • 实际示例:考虑一个机械臂控制任务,状态空间是 6 维(3 个关节的角度和角速度),动作空间是 3 维(每个关节的力矩)。一个多层感知机(MLP)可以用作 πθ\pi_\thetaπθ,输入 6 维状态,输出 3 维动作向量(确定性)或高斯分布参数(随机性)。
  • 优点
    • 泛化能力:函数逼近可以处理未见过的状态,通过学习到的参数泛化到相似状态。
    • 适应复杂环境:适合连续或高维状态/动作空间,能够建模复杂的非线性关系。
    • 存储效率:相比表格表示,函数逼近只需存储函数参数(如神经网络权重),内存需求显著降低。
  • 缺点
    • 训练复杂:需要大量数据和计算资源来优化参数 θ\thetaθ,训练过程可能耗时较长。
    • 不稳定性:神经网络的训练可能陷入局部最优或梯度消失/爆炸,导致策略不稳定。
    • 超参数敏感:模型性能对学习率、网络结构、优化算法等超参数高度敏感,调参成本高。
    • 可解释性差:相比表格表示,函数逼近的策略(如神经网络)难以直接理解和调试。

3.3 深度强化学习中的策略

在深度强化学习(Deep Reinforcement Learning, DRL)中,策略通常通过深度神经网络建模,以应对高维输入(如图像、传感器数据)和复杂的动作空间。深度神经网络因其强大的表示能力和灵活性,成为现代强化学习算法的核心组件。

  • 离散动作空间

    • 表示方式:神经网络的输出层通常是一个向量,长度等于动作空间的大小,每个元素表示一个动作的得分(logits)。通过 Softmax 函数将这些得分转换为概率分布,即 πθ(a∣s)=Softmax(NNθ(s))\pi_\theta(a|s) = \text{Softmax}(\text{NN}_\theta(s))πθ(as)=Softmax(NNθ(s))。动作可以从中采样(随机性策略)或选择概率最高的动作(确定性策略)。
    • 例子:在 Atari 游戏(如 Pong),状态是游戏屏幕的像素数据(高维图像),动作空间是离散的(如“左移”、“右移”、“不动”)。卷积神经网络(CNN)处理图像输入,输出一个 3 维向量,经 Softmax 转换为动作概率,例如 [0.2,0.7,0.1][0.2, 0.7, 0.1][0.2,0.7,0.1]。DQN(深度 Q 网络)算法可能选择概率最高的动作,而策略梯度方法(如 REINFORCE)会从概率分布中采样。
    • 实际应用:A2C(优势演员-评论家)算法使用神经网络输出动作概率,结合价值函数估计来优化策略。
  • 连续动作空间

    • 表示方式:神经网络输出动作分布的参数,通常是高斯分布的均值 μθ(s)\mu_\theta(s)μθ(s) 和方差 σθ(s)\sigma_\theta(s)σθ(s)。动作从该分布中采样,即 a∼N(μθ(s),σθ(s)2)a \sim \mathcal{N}(\mu_\theta(s), \sigma_\theta(s)^2)aN(μθ(s),σθ(s)2)。或者,网络直接输出确定性动作 a=μθ(s)a = \mu_\theta(s)a=μθ(s),并通过添加噪声实现探索。
    • 例子:在机器人控制任务(如 MuJoCo 环境中的 Ant 机器人),状态包括关节角度和速度,动作是连续的力矩。神经网络输出均值 μθ(s)\mu_\theta(s)μθ(s)(如 8 维力矩向量)和方差 σθ(s)\sigma_\theta(s)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱看烟花的码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值