本文主要摘录翻译自 OpenAI Spinning Up Documentation Part 1: Key Concepts in RL,忽略了对具体实现的讲解,同时对回报,价值函数等概念进行了更规范的形式化表述。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) 中采样得到。

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}

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})

Return

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

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

Gt=Rt+Rt+1++Rt+T=k=0T1Rt+kG_{t} = R_{t} + R_{t+1} + \cdots + R_{t+T}= \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} = 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] 是折扣因子。折扣因子既具有直观意义(" 现在的钱比未来的钱更值钱 "),又在数学上使得无限步长奖励和在合理条件下收敛,便于处理。

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}

其次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})

Formalism: Markov Decision Process

一个马尔可夫决策过程(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 (Markov property):即状态转移只依赖于最近的状态和动作,而与之前的历史无关。