我们已将马尔可夫决策过程 (MDP) 设定为我们的体系,它定义了环境状态 ($S$)、智能体可能采取的动作 ($A$)、状态转移规则 ($P$)、即时奖励 ($R$) 和折扣因子 ($\gamma$)。那么,智能体在这种环境中究竟如何决定做什么?我们又如何衡量这些决策的长期优劣?这正是策略和价值函数发挥作用的地方。智能体的策略:策略策略,用 $\pi$ 表示,是智能体的战略或行为方式。它规定了智能体在特定状态下将选择哪个动作。可以把它看作是智能体的控制器或决策功能。策略可以分为两种主要类型:确定性策略: 对于任何给定状态 $s$,确定性策略总是指定一个单一的动作 $a$。我们这样表示: $$ \pi(s) = a $$ 如果智能体处于状态 $s$,它将采取动作 $a$。随机性策略: 相反,随机性策略为每个状态指定一个动作的概率分布。我们这样表示: $$ \pi(a|s) = P(A_t = a | S_t = s) $$ 这给出了智能体在状态 $s$ 时选择动作 $a$ 的概率。在一个状态中所有可能动作的概率总和必须等于 1:$\sum_{a \in A(s)} \pi(a|s) = 1$。为什么使用随机性策略?它们在几种情况下特别有用:尝试: 在学习时,智能体可能需要尝试不同的动作(即使是看起来次优的动作)来找到更好的策略。随机性策略允许这种尝试自然发生。不确定性: 有时,最优策略本身就包含随机化(例如,在某些博弈论场景中)。部分可观察性: 在更高级的设置中(部分可观察马尔可夫决策过程,或 POMDPs),智能体可能不知道确切的状态,随机性策略可以表示最优动作中的不确定性。策略是根本,因为它定义了智能体如何与MDP互动。给定一个策略 $\pi$,智能体的状态、动作和奖励序列就成为一个由环境动态 ($P$) 和智能体选择 ($\pi$) 共同决定的随机过程。评估策略:价值函数知道智能体的策略 ($\pi$) 是一回事,但我们如何判断它是否是一个好策略?我们需要一种方法来量化遵循某个策略的长期价值。这就是价值函数的作用。价值函数估计在特定策略下预期的累积未来折扣奖励,也称为预期回报。价值函数主要有两种类型:状态价值函数 ($V^\pi$)状态价值函数 $V^\pi(s)$ 衡量的是如果智能体从状态 $s$ 开始并随后遵循策略 $\pi$ 的预期回报。它告诉我们在策略 $\pi$ 下处于状态 $s$ 是“有多好”。形式上,$V^\pi(s)$ 定义为: $$ V^\pi(s) = \mathbb{E}\pi [G_t | S_t = s] = \mathbb{E}\pi \left[ \sum_{k=0}^{\infty} \gamma^k R_{t+k+1} | S_t = s \right] $$我们来细分一下:$\mathbb{E}_\pi[\cdot]$ 表示预期值,假设智能体遵循策略 $\pi$。$G_t = \sum_{k=0}^{\infty} \gamma^k R_{t+k+1}$ 是从时间步 $t$ 开始的总折扣回报。$S_t = s$ 是指我们从时间 $t$ 的状态 $s$ 开始的条件。因此,$V^\pi(s)$ 平均了在遵循策略 $\pi$ 时,从状态 $s$ 开始的所有可能轨迹的总折扣奖励。更高的 $V^\pi(s)$ 表明在策略 $\pi$ 下,状态 $s$ 更为可取。动作价值函数 ($Q^\pi$)动作价值函数 $Q^\pi(s, a)$ 衡量的是如果智能体从状态 $s$ 开始,采取特定动作 $a$(仅限第一步),然后对所有后续决策遵循策略 $\pi$ 的预期回报。它告诉我们从状态 $s$ 采取动作 $a$ 然后继续遵循策略 $\pi$ 是“有多好”。形式上,$Q^\pi(s, a)$ 定义为: $$ Q^\pi(s, a) = \mathbb{E}\pi [G_t | S_t = s, A_t = a] = \mathbb{E}\pi \left[ \sum_{k=0}^{\infty} \gamma^k R_{t+k+1} | S_t = s, A_t = a \right] $$与 $V^\pi(s)$ 的主要区别是附加条件 $A_t = a$。我们现在评估的是在策略 $\pi$ 接管之前,采取特定第一个动作 $a$ 的后果。动作价值函数 $Q^\pi(s, a)$ 通常比 $V^\pi(s)$ 更直接地用于决策。如果智能体知道状态 $s$ 中所有可用动作 $a$ 的 $Q^\pi(s, a)$,它只需选择具有最高Q值的动作,以便对当前策略的估值采取贪婪行动。Vπ 和 Qπ 之间的联系状态价值函数和动作价值函数密切相关。在随机策略 $\pi$ 下状态 $s$ 的价值是状态 $s$ 中所有可能动作的Q值的预期值,按策略选择每个动作的概率进行加权: $$ V^\pi(s) = \sum_{a \in A(s)} \pi(a|s) Q^\pi(s, a) $$ 这在直观上是合理的:处于某个状态的价值是根据策略的动作概率,从该状态采取每个可能动作的平均价值。反过来,在状态 $s$ 中采取动作 $a$ 然后遵循策略 $\pi$ 的价值取决于获得的即时奖励以及到达的下一个状态 $s'$ 的折扣价值。我们需要考虑由环境转移动态 $p(s', r | s, a)$ 确定的所有可能的下一个状态 $s'$ 和奖励 $r$。 $$ Q^\pi(s, a) = \sum_{s', r} p(s', r | s, a) \left[ r + \gamma V^\pi(s') \right] $$ 这个方程表明,状态-动作对 $(s, a)$ 的价值是预期的即时奖励 ($r$) 加上下一个状态的预期折扣价值 ($\gamma V^\pi(s')$),根据环境动态 $p(s', r | s, a)$ 对所有可能的结果 $(s', r)$ 求平均。下面的图表有助于可视化策略与价值函数之间的关系:digraph MDP_Policy_Value { rankdir=LR; node [shape=circle, style=filled, fillcolor="#e9ecef", fontname="Helvetica"]; edge [fontname="Helvetica", fontsize=10]; s1 [label="s1"]; s2 [label="s2"]; s3 [label="s3 (终结)", shape=doublecircle, fillcolor="#ced4da"]; // 终结状态的T // 策略 pi(a|s) - 随机性示例 // 从s1: 70%向右, 30%向上 (循环) s1 -> s2 [label=" a=向右\n π(right|s1)=0.7\n p(s2|s1,向右)=1.0\n R=+1", color="#1c7ed6", penwidth=1.5]; s1 -> s1 [label=" a=向上\n π(up|s1)=0.3\n p(s1|s1,向上)=1.0\n R=0", color="#7048e8", style=dashed]; // 假设向上会循环返回 // 从s2: 100%向右 (策略的确定性部分) s2 -> s3 [label=" a=向右\n π(right|s2)=1.0\n p(s3|s2,向右)=1.0\n R=+10", color="#1c7ed6", penwidth=1.5]; s2 -> s1 [label=" a=向左\n π(left|s2)=0.0", style=dashed]; // 策略不选择此动作 // 价值函数节点 subgraph cluster_values { label = "价值函数原理"; style=dotted; bgcolor="#f8f9fa"; // 浅色背景 node [shape=plaintext, fontname="Helvetica"]; V_s1 [label="Vπ(s1):在s1开始并遵循π的预期未来总奖励。"]; Q_s1_right [label="Qπ(s1, 向右):在s1开始,采取'向右'动作,然后遵循π的预期未来总奖励。 取决于R=+1和Vπ(s2)。"]; V_s2 [label="Vπ(s2):在s2开始并遵循π的预期未来总奖励。 取决于R=+10和Vπ(s3)=0。"]; } }一个简单的MDP,展示了状态 (s1, s2, s3)、动作 (向上, 向右, 向左)、转移概率 (p)、奖励 (R) 和策略 ($\pi$)。$V^\pi(s)$ 估计在策略 $\pi$ 下从状态 $s$ 开始的长期价值。$Q^\pi(s, a)$ 估计首先采取动作 $a$ 然后遵循 $\pi$ 的价值。例如,$Q^\pi(s1, \text{right})$ 考虑即时奖励 (+1) 和结果状态的折扣价值 ($\gamma V^\pi(s2)$)。这些 $V^\pi$ 和 $Q^\pi$ 之间的关系是递归的,构成了贝尔曼方程的核心,我们将在下一章中细致考察。它们提供了一种将复杂的长期价值计算分解为可管理的迭代步骤的方法。理解策略和价值函数很重要。策略定义了智能体做什么,而价值函数则评估这些动作在实现总体目标(最大化预期累积奖励)方面的表现如何。许多强化学习问题的最终目标不仅仅是评估一个给定策略,而是找到一个最优策略 ($\pi^$),一个能从任何起始状态获得最高可能预期回报的策略。这个最优策略将有相应的最优状态价值 ($V^$) 和最优动作价值 ($Q^*$) 函数。学习这些最优函数和策略是我们将在本课程后面内容中讲述的算法的核心内容。