本文主要摘录自 OpenAI Spinning Up Documentation Part 1: Key Concepts in RL,忽略了对具体实现的讲解,同时对回报,价值函数等概念进行了更规范的形式化表述。此外,对 Bellman Equations 展开了详尽地推导。A (Long) Peek into Reinforcement Learning | Lil’Log 一文对这些概念的讲解更加理论深入。

Overview of Reinforcement Learning

强化学习(Reinforcement Learning, RL)中的主要角色是智能体(Agent)环境(Environment)。agent 位于环境中,且与环境进行交互。在每一步交互中,

  1. agent 会观测当前环境状态(State)的(可能不完整的)部分信息,然后决定采取一个动作(Action)
  2. agent 的动作会改变环境,但环境也可能自行发生变化。同时,环境会给 agent 一个奖励(Reward),用来告诉它当前状态的好坏。

强化学习的目标在于,学习如何采取行动,以最大化其累计奖励,也称为回报(Return)。

States and Observations

  • 状态(State) ss:对环境状态的完整描述
  • 观测(Observation) oo:对环境状态的部分描述,可能会遗漏一些信息

Action Spaces

不同的环境允许不同种类的动作。给定环境中所有有效动作的集合通常称为动作空间(Action Space),表示为 A\mathcal{A}。动作空间可能是离散的(如围棋),也可能是连续的(如机器人控制)

Policies

策略(Policy)是 agent 用于决定动作的规则。它可以是确定性的(Deterministic Policy),如给定状态总是选择相同动作,表示为 at=μθ(st)a_{t} = \mu_{\theta}(s_{t});或随机性的(Stochastic Policy),如根据概率分布采样。Atπθ(st)A_{t} \sim \pi_{\theta}(\cdot \mid s_{t})。具体地,随机性策略可表示为:

π(as)=P(A=aS=s)\pi(a \mid s) = \mathbb{P}(A = a \mid S = s)

其中:

  • A=aA = a 表示动作随机变量 AA 当前的观测值为 aaS=sS=s 同理
  • P()\mathbb{P}(\cdot) 表示概率分布

在深度强化学习中,策略通常通过神经网络参数化:

  • 确定性策略:at=μθ(st)a_{t} = \mu_{\theta}(s_{t})
  • 随机性策略:Atπθ(st)A_{t} \sim \pi_{\theta}(\cdot \mid s_{t})

Trajectories

轨迹(Trajectory, a.k.a. Episode or Rollout)τ\tau 是由环境中的状态和动作构成的序列:

τ=(S0,A0,S1,A1,)\tau=(S_{0}, A_{0}, S_{1}, A_{1}, \ldots)

其中,初始状态 S0S_{0} 从初始状态概率分布 ρ0()\rho_{0}(\cdot) 中采样得到。

在具体的交互过程中,轨迹通常是有限的,TT-step 轨迹可以表示如下:

τ=(S0,A0,S1,A1,,ST1,AT1,ST)\tau=(S_{0}, A_{0}, S_{1}, A_{1}, \ldots,S_{T-1},A_{T-1},S_{T})

State Transitions

状态转移(State Transitions)描述环境如何从状态 sts_{t} 转移到下一状态 st+1s_{t+1} 的。可以是确定性的:

st+1=f(st,at)s_{t+1} = f(s_{t}, a_{t})

也可以是随机性的:

St+1P(st,at)S_{t+1} \sim P(\cdot \mid s_{t}, a_{t})

状态转移函数由环境决定,仅依赖于最近的动作 ata_{t} 与状态 sts_{t}

Summary: Two Sources of Randomness

总结当前系统中出现的两个随机性:

  • 动作的随机性:Aπ(s)A \sim \pi(\cdot \mid s)
  • 状态的随机性:St+1P(st,at)S_{t+1} \sim P(\cdot \mid s_{t}, a_{t})

Reward and Return

Reward

即时奖励(Reward)RtR_{t} 为 agent 提供反馈,表明当前状态 sts_{t} 或动作 ata_{t} 的好坏。奖励函数(Reward Function)RR 依赖于当前状态 sts_{t},动作 ata_{t} 与下一状态 st+1s_{t+1},可表示为:

Rt=R(st,at,st+1)R_{t} = R(s_{t}, a_{t}, s_{t+1})

但也可以简化为:

  • 仅依赖当前状态:Rt=R(st)R_{t} = R(s_{t})
  • 依赖状态 - 动作对:Rt=R(st,at)R_{t}= R(s_{t}, a_{t})

此时,我们可以更新 TT-step 轨迹 τ\tau 的表示,将即时奖励加入到轨迹中:

τ=(S0,A0,R0,S1,A1,,ST1,AT1,RT1,ST)\tau = (S_{0},A_{0},R_{0},S_{1},A_{1},\ldots,S_{T-1},A_{T-1},R_{T-1},S_{T})

Return

强化学习的目标是最大化某种累计奖励,即:回报(Return)。回报可以表示成多种形式,如:

1. finite-horizon undiscounted return. 在固定步长 TT 内获得奖励的总和:

Gt:t+T=Rt+Rt+1++Rt+T1=k=0T1Rt+kG_{t:t+T} = R_{t} + R_{t+1} + \cdots + R_{t+T-1}= \sum_{k=0}^{T-1} R_{t+k}

2. infinite-horizon discounted return 从时间 tt 开始所有折扣奖励和:

