基本概念和术语

强化学习 (Reinforcement Learning, RL) 是一种基于行为主义的机器学习方法,其本质是通过交互进行试错学习

RL使用一个由算法控制的智能体agent环境environment进行互动,互动过程包含下面这些概念:

  • state:状态$s_t$表示timestep $t$ 时的完整环境信息
  • observation:观测$o$表示状态$s$对agent可见的部分(大多数文献都将两者视为同一概念,并直接用$s$表示)
  • action:动作$a_t$是agent观察到状态$s_t$后采取的行动,所有可能的动作集合称为动作空间
  • policy:策略控制agent在状态$s_t$下如何选择动作$a_t$,策略可能是确定性的,即$a_t=\pi(s_t)$;或随机性的,即$a_t\sim \pi(a|s_t)$
  • reward:奖励$r{t+1}$是采取动作$a_t$后产生的反馈,可表示为$r{t+1}=R(at,s_t,s{t+1})$,这是RL进行学习的依据
  • trajectory:轨迹$\tau=(s_0,a_0,s_1,a_1\cdots)$表示agent与环境交互产生的路径
  • episode:可译为回合,表示agent与环境交互的一次完整过程

RL的交互就是如下图所示的循环过程:

观察到$s_1$ → 根据$\pi$采取行动$a_1$ → 观察到$s_2$和$r_2$ → 根据$\pi$采取行动$a_2$ → …

rl_illu

我们可以将这些术语带入pacman进行理解

如图所示,此时图中的一帧就是一个state,其中包含了pacman/ghost/豆子的位置、迷宫信息等等

动作空间为${\uparrow,\downarrow,\leftarrow,\rightarrow}$,reward有几种情况:吃到大豆子$r=100$,吃到小豆子$r=10$,碰到ghost $r=-999999$,其他$r=0$

rl_example_pacman

马尔可夫决策过程MDP

相关基础知识:马尔科夫链基础

RL常常被形式化为马尔可夫决策过程 (Markov Decision Process, MDP) ,即假设状态转移满足马尔可夫性

MDP由四元组$(S,A,P,R)$表示,其中$S$是状态空间,$A$是动作空间,$R(a,s,s’)$是奖励函数,$P$为状态转移转移概率,其满足马尔可夫性,即

MDP在每个timestep $t$观察到状态$s_t\in S$,并根据某个策略$\pi$选择一个动作$a_t\in A$

之后环境以$P(s{t+1}|s_t,a_t)$的概率转移到下一状态$s{t+1}\in S$,并产生奖励$r{t+1}=R(a_t,s_t,s{t+1})$

这个过程被反复进行下去

若RL的交互总是在进入某些终止状态时停止,则称为回合任务 (episodic tasks)

若RL的交互过程是无限持续的,则称为持续任务 (continuing tasks)

Value Function

强化学习的目标是寻找一个策略$\pi(a|s)$使得累计收益最大化

于是我们引入回报return的概念,其表示某时刻的未来累积折扣收益,记为

其中$0\leq\gamma\leq1$称为折扣率 (discount rate)

折扣率$\gamma$使得未来越远时刻的收益权重越小,以两个直观的例子理解,即立刻获得100元和将来获得100元显然应选择前者,或者立即获得100元和$T\to \infty$时获得100000000元也应选择前者

为了在互动过程中判断某个状态“有多好”或者选取某个动作“有多好”,我们引入两个价值函数 (value function)

State-Value Function:$V_{\pi}(s_t)=E[U_t|s_t]$

$V_{\pi}(s_t)$表示对于给定的策略$\pi$,从状态$s_t$开始可获得的期望renturn,也即衡量了处于状态$s$有多好

Action-Value Function: $Q_{\pi}(s_t,a_t)=E[U_t|s_t,a_t]$,也即所谓的Q函数

$Q_{\pi}(s_t,a_t)$表示对于给定的策略$\pi$,在状态$s_t$下选择动作$a_t$可获得的期望renturn,也即衡量了在状态$s$下选择动作$a$有多好

Bellman Equation

根据定义我们不难得出两个value function之间的关系

rl_vq_relation

通过两者之间的转换关系,我们可以将value function表示为递归形式

这两个等式称为贝尔曼期望方程 (Bellman Expectation Equation)

最优价值函数

我们将最优value function定义为

并定义策略$\pi$之间的偏序关系

在此基础上,定义最优策略$\pi^$为*使得value function最优的策略

显然在这个定义下最优策略可能有多个,但它们都有相同的最优value function

接下来的问题是如何找到最优策略,考虑下式

由于$\suma \pi(a|s)=1$,为了使等号成立,也即使$V{\pi}(s)$最优,显然最优策略应该直接选择使得$Q$值最大的动作$a$,即

于是我们可以得到

该式称为贝尔曼最优方程 (Bellman optimal equation),通过一些简单推到我们也能得到其递归形式

同理对于Q函数则有

对于model-based问题,若$V^*$已知,那么对于当前状态$s$,最优策略就是选择满足贝尔曼最优方程的动作

而对于model-free问题,若$Q^$已知,则最优策略就是选择使得$Q^$最大的动作$a$

强化学习分类

  • 转移概率是否已知

model-based:状态转移概率已知,此时算法可以对下一个state进行预测

model-free:状态转移概率未知,此时agent只能通过观测得知下一个state

两者名字中的model指的是对环境的建模

  • 更新方式

回合更新:指RL算法每个episode结束更新一次参数,例如蒙特卡罗方法

单步更新:指RL算法每个timestep更新一次参数,例如Time-Difference Learning (TD Learning)

  • 优化方式

value-based:学习得到$Q^(s_t,a_t)$,则为选择使得Q值最大的动作$a_t=\arg\max_a Q^(s_t,a)$

policy-based:直接学习策略$\pi$

action-critic:相当于value-based和policy-based的结合

  • 行为策略与目标策略的关系

行为策略 (behavior policy) :指控制agent与环境交互的策略,行为策略控制实际动作的产生,但不影响Q值的估计

目标策略 (target policy) :指正在学习的策略,也即作为算法结果的策略,目标策略用于Q值的估计,但不控制实际动作

on-policy:指行为策略和目标策略一致,可译为同策略在线策略

off-policy:指行为策略和目标策略不一致,可译为异策略离线策略

举个通俗的例子——off-policy:B用自己的玩法(行为策略)玩pacman,A观察B的操作结果改进自己的玩法(目标策略);on-policy:A用自己的玩法(行为策略)玩pacman,并根据结果改进自己的玩法(目标策略)

rl_taxonomy