本文主要摘录翻译自 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 位于环境中,且与环境进行交互。在每一步交互中,
- agent 会观测当前环境状态(State)的(可能不完整的)部分信息,然后决定采取一个动作(Action)
- agent 的动作会改变环境,但环境也可能自行发生变化。同时,环境会给 agent 一个奖励(Reward),用来告诉它当前状态的好坏。
强化学习的目标在于,学习如何采取行动,以最大化其累计奖励,也称为回报(Return)。
States and Observations
- 状态(State) s:对环境状态的完整描述
- 观测(Observation) o:对环境状态的部分描述,可能会遗漏一些信息
Action Spaces
不同的环境允许不同种类的动作。给定环境中所有有效动作的集合通常称为动作空间(Action Space),表示为 A。动作空间可能是离散的(如围棋),也可能是连续的(如机器人控制)
Policies
策略(Policy)是 agent 用于决定动作的规则。它可以是确定性的(Deterministic Policy),如给定状态总是选择相同动作,表示为 at=μθ(st);或随机性的(Stochastic Policy),如根据概率分布采样。At∼πθ(⋅∣st)。具体地,随机性策略可表示为:
π(a∣s)=P(A=a∣S=s)
其中:
- A=a 表示动作随机变量 A 当前的观测值为 a。S=s 同理
- P(⋅) 表示概率分布
在深度强化学习中,策略通常通过神经网络参数化:
- 确定性策略:at=μθ(st)
- 随机性策略:At∼πθ(⋅∣st)
Trajectories
轨迹(Trajectory, a.k.a. episode or rollout)τ 是由环境中的状态和动作构成的序列:
τ=(S0,A0,S1,A1,…)
其中,初始状态 S0 从初始状态概率分布 ρ0(⋅) 中采样得到。
State Transitions
状态转移(State Transitions)描述环境如何从状态 st 转移到下一状态 st+1 的。可以是确定性的:
st+1=f(st,at)
也可以是随机性的:
St+1∼P(⋅∣st,at)
状态转移函数由环境决定,仅依赖于最近的动作 at
Summary: Two Sources of Randomness
总结当前系统中出现的两个随机性:
- 动作的随机性:A∼π(⋅∣s)
- 状态的随机性:St+1∼P(⋅∣st,at)
Reward and Return
Reward
即时奖励(Reward)Rt 为 agent 提供反馈,表明当前状态 st 或动作 at 的好坏。奖励函数(Reward Function)R 依赖于当前状态 st,动作 at 与下一状态 st+1,可表示为:
Rt=R(st,at,st+1)
但也可以简化为:
- 仅依赖当前状态:Rt=R(st)
- 依赖状态 - 动作对:Rt=R(st,at)
Return
强化学习的目标是最大化某种累计奖励,即:回报(Return)。回报可以表示成多种形式,如:
1. finite-horizon undiscounted return. 在固定步长 T 内获得奖励的总和:
Gt=Rt+Rt+1+⋯+Rt+T=k=0∑T−1Rt+k
2. infinite-horizon discounted return 从时间 t 开始所有折扣奖励和:
Gt=Rt+γRt+1+γ2Rt+2+⋯=k=0∑∞γkRt+k
其中,γ∈[0,1] 是折扣因子。折扣因子既具有直观意义(" 现在的钱比未来的钱更值钱 "),又在数学上使得无限步长奖励和在合理条件下收敛,便于处理。
Value Functions
Action-Value Function
On-Policy Action-Value Function 给出:在状态 st 下采取动作 at,之后始终按照策略 π 行动,所能获得的期望回报:
Qπ(st,at)=Eπ[Gt∣St=st,At=at]
该函数
- 依赖于当前状态 st、动作 at、策略 π 以及状态转移函数 P
- 与后续状态 St+1,… 和动作 At+1,… 独立
Optimal Action-Value Function 给出:在状态 st 下采取动作 at,之后始终按照环境中的最优策略行动,所能获得的期望回报:
Q∗(st,at)=πmaxQπ(st,at)
State-Value Function
On-Policy State-Value Function 给出:在状态 st 下,始终按照策略 π 行动,所能获得的期望回报:
Vπ(st)=Eπ[Gt∣St=st]
Optimal State-Value Function 给出:在状态 st 下,始终按照环境中的最优策略行动,所能获得的最大期望回报:
V∗(st)=πmaxVπ(st)
Connections Between Action-Value Function and State-Value Function
首先,Vπ(st) 可以视为当前时刻 t,所有可能动作的价值 Qπ(st,at) 的加权平均,权重由策略 π(at∣st) 决定。对于离散动作空间:
Vπ(st)=EAt∼π(⋅∣st)[Qπ(St,At)∣St=st]=at∈A∑π(at∣st)⋅Qπ(st,at)
其中,A 为所有有效动作的集合。而对于连续动作空间,则为:
Vπ(st)=EAt∼π(⋅∣st)[Qπ(St,At)∣St=st]=∫π(at∣st)⋅Qπ(st,at)dat
其次,V∗(st) 可看作是从状态 st 开始,通过选择最佳动作 at 所能实现的最大期望回报:
V∗(st)=atmaxQ∗(st,at)
换句话说,如果已知 Q∗,那么当前时刻最优动作可直接得到:
at∗(st)=argatmaxQ∗(st,at)
Advantage Functions
在强化学习中,有时我们不需要绝对地描述某个动作有多好,而只关心它相对于平均水平的优势,即该动作比按照策略随机选择的动作更好多少。为此,我们定义优势函数(Advantage Function):
Aπ(st,at)=Qπ(st,at)−Vπ(st)
一个马尔可夫决策过程(Markov Decision Process, MDP)是一个五元组 ⟨S,A,P,R,γ⟩,其中:
- S: 所有有效状态的集合
- A: 所有有效动作的集合
- P:S×A→P(S): 状态转移概率函数,其中 P(s′∣s,a) 表示从状态 s 出发、采取动作 a 后转移到状态 s′ 的概率
- R:S×A×S→R: 奖励函数,对应 Rt=R(st,at,st+1)
- γ∈[0,1]: 折扣因子
MDP 这一名称表明系统满足 Markov property (Markov property):即状态转移只依赖于最近的状态和动作,而与之前的历史无关。