Gt()=Rt+γRt+1+γ2Rt+2+=k=0γkRt+kG_{t}^{(\infty)} = R_{t} + \gamma R_{t+1} + \gamma^{2} R_{t+2} + \cdots = \sum_{k=0}^{\infty} \gamma^{k} R_{t+k}

其中,γ[0,1]\gamma \in [0,1] 是折扣因子。折扣因子既具有直观意义(" 现在的钱比未来的钱更值钱 "),又在数学上使得无限步长奖励和在合理条件下收敛,便于处理。

Note

上文的有限步/无限步,有无折扣这两个条件可以随机组合。在理论推导中,通常使用 GtG_{t},默认表示为无限折扣奖励和,而在实际应用中,一般为有限折扣奖励和。

Value Functions

Action-Value Function

On-Policy Action-Value Function 给出:在状态 sts_{t} 下采取动作 ata_{t},之后始终按照策略 π\pi 行动,所能获得的期望回报:

Qπ(st,at)=Eπ[GtSt=st,At=at]Q^{\pi}(s_{t},a_{t}) = \mathbb{E}_{\pi} \big[G_{t} \mid S_{t} = s_{t}, A_{t} = a_{t}\big]

该函数

  • 依赖于当前状态 sts_{t}、动作 ata_{t}、策略 π\pi 以及状态转移函数 PP
  • 与后续状态 St+1,S_{t+1},\ldots 和动作 At+1,A_{t+1}, \ldots 独立

Optimal Action-Value Function 给出:在状态 sts_{t} 下采取动作 ata_{t},之后始终按照环境中的最优策略行动,所能获得的期望回报:

Q(st,at)=maxπQπ(st,at)Q^{*}(s_{t},a_{t}) = \max_\pi Q^{\pi}(s_{t},a_{t})

State-Value Function

On-Policy State-Value Function 给出:在状态 sts_{t} 下,始终按照策略 π\pi 行动,所能获得的期望回报:

Vπ(st)=Eπ[GtSt=st]V^{\pi}(s_{t}) = \mathbb{E}_{\pi}[G_{t} \mid S_{t} = s_{t}]

Optimal State-Value Function 给出:在状态 sts_{t} 下,始终按照环境中的最优策略行动,所能获得的最大期望回报:

V(st)=maxπVπ(st)V^{*}(s_{t}) = \max_{\pi} V^{\pi}(s_{t})

Connections Between Action-Value Function and State-Value Function

首先Vπ(st)V^{\pi}(s_{t}) 可以视为当前时刻 tt,所有可能动作的价值 Qπ(st,at)Q^{\pi}(s_{t},a_{t}) 的加权平均,权重由策略 π(atst)\pi(a_{t} \mid s_{t}) 决定。对于离散动作空间:

Vπ(st)=EAtπ(st)[Qπ(St,At)St=st]=atAπ(atst)Qπ(st,at)V^{\pi}(s_{t}) = \mathbb{E}_{A_{t} \sim \pi(\cdot \mid s_{t})}\big[Q^{\pi}(S_{t},A_{t}) \mid S_{t}=s_{t}\big] = \sum_{a_{t} \in \mathcal{A}} \pi(a_{t} \mid s_{t}) \cdot Q^{\pi}(s_{t},a_{t})

其中,A\mathcal{A} 为所有有效动作的集合。而对于连续动作空间,则为:

Vπ(st)=EAtπ(st)[Qπ(St,At)St=st]=π(atst)Qπ(st,at)datV^{\pi}(s_{t}) = \mathbb{E}_{A_{t} \sim \pi(\cdot \mid s_{t})}\big[Q^{\pi}(S_{t},A_{t}) \mid S_{t}=s_{t}\big] = \int \pi(a_{t} \mid s_{t}) \cdot Q^{\pi}(s_{t},a_{t}) da_{t}

Bellman Equations 一节,会对该结论给出详尽的推导。

其次V(st)V^{*}(s_{t}) 可看作是从状态 sts_{t} 开始,通过选择最佳动作 ata_{t} 所能实现的最大期望回报:

V(st)=maxatQ(st,at)V^{*}(s_{t}) = \max_{a_{t}}Q^{*}(s_{t},a_{t})

换句话说,如果已知 QQ^{*},那么当前时刻最优动作可直接得到:

at(st)=argmaxatQ(st,at)a^{*}_{t}(s_{t}) = \arg\max_{a_{t}}Q^{*}(s_{t},a_{t})

Advantage Functions

在强化学习中,有时我们不需要绝对地描述某个动作有多好,而只关心它相对于平均水平的优势,即该动作比按照策略随机选择的动作更好多少。为此,我们定义优势函数(Advantage Function):

Aπ(st,at)=Qπ(st,at)Vπ(st)A^{\pi}(s_{t},a_{t}) = Q^{\pi}(s_{t},a_{t}) - V^{\pi}(s_{t})

Bellman Equations 一节,会进一步深入探讨该优势函数。

Formalism: Markov Decision Process

Agent 与环境的交互过程可以形式化为一个马尔可夫决策过程。一个马尔可夫决策过程(Markov Decision Process, MDP)是一个五元组 S,A,P,R,γ\langle \mathcal{S},\mathcal{A},P,R,\gamma \rangle,其中:

  • S\mathcal{S}: 所有有效状态的集合
  • A\mathcal{A}: 所有有效动作的集合
  • P:S×AP(S)P:\mathcal{S} \times \mathcal{A} \to \mathbb{P}(\mathcal{S}): 状态转移概率函数,其中 P(ss,a)P(s^{\prime} \mid s,a) 表示从状态 ss 出发、采取动作 aa 后转移到状态 ss^{\prime} 的概率
  • R:S×A×SRR:\mathcal{S} \times \mathcal{A} \times \mathcal{S} \to \mathbb{R}: 奖励函数,对应 Rt=R(st,at,st+1)R_{t} = R(s_{t},a_{t},s_{t+1})
  • γ[0,1]\gamma \in [0,1]: 折扣因子

MDP 这一名称表明系统满足 Markov Property:即状态转移只依赖于最近的状态和动作,而与之前的历史无关。这一性质会在 Bellman Equations 的推导中起到重要作用。

Bellman Equations

Overview of Bellman Equations

Bellman Equations 概括起来为:一个状态的价值,等于期望从该状态获得的即时奖励,加上下一步所到达的后继状态的价值。形式化表述如下:

Vπ(s)=Eaπ(s)[EsP(s,a)[Rt+γVπ(s)]]Qπ(s,a)=EsP(s,a)[Rt+γVπ(s)]\begin{aligned} V^{\pi}(s) &= \mathbb{E}_{a \sim \pi(\cdot \mid s)} \Big[\mathbb{E}_{s^{\prime} \sim P(\cdot \mid s,a)}\big[R_{t} + \gamma V^{\pi}(s^{\prime})\big]\Big] \\ Q^{\pi}(s,a) &= \mathbb{E}_{s^{\prime} \sim P(\cdot \mid s,a)}\big[ R_{t} + \gamma V^{\pi}(s^{\prime}) \big] \end{aligned}

之后为了简洁,我们通常直接使用 aa, ss, ss^{\prime} 来代替之前的 ata_{t}, sts_{t}, st+1s_{t+1}

为了推导 Bellman Equations,我们从 infinite-horizon discounted return GtG_{t} 的定义出发,将其写成递归形式:

Gt=Rt+γRt+1+γ2Rt+2+=Rt+γ(Rt+1+γRt+2+)=Rt+γGt+1\begin{aligned} G_{t} &= R_{t} + \gamma R_{t+1} + \gamma^{2} R_{t+2} + \ldots \\ &= R_{t} + \gamma (R_{t+1} + \gamma R_{t+2} + \ldots) \\ &= R_{t} + \gamma G_{t+1} \end{aligned}

直观地理解,当前时刻 tt 的回报 GtG_{t} 等于即时奖励 RtR_{t} 加上下一时刻 t+1t+1 的折扣回报 γGt+1\gamma G_{t+1}

Bellman Equation for State-Value Function

从状态价值函数的定义出发:Vπ(s)V^{\pi}(s) 表示在状态 ss 下,始终按照策略 π\pi 行动,所能获得的期望回报:

Vπ(s)=Eπ[GtSt=s]V^{\pi}(s) = \mathbb{E}_{\pi}[G_{t} \mid S_{t} = s]

Gt=Rt+γGt+1G_{t} = R_{t} + \gamma G_{t+1} 代入上式得:

Vπ(s)=Eπ[GtSt=s]=Eπ[Rt+γGt+1St=s]=Eπ[RtSt=s]+γE[Gt+1St=s]\begin{aligned} V^{\pi}(s) &= \mathbb{E}_{\pi}[G_{t} \mid S_{t} = s] \\ &= \mathbb{E}_{\pi}[R_{t} + \gamma G_{t+1} \mid S_{t} = s] \\ &= \mathbb{E}_{\pi}[R_{t} \mid S_{t} = s] + \gamma \mathbb{E}[G_{t+1} \mid S_{t} = s] \end{aligned}

该公式将 Vπ(s)V^{\pi}(s) 分解成两部分:即时奖励的期望未来回报的期望

第一项:即时奖励的期望

要计算从状态 ss 出发能获得的期望即时奖励,需要考虑两重不确定性:

  1. 首先,Agent 会根据策略 π(s)\pi(\cdot \mid s) 随机选择一个动作 aa
  2. 然后,环境根据状态转移概率 P(s,a)P(\cdot \mid s,a) 转移到一个新的状态 ss^{\prime},并给出即时奖励 Rt=R(s,a,s)R_{t} = R(s,a,s^{\prime})

因此,需要对所有可能的动作以及所有可能的下一状态进行加权平均,权重分别是策略概率与转移概率。以离散空间为例,推导如下:

Eπ[RtSt=s]=aAπ(as)Eπ[RtSt=s,At=a]=aAπ(as)sSP(ss,a)R(st,at,st+1)=aAπ(as)sSP(ss,a)Rt\begin{aligned} \mathbb{E}_{\pi}[R_{t} \mid S_{t} = s] &= \sum_{a \in \mathcal{A}} \pi(a \mid s) \mathbb{E}_{\pi}[R_{t} \mid S_{t} = s, A_{t} = a] \\ &= \sum_{a \in \mathcal{A}} \pi(a \mid s) \sum_{s^{\prime} \in \mathcal{S}} P(s^{\prime} \mid s, a) R(s_{t}, a_{t}, s_{t+1}) \\ &= \sum_{a \in \mathcal{A}} \pi(a \mid s) \sum_{s^{\prime} \in \mathcal{S}} P(s^{\prime} \mid s, a) R_{t} \end{aligned}

第二项:未来回报的期望

要计算从状态 ss 出发,下一时刻的期望回报,同样需要考虑动作 aa 与下一状态 ss^{\prime} 的不确定性。此外,根据马尔可夫性质,一旦我们知道了下一状态是 ss',那么从 ss' 出发能获得的未来期望回报就完全由 Vπ(s)V^{\pi}(s') 定义,而与之前的状态 ss 和动作 aa 无关,即 Eπ[Gt+1St+1=s]=Vπ(s)\mathbb{E}_{\pi}[G_{t+1} \mid S_{t+1} = s'] = V^{\pi}(s')。具体推导如下:

Eπ[Gt+1St=s]=sSEπ[Gt+1St=s,St+1=s]P(ss)=sSEπ[Gt+1St+1=s]P(ss)=sSVπ(s)P(ss)=sSVπ(s)aAP(ss,a)π(as)=aAπ(as)sSP(ss,a)Vπ(s)\begin{aligned} \mathbb{E}_{\pi}[G_{t+1} \mid S_{t} = s] &= \sum_{s^{\prime} \in \mathcal{S}} \mathbb{E}_{\pi}[G_{t+1} \mid S_{t} = s, S_{t+1} = s^{\prime}] P(s^{\prime} \mid s) \\ &= \sum_{s^{\prime} \in \mathcal{S}} \mathbb{E}_{\pi}[G_{t+1} \mid S_{t+1} = s^{\prime}] P(s^{\prime} \mid s) \\ &= \sum_{s^{\prime} \in \mathcal{S}} V^{\pi}(s^{\prime}) P(s^{\prime} \mid s) \\ &= \sum_{s^{\prime} \in \mathcal{S}} V^{\pi}(s^{\prime}) \sum_{a \in \mathcal{A}} P(s^{\prime} \mid s,a) \pi(a \mid s) \\ &= \sum_{a \in \mathcal{A}} \pi(a \mid s) \sum_{s^{\prime} \in \mathcal{S}} P(s^{\prime} \mid s,a) V^{\pi}(s^{\prime}) \end{aligned}

最后两行的求和顺序的调换,是为了后续合并的方便。此外,如果不对 P(ss)P(s^{\prime} \mid s) 继续展开,还可以得到:

Eπ[Gt+1St=s]=sSVπ(s)P(ss)=Eπ[Vπ(s)St=s]\begin{aligned} \mathbb{E}_{\pi}[G_{t+1} \mid S_{t} = s] &= \sum_{s^{\prime} \in \mathcal{S}} V^{\pi}(s^{\prime}) P(s^{\prime} \mid s) \\ &= \mathbb{E}_{\pi}[V^{\pi}(s^{\prime}) \mid S_{t} = s] \end{aligned}

该结论会在 Bellman Equation for Action-Value Function 中,推导未来回报期望时用到。

合并两项

Vπ(s)=Eπ[RtSt=s]+γEπ[Gt+1St=s]=aAπ(as)sSP(ss,a)(Rt+γVπ(s))=aAπ(as)EsP(s,a)[Rt+γVπ(s)]=Eaπ(s)[EsP(s,a)[Rt+γVπ(s)]]\begin{aligned} V^{\pi}(s) &= \mathbb{E}_{\pi}[R_{t} \mid S_{t} = s] + \gamma \mathbb{E}_{\pi}[G_{t+1} \mid S_{t} = s] \\ &= \sum_{a \in \mathcal{A}} \pi(a \mid s) \sum_{s^{\prime} \in \mathcal{S}} P(s^{\prime} \mid s, a) (R_{t} + \gamma V^{\pi}(s^{\prime})) \\ &= \sum_{a \in \mathcal{A}} \pi(a \mid s) \mathbb{E}_{s^{\prime} \sim P(\cdot \mid s,a)}[R_{t} + \gamma V^{\pi}(s^{\prime})] \\ &= \mathbb{E}_{a \sim \pi(\cdot \mid s)} \Big[\mathbb{E}_{s^{\prime} \sim P(\cdot \mid s,a)}\big[R_{t} + \gamma V^{\pi}(s^{\prime})\big]\Big] \end{aligned}

Bellman Equation for Action-Value Function

Qπ(s,a)Q^{\pi}(s,a) 的 Bellman Equation 推导过程非常类似,但更简单一些,因为假定了第一个动作 aa 已知。仍然从 Qπ(s,a)Q^{\pi}(s,a) 的定义出发,代入 Gt=Rt+γGt+1G_{t} = R_{t} + \gamma G_{t+1}

Qπ(s,a)=Eπ[GtSt=s,At=a]=Eπ[Rt+γGt+1St=s,At=a]=Eπ[RtSt=s,At=a]+γEπ[Gt+1St=s,At=a]\begin{aligned} Q^{\pi}(s,a) &= \mathbb{E}_{\pi} \big[G_{t} \mid S_{t} = s, A_{t} = a\big] \\ &= \mathbb{E}_{\pi} \big[R_{t} + \gamma G_{t+1} \mid S_{t} = s, A_{t} = a\big] \\ &= \mathbb{E}_{\pi} \big[R_{t} \mid S_{t} = s, A_{t} = a\big] + \gamma \mathbb{E}_{\pi} \big[G_{t+1} \mid S_{t} = s, A_{t} = a\big] \end{aligned}

由于动作 aa 已知,所以不确定性只剩下环境的状态转移 P(s,a)P(\cdot \mid s,a)。因此,我们只需要对所有可能的下一状态 ss' 求期望。上式仍然将 Qπ(s)Q^{\pi}(s) 分解成两部分:即时奖励的期望未来回报的期望

第一项:即时奖励的期望

Eπ[RtSt=s,At=a]=sSP(ss,a)R(s,a,s)=sSP(ss,a)Rt\begin{aligned} \mathbb{E}_{\pi} \big[R_{t} \mid S_{t} = s, A_{t} = a\big] &= \sum_{s^{\prime} \in \mathcal{S}} P(s^{\prime} \mid s,a) R(s,a,s^{\prime}) \\ &= \sum_{s^{\prime} \in \mathcal{S}} P(s^{\prime} \mid s,a) R_{t} \end{aligned}

第二项:未来回报的期望

Eπ[Gt+1St=s,At=a]=sSEπ[Gt+1St=s,At=a,St+1=s]P(ss,a)=sSEπ[Gt+1St+1=s]P(ss,a)=sSVπ(s)P(ss,a)\begin{aligned} \mathbb{E}_{\pi} \big[G_{t+1} \mid S_{t} = s, A_{t} = a\big] &= \sum_{s^{\prime} \in \mathcal{S}} \mathbb{E}_{\pi} \big[G_{t+1} \mid S_{t} = s, A_{t} = a, S_{t+1} = s^{\prime}\big] P(s^{\prime} \mid s,a) \\ &= \sum_{s^{\prime} \in \mathcal{S}} \mathbb{E}_{\pi} \big[G_{t+1} \mid S_{t+1} = s^{\prime}\big] P(s^{\prime} \mid s,a) \\ &= \sum_{s^{\prime} \in \mathcal{S}} V^{\pi}(s^{\prime}) P(s^{\prime} \mid s,a) \end{aligned}

这里第二个等式利用马尔可夫性质,Gt+1G_{t+1} 与过去的动作 aa 与状态 ss 无关。第三个等式利用 Bellman Equation for State-Value Function 中推导未来回报期望时的一个结论:Eπ[Gt+1St=s]=Eπ[Vπ(s)St=s]\mathbb{E}_{\pi}[G_{t+1} \mid S_{t} = s] = \mathbb{E}_{\pi}[V^{\pi}(s^{\prime}) \mid S_{t} = s]

合并两项

Qπ(s,a)=Eπ[RtSt=s,At=a]+γEπ[Gt+1St=s,At=a]=sSP(ss,a)Rt+γsSP(ss,a)Vπ(s)=sSP(ss,a)(Rt+γVπ(s))=EsP(s,a)[Rt+γVπ(s)]\begin{aligned} Q^{\pi}(s,a) &= \mathbb{E}_{\pi} \big[R_{t} \mid S_{t} = s, A_{t} = a\big] + \gamma \mathbb{E}_{\pi} \big[G_{t+1} \mid S_{t} = s, A_{t} = a\big] \\ &= \sum_{s^{\prime} \in \mathcal{S}} P(s^{\prime} \mid s,a) R_{t} + \gamma \sum_{s^{\prime} \in \mathcal{S}} P(s^{\prime} \mid s,a) V^{\pi}(s^{\prime}) \\ &= \sum_{s^{\prime} \in \mathcal{S}} P(s^{\prime} \mid s,a) \big(R_{t} + \gamma V^{\pi}(s^{\prime})\big) \\ &= \mathbb{E}_{s^{\prime} \sim P(\cdot \mid s,a)}\big[ R_{t} + \gamma V^{\pi}(s^{\prime}) \big] \end{aligned}

至此,我们已经推导出了 Vπ(s)V^{\pi}(s)Qπ(s,a)Q^{\pi}(s,a) 的 Bellman Equations。观察一下,可以将 Qπ(s,a)Q^{\pi}(s,a) 继续代入到 Vπ(s)V^{\pi}(s) 中进行推导:

Vπ(s)=Eaπ(s)[EsP(s,a)[Rt+γVπ(s)]]=Eaπ(s)[Qπ(s,a)]=aAπ(as)Qπ(s,a)=Eaπ(s)[Qπ(s,a)]\begin{aligned} V^{\pi}(s) &= \mathbb{E}_{a \sim \pi(\cdot \mid s)} \Big[\mathbb{E}_{s^{\prime} \sim P(\cdot \mid s,a)}\big[R_{t} + \gamma V^{\pi}(s^{\prime})\big]\Big] \\ &= \mathbb{E}_{a \sim \pi(\cdot \mid s)} \big[ Q^{\pi}(s,a) \big] \\ &= \sum_{a \in \mathcal{A}} \pi(a \mid s) Q^{\pi}(s,a) \\ &= \mathbb{E}_{a \sim \pi(\cdot \mid s)} \big[ Q^{\pi}(s,a) \big] \end{aligned}

这与我们在 Connections Between Action-Value Function and State-Value Function 直观上得到的结论一致:一个状态的价值,是该状态下所有可能动作的动作价值,按照策略 π\pi 的概率进行的加权平均

Temporal-Difference (TD) Error

推导出 Vπ(s)V^{\pi}(s)Qπ(s,a)Q^{\pi}(s,a) 的 Bellman Equations 之后,我们可以进一步推导优势函数:

Aπ(s,a)=Qπ(s,a)Vπ(s)=EsP(s,a)[Rt+γVπ(s)TD Target]EsP(s,a)[Vπ(s)]=EsP(s,a)[Rt+γVπ(s)Vπ(s)TD Error]\begin{aligned} A^{\pi}(s,a) &= Q^{\pi}(s,a) - V^{\pi}(s) \\ &= \mathbb{E}_{s^{\prime} \sim P(\cdot \mid s,a)}\big[ \underbrace{R_{t} + \gamma V^{\pi}(s^{\prime})}_{\text{TD Target}} \big] - \mathbb{E}_{s^{\prime} \sim P(\cdot \mid s,a)}\big[ V^{\pi}(s) \big] \\ &= \mathbb{E}_{s^{\prime} \sim P(\cdot \mid s,a)}\big[ \underbrace{R_{t} + \gamma V^{\pi}(s^{\prime}) - V^{\pi}(s)}_{\text{TD Error}} \big] \end{aligned}

上式中,Vπ(s)V^{\pi}(s) 可以直接写成 EsP(s,a)[Vπ(s)]\mathbb{E}_{s^{\prime} \sim P(\cdot \mid s,a)}\big[V^{\pi}(s) \big],是因为 Vπ(s)V^{\pi}(s) 只依赖于确定的 ss,而与 ss^{\prime} 无关。在实际算法中,通常使用神经网络来近似状态价值函数,表示为 Vw(s)V_{w}(s),其中 ww 为神经网络参数。因此,优势函数的近似 A^t\hat{A}_{t} 可以表示如下:

A^t=rt+γVw(st+1)TD TargetVw(s)TD Error\hat{A}_{t} = \underbrace{\overbrace{r_{t} + \gamma V_{w}(s_{t+1})}^{\text{TD Target}} - V_{w}(s)}_{\text{TD Error}}

Note

这里我们暂时不讨论偏差与方差的问题,放到具体算法的文章中讨论。

其中,Vw(s)V_{w}(s) 是我们对当前状态价值的原始估计,而 rt+γVw(st+1)r_{t} + \gamma V_{w}(s_{t+1}) 是 Agent 执行一步动作 aa 后,并观察到奖励 rtr_{t} 与下一状态 st+1s_{t+1} 后,对当前状态价值的更优估计(可作为 TD Target)。而两者之差,称为 TD Error,通常表示为:

δt=rt+γVw(st+1)Vw(st)\delta_{t} = r_{t} + \gamma V_{w}(s_{t+1}) - V_{w}(s_{t})

直观地理解,TD Error 就是 当前的预测一个更靠谱的、基于下一步真实情况的新预测 之间的差距。

这个差距可以当做学习的信号。如果差距很大,说明之前的预测很不准,需要大幅调整;如果差距很小,说明预测得还不错,稍微微调即可。这也引出了 TD Learning,核心思想在于用下一步的预测来纠正当前的预测

更直观地,想象一下你每天开车上班,想预测全程需要多长时间。

  • 第一天(刚出门):你凭感觉猜测:" 嗯,今天路况不错,估计全程要 30 分钟。"
    • 这是你的 初始预测
  • 开了 10 分钟后(到达了中途的 A 点):你发现路上有个小事故,有点堵车。你看了看导航,它根据当前路况重新预测,从 A 点到公司还需要 25 分钟
    • 这时,你有了一个新的、更靠谱的预测:已经花费的 10 分钟 (真实成本) + 导航预测的未来 25 分钟 (新的未来预测) = 总共 35 分钟
    • 35 分钟 就是我们所说的 TD Target。它更靠谱,因为它包含了一部分真实发生的情况(已经开的 10 分钟)。
  • 计算误差:现在,你拿新的预测和旧的预测一比较:TD Error = (已花费的 10 分钟 + 未来还需 25 分钟) - (最初的预测 30 分钟) = +5 分钟
  • 学习与更新:这个 +5 分钟 的误差告诉你:你最初的预测太乐观了!你需要把对 " 全程时间 " 的预测调高一些。于是你心想:" 看来以后出门时,应该预测要 30 多分钟才对。" 你根据这个误差,更新了你大脑里的模型。

这就是 TD Learning 的核心思想:不需要等到全程跑完(不需要等最终结果),而是在每一步都利用新信息,不断地更新和校准自己之前的预测。

nn-step Return

前文讨论的 TD Target 的核心思想在于:执行一步,然后用观测到的即时奖励 rtr_{t} 与对下一状态的价值估计 Vw(st+1)V_{w}(s_{t+1}) 来构建一个更优的目标 TD Target,并更新当前状态的价值估计 Vw(st)V_{w}(s_{t})。这种方法被称为 TD Learning,其理论基础来自 Bellman Equation:

Vπ(st)=Eatπ(s)[Est+1P(s,a)[Rt+γVπ(st+1)]]V^{\pi}(s_{t}) = \mathbb{E}_{a_{t} \sim \pi(\cdot \mid s)} \Big[\mathbb{E}_{s_{t+1} \sim P(\cdot \mid s,a)}\big[R_{t} + \gamma V^{\pi}(s_{t+1})\big]\Big]

根据状态价值函数的定义:

Vπ(st)=Eπ[GtSt=st]V^{\pi}(s_{t}) = \mathbb{E}_{\pi}[G_{t} \mid S_{t} = s_{t}]

我们发现,上面两式的差异在于期望的下标。Bellman Equation 是单步的期望,而状态价值函数定义是整个轨迹上的期望。为了更好地描述单步多步时,Vπ(st)V^{\pi}(s_{t}) 与回报的联系,我们定义 nn-step 回报如下:

Gt(n)=Rt+γRt+1+γ2Rt+2++γn1Rt+n1+γnVπ(st+n)=l=0n1γlRt+l+γnVπ(st+n)\begin{aligned} G_{t}^{(n)} &= R_{t} + \gamma R_{t+1} + \gamma^{2} R_{t+2} + \cdots + \gamma^{n-1} R_{t+n-1} + \gamma^{n} V^{\pi}(s_{t+n}) \\ &= \sum_{l=0}^{n-1} \gamma^{l} R_{t+l} + \gamma^{n} V^{\pi}(s_{t+n}) \end{aligned}

用自然语言来描述,nn-step 回报就是执行 nn 步后,累计实际观测到的奖励和,加上第 nn 步的状态价值。实际上,更常见的形式是其估计量 G^t(n)\hat{G}_{t}^{(n)},表示如下:

G^t(n)=l=0n1γlrt+l+γnVw(st+n)\hat{G}_{t}^{(n)} = \sum_{l=0}^{n-1} \gamma^{l} r_{t+l} + \gamma^{n} V_{w}(s_{t+n})

其中,Vw(st+n)V_{w}(s_{t+n}) 是对理论真值 Vπ(st)V^{\pi}(s_{t}) 的近似。观察发现:

  • n=1n=1 时,G^t(1)=rt+γVw(st+1)\hat{G}_{t}^{(1)} = r_{t} + \gamma V_{w}(s_{t+1}) 恰好是 11-step TD Target。
  • nn \to \infty 时,G^t()=Gt()=l=0γlrt+l\hat{G}_{t}^{(\infty)} = {G}_{t}^{(\infty)} = \sum_{l=0}^{\infty} \gamma^{l} r_{t+l} 恰好是回报的定义,也称为蒙特卡洛回报

Vπ(s)=Eaπ(s)[EsP(s,a)[Rt+γVπ(s)]]\begin{aligned} V^{\pi}(s) &= \mathbb{E}_{a \sim \pi(\cdot \mid s)} \Big[\mathbb{E}_{s^{\prime} \sim P(\cdot \mid s,a)}\big[R_{t} + \gamma V^{\pi}(s^{\prime})\big]\Big] \\ \end{aligned}

接下来,证明对于给定的策略 π\pi 和起始状态 St=stS_{t} = s_{t}nn-step 回报 Gt(n)G_{t}^{(n)} 是状态价值函数 Vπ(st)V^{\pi}(s_{t}) 的无偏估计:

Eπ[Gt(n)St=st]=Vπ(st)\mathbb{E}_{\pi}[G_{t}^{(n)} \mid S_{t} = s_{t}] = V^{\pi}(s_{t})

其中:Eπ[St=st]\mathbb{E}_{\pi}[\cdot \mid S_{t} = s_{t}] 表示从 sts_{t} 出发,遵循策略 π\pi 生成的整个未来轨迹的条件期望。

我们将从 Vπ(st)V^{\pi}(s_t) 的定义出发,通过递归地代入 Bellman Equation 来证明。

步骤 1: 基础步骤

根据 Bellman Equation 的定义:

Vπ(st)=Eatπ(st),st+1P(st,at)[Rt+γVπ(st+1)St=st]V^{\pi}(s_{t}) = \mathbb{E}_{a_{t} \sim \pi(\cdot \mid s_{t}), s_{t+1} \sim P(\cdot \mid s_{t},a_{t})} \big[R_{t} + \gamma V^{\pi}(s_{t+1}) \mid S_{t} = s_{t} \big]

这两个嵌套的期望,其联合效果就是对从 sts_t 开始的一个时间步内的所有可能性(即 (at,st+1,rt)(a_t, s_{t+1}, r_t) 的组合)进行加权平均。这正是全轨迹期望 Eπ\mathbb{E}_{\pi} 在一个时间步内的定义。所以,我们可以写成:

Vπ(st)=Eπ[Rt+γVπ(st+1)St=st]V^{\pi}(s_{t}) = \mathbb{E}_{\pi}[R_{t} + \gamma V^{\pi}(s_{t+1}) \mid S_{t} = s_{t}]

注意到 Gt(1)=Rt+γVπ(st+1)G_t^{(1)} = R_{t} + \gamma V^{\pi}(s_{t+1})。因此,我们已经严格证明了 n=1n=1 的情况:

Vπ(st)=Eπ[Gt(1)St=st]V^{\pi}(s_{t}) = \mathbb{E}_{\pi}\Big[G_{t}^{(1)} \mid S_{t} = s_{t}\Big]

步骤 2: 递归展开

现在,我们对上式中的 Vπ(st+1)V^{\pi}(s_{t+1}) 项应用 Bellman Equation。对于任意给定的 st+1s_{t+1},我们有:

Vπ(st+1)=Eat+1π(st+1),st+2P(st+1,at+1)[Rt+1+γVπ(st+2)St+1=st+1]V^{\pi}(s_{t+1}) = \mathbb{E}_{a_{t+1} \sim \pi(\cdot \mid s_{t+1}), s_{t+2} \sim P(\cdot \mid s_{t+1},a_{t+1})} \big[ R_{t+1} + \gamma V^{\pi}(s_{t+2}) \mid S_{t+1} = s_{t+1} \big]

我们将这个表达式代入到步骤 1 的结果中:

Vπ(st)=Eatπ(st),st+1P(st,at)[Rt+γ(Eat+1π(st+1),st+2P(st+1,at+1)[Rt+1+γVπ(st+2)St+1])St=st]V^{\pi}(s_{t}) = \mathbb{E}_{a_{t} \sim \pi(\cdot \mid s_{t}), s_{t+1} \sim P(\cdot \mid s_{t},a_{t})} \Big[ R_{t} + \gamma \big( \mathbb{E}_{a_{t+1} \sim \pi(\cdot \mid s_{t+1}), s_{t+2} \sim P(\cdot \mid s_{t+1},a_{t+1})} \big[ R_{t+1} + \gamma V^{\pi}(s_{t+2}) \mid S_{t+1} \big] \big) \mid S_{t} = s_{t} \Big]

观察期望的结构:

  • 内层期望的结果是是一个 St+1S_{t+1} 的函数
  • 外层期望则对这个函数以及 RtR_{t} 求期望。

根据期望的线性性质,拆分上式可得:

Vπ(st)= Eatπ(st),st+1P(st,at)[Rt+γ(Eat+1π(st+1),st+2P(st+1,at+1)[Rt+1+γVπ(st+2)St+1])St=st]= Eatπ(st),st+1P(st,at)[RtSt=st]+γEatπ(st),st+1P(st,at)[Eat+1π(st+1),st+2P(st+1,at+1)[Rt+1+γVπ(st+2)St+1]St=st]\begin{aligned} V^{\pi}(s_{t}) =\ & \mathbb{E}_{a_{t} \sim \pi(\cdot \mid s_{t}), s_{t+1} \sim P(\cdot \mid s_{t},a_{t})} \Big[ R_{t} + \gamma \big( \mathbb{E}_{a_{t+1} \sim \pi(\cdot \mid s_{t+1}), s_{t+2} \sim P(\cdot \mid s_{t+1},a_{t+1})} \big[ R_{t+1} + \gamma V^{\pi}(s_{t+2}) \mid S_{t+1} \big] \big) \mid S_{t} = s_{t} \Big] \\ =\ & \mathbb{E}_{a_{t} \sim \pi(\cdot \mid s_{t}), s_{t+1} \sim P(\cdot \mid s_{t},a_{t})} \big[R_{t} \mid S_{t} = s_{t}\big] + \gamma \cdot \mathbb{E}_{a_{t} \sim \pi(\cdot \mid s_{t}), s_{t+1} \sim P(\cdot \mid s_{t},a_{t})}\\ \big[ & \mathbb{E}_{a_{t+1} \sim \pi(\cdot \mid s_{t+1}), s_{t+2} \sim P(\cdot \mid s_{t+1},a_{t+1})}[R_{t+1} + \gamma V^{\pi}(s_{t+2}) \mid S_{t+1}] \mid S_{t} = s_{t} \big] \end{aligned}

观察第二项:

  • 外层期望:给定 St=stS_{t} = s_{t} 时,关于 AtA_{t}St+1S_{t+1} 求期望
  • 内层期望:给定 St+1S_{t+1} 时,关于 At+1A_{t+1}St+2S_{t+2} 求期望

由期望的迭代定律,第二项可以重写为:

Eatπ(st),st+1P(st,at),at+1π(st+1),st+2P(st+1,at+1)[Rt+1+γVπ(st+2)St=st]\mathbb{E}_{a_{t} \sim \pi(\cdot \mid s_{t}), s_{t+1} \sim P(\cdot \mid s_{t},a_{t}), a_{t+1} \sim \pi(\cdot \mid s_{t+1}), s_{t+2} \sim P(\cdot \mid s_{t+1},a_{t+1})} \big[ R_{t+1} + \gamma V^{\pi}(s_{t+2}) \mid S_{t} = s_{t} \big]

合并后的期望表示,从 St=stS_{t} = s_{t} 开始,遵循策略 π\pi 的两个时间步的轨迹求期望。由于第一项中的 RtR_{t} 仅依赖于 AtA_{t}St+1S_{t+1},不依赖于 At+1A_{t+1}St+2S_{t+2}。因此,可以合并这两项。由期望的线性性质,得到最终的合并形式:

Vπ(st)=Eatπ(st),st+1P(st,at),at+1π(st+1),st+2P(st+1,at+1)[Rt+γRt+1+γ2Vπ(st+2)St=st]=Eπ[Rt+γRt+1+γ2Vπ(st+2)St=st]=Eπ[Gt(2)St=st]\begin{aligned} V^{\pi}(s_{t}) &= \mathbb{E}_{a_{t} \sim \pi(\cdot \mid s_{t}), s_{t+1} \sim P(\cdot \mid s_{t},a_{t}), a_{t+1} \sim \pi(\cdot \mid s_{t+1}), s_{t+2} \sim P(\cdot \mid s_{t+1},a_{t+1})} \big[ R_{t} + \gamma R_{t+1} + \gamma^{2} V^{\pi}(s_{t+2}) \mid S_{t} = s_{t} \big] \\ &= \mathbb{E}_{\pi}\big[ R_{t} + \gamma R_{t+1} + \gamma^{2} V^{\pi}(s_{t+2}) \mid S_{t} = s_{t} \big] \\ &= \mathbb{E}_{\pi}\big[ G_{t}^{(2)} \mid S_{t} = s_{t} \big] \end{aligned}

至此,我们证明了 22-step 回报 Gt(2)G_{t}^{(2)} 是状态价值函数 Vπ(st)V^{\pi}(s_{t}) 的无偏估计。实际上,我们可以一直推广到 nn-step,这里不给出详细的推导过程。

综上,nn-step 回报 Gt(n)G_{t}^{(n)} 是状态价值函数 Vπ(st)V^{\pi}(s_{t}) 的无偏估计