第一部分:基础知识
1.机器学习基础
2.蒙特卡洛估计
3.强化学习基础知识
- 基本术语:状态(state)、状态空间(state space)、动作(action)、动作空间(action space)、智能体(agent)、环境(environment)、策略 (policy)、奖励(reward)、状态转移(state transition)。
- 马尔可夫决策过程 (MDP) 通常指的是四元组 ( S , A , p , r ) (\mathcal{S}, \mathcal{A}, p, r) (S,A,p,r), 其中 S \mathcal{S} S 是状态空间, A \mathcal{A} A 是动作空间, p p p 是状态转移函数, r r r 是奖励函数。有时 MDP 指的是五元组 ( S , A , p , r , γ ) (\mathcal{S}, \mathcal{A}, p, r, \gamma) (S,A,p,r,γ),其中 γ \gamma γ 是折扣率。
- 强化学习中的随机性来自于状态和动作。状态的随机性来源于状态转移, 动作的随机性来源于策略。奖励依赖于状态和动作, 因此奖励也具有随机性。
- 回报(或折扣回报)是未来所有奖励的加和(或加权和)。回报取决于奖励,奖励取决于状态和动作, 因此回报的随机性来自于未来的状态和动作。强化学习的目标是最大化回报,而不是最大化奖励。
- 动作价值函数 Q π ( s , a ) Q_\pi(s, a) Qπ(s,a) 、最优动作价值函数 Q ⋆ ( s , a ) Q^{\star}(s, a) Q⋆(s,a) 、状态价值函数 V π ( s ) V_\pi(s) Vπ(s) 。
- 强化学习分为基于模型的方法、无模型方法两大类。其中无模型方法又分为价值学习、策略学习两类。本书第二部分、第三部分会详细讲解价值学习和策略学习; 第 18 章用 AlphaGo 的例子讲解基于模型的方法。
3.1 马尔科夫决策过程
马尔可夫决策过程(Markov decision process,MDP)
一个MDP 通常由状态空间、动作空间、状态转移函数、奖励函数、折扣因子等组成
智能体
强化学习中谁做动作谁就是智能体
环境
与智能体交互的对象
状态
在每个时刻,环境有一个状态(state),可以理解为对当前时刻环境的概括
状态空间
指所有可能存在状态的集合,记作花体字母 S \mathcal{S} S。状态空间可以是离散的,也可以是连续的。状态空间可以是有限集合,也可以是无限可数集合。在超级玛丽、星际争霸、无人驾驶这些例子中,状态空间是无限集合,存在无穷多种可能的状态。围棋、五子棋、中国象棋这些游戏中,状态空间是离散有限集合,可以枚举出所有可能存在的状态(也就是棋盘上的格局)。
动作
智能体基于当前状态所做出的决策
动作空间
指所有可能动作的集合,记作花体字母 A \mathcal{A} A。动作空间可以是离散集合或连续集合,可以是有限集合或无限集合。
奖励
是指在智能体执行一个动作之后,环境返回给智能体的一个数值。奖励是状态和动作的函数
,往往由我们自己来定义,奖励定义得好坏非常影响强化学习的结果
通常假设奖励是当前状态 s s s 、当前动作 a a a 、下一时刻状态 s ′ s^{\prime} s′ 的函数, 把奖励函数记作 r ( s , a , s ′ ) r\left(s, a, s^{\prime}\right) r(s,a,s′) 。有时假设奖励仅仅是 s s s 和 a a a 的函数, 记作 r ( s , a ) r(s, a) r(s,a) 。我们总是假设奖励函数是有界的, 即对于所有 a ∈ A a \in \mathcal{A} a∈A 和 s , s ′ ∈ S s, s^{\prime} \in \mathcal{S} s,s′∈S, 有 ∣ r ( s , a , s ′ ) ∣ < ∞ \left|r\left(s, a, s^{\prime}\right)\right|<\infty ∣r(s,a,s′)∣<∞ 。
此处隐含的假设是奖励函数是平稳的(stationary),即它不随着时刻t变化(不太理解)
状态转移
是指智能体从当前t时刻的状态 s s s转移到下一个时刻状态为 s ′ s^{\prime} s′的过程。
状态转移概率
- 状态转移可能是随机的,强化学习通常假设状态转移随机,随机性来源于环境。用状态转移概率函数描述状态转移: p ( s ′ ∣ s , a ) = P ( S ′ = s ′ ∣ S = s , A = a ) , p\left(s^{\prime} \mid s, a\right)=\mathbb{P}\left(S^{\prime}=s^{\prime} \mid S=s, A=a\right), p(s′∣s,a)=P(S′=s′∣S=s,A=a),
表示在当前状态 s s s, 智能体执行动作 a a a, 环境的状态变成 s ′ s^{\prime} s′的概率
大写字母表示随机变量,小写字母表示观测值 - 状态转移也可能是确定的,下一个状态 s ′ s^{\prime} s′完全由s和a决定
3.2 策略
策略定义
根据观测到的状态,如何做出决策,即如何从动作空间中选取一个动作。强化学习的目标就是得到一个策略函数,在每个时刻根据观测到的状态做出决策。
- 随机策略,记随机策略函数 π : ( s , a ) ↦ [ 0 , 1 ] \pi:(s, a) \mapsto[0,1] π:(s,a)↦[0,1]是一个概率密度函数 :
π ( a ∣ s ) = P ( A = a ∣ S = s ) . \pi(a \mid s)=\mathbb{P}(A=a \mid S=s) . π(a∣s)=P(A=a∣S=s).
策略函数的输入是状态s和动作a,输出是一个0到1之间的概率值。含义是给定状态s,做出动作a的概率
- 确定策略:输入状态s,直接输出相应的动作a
自己对强化学习的理解
智能体观测到状态 s s s,策略函数 π ( a ∣ s ) \pi(a|s) π(a∣s)计算在当前状态 s s s下动作空间 A \mathcal{A} A所有动作的概率,随机抽样得到动作 a a a。此时状态 s s s和动作 a a a都被确定下来,环境根据状态转移函数 p ( s ′ ∣ s , a ) p(s^\prime|s,a) p(s′∣s,a)计算所有可能状态的概率,随机抽样,得到新的状态 s ′ s' s′,并反馈给智能体一个奖励 r t r_t rt,奖励是状态 s s s和动作 a a a的函数,即 r t = r ( s t , a t ) r_t = r(s_t,a_t) rt=r(st,at)。
3.3 随机性的来源
随机性的两个来源
- 状态是随机的,依赖于状态转移函数
- 动作是随机的,依赖于策略函数
马尔科夫性质(无后效性)
假设状态转移具有马有马尔可夫性质, 即:
P ( S t + 1 ∣ S t , A t ) = P ( S t + 1 ∣ S 1 , A 1 , S 2 , A 2 , ⋯ , S t , A t ) . \mathbb{P}\left(S_{t+1} \mid S_t, A_t\right)=\mathbb{P}\left(S_{t+1} \mid S_1, A_1, S_2, A_2, \cdots, S_t, A_t\right) . P(St+1∣St,At)=P(St+1∣S1,A1,S2,A2,⋯,St,At).
公式的意思是下一时刻状态 S t + 1 S_{t+1} St+1 仅依赖于当前状态 S t S_t St 和动作 A t A_t At, 而不依赖于过去的状态和动作。
即在推导后面阶段的状态的时候,我们只关心前一个阶段的状态值,不关心这个状态是怎么一步一步推导出来的。
轨迹
指一回合(episode)游戏中,智能体观测到的所有的状态、动作、奖励。
3.4 回报与折扣汇报
回报
回报(return) 是从当前时刻开始到本回合结束的所有奖励的总和,所以回报也叫做累计奖励(cumulative future reward)
U t = R t + R t + 1 + R t + 2 + R t + 3 + ⋯ + R n U_t=R_t+R_{t+1}+R_{t+2}+R_{t+3}+\cdots+R_n Ut=Rt+Rt+1+Rt+2+Rt+3+⋯+Rn
强化学习的目标就是寻找一个策略,使得回报的期望最大化
折扣回报
在MDP中,通常使用折扣回报,给未来的奖励做折扣:
U t = R t + γ ⋅ R t + 1 + γ 2 ⋅ R t + 2 + γ 3 ⋅ R t + 3 + ⋯ U_t=R_t+\gamma \cdot R_{t+1}+\gamma^2 \cdot R_{t+2}+\gamma^3 \cdot R_{t+3}+\cdots Ut=Rt+γ⋅Rt+1+γ2⋅Rt+2+γ3⋅Rt+3+⋯其中, γ ∈ [ 0 , 1 ] \gamma∈[0,1] γ∈[0,1]叫做折扣率
回报中的随机性
t时刻的 U t U_t Ut依赖于 R t R_t Rt到 R n R_n Rn,奖励 R t R_t Rt依赖于状态 s t s_t st(小写是因为假设已经观测到了t时刻的状态)与动作 A t A_t At(大写是因为智能体还未根据策略做出动作),奖励 R t + 1 R_{t+1} Rt+1依赖于状态 S t + 1 S_{t+1} St+1(未知)与动作 A t + 1 A_{t+1} At+1(未知),以此类推,因此 U t U_t Ut的随机性来源于:
A t , S t + 1 , A t + 1 , S t + 2 , A t + 2 , ⋯ , S n , A n A_t,S_{t+1}, A_{t+1}, \quad S_{t+2}, A_{t+2}, \cdots, \quad S_n, A_n At,St+1,At+1,St+2,At+2,⋯,Sn,An
3.5 价值函数
动作-价值函数
-
定义
在t时刻,我们不知道 U t U_t Ut的值,而我们又想预判 U t U_t Ut的值从而知道局势的好坏。该怎么办呢?解决方案就是对 U t U_t Ut求期望,消除掉其中的随机性。
假设我们已经观测到状态 s t s_t st,而且做完决策,选中动作 a t a_t at。那么 U t U_t Ut中的随机性来自于 t + 1 t + 1 t+1时刻起的所有的状态和动作:
S t + 1 , A t + 1 , S t + 2 , A t + 2 , ⋯ , S n , A n S_{t+1}, A_{t+1}, \quad S_{t+2}, A_{t+2}, \cdots, \quad S_n, A_n St+1,At+1,St+2,At+2,⋯,Sn,An对 U t U_t Ut 关于变量 S t + 1 , A t + 1 , ⋯ , S n , A n S_{t+1}, A_{t+1}, \cdots, S_n, A_n St+1,At+1,⋯,Sn,An 求条件期望, 得到的就是动作-价值函数:
Q π ( s t , a t ) = E S t + 1 , A t + 1 , ⋯ , S n , A n [ U t ∣ S t = s t , A t = a t ] Q_\pi\left(s_t, a_t\right)=\mathbb{E}_{S_{t+1}, A_{t+1}, \cdots, S_n, A_n}\left[U_t \mid S_t=s_t, A_t=a_t\right] Qπ(st,at)=ESt+1,At+1,⋯,Sn,An[Ut∣St=st,At=at]
动作价值函数 Q π ( s t , a t ) Q_\pi\left(s_t, a_t\right) Qπ(st,at) 仅依赖于 s t s_t st 与 a t a_t at, 而不依赖于 t + 1 t+1 t+1 时刻及其之后的状态和动作,因为随机变量 S t + 1 , A t + 1 , ⋯ , S n , A n S_{t+1}, A_{t+1}, \cdots, S_n, A_n St+1,At+1,⋯,Sn,An 都被期望消除了。由于动作 A t + 1 , ⋯ , A n A_{t+1}, \cdots, A_n At+1,⋯,An 的概率质量函数都是 π \pi π, 公式中的期望依赖于 π \pi π; 用不同的 π \pi π, 求期望得出的结果就会不同。因此 Q π ( s t , a t ) Q_\pi\left(s_t, a_t\right) Qπ(st,at) 依赖于 π \pi π, 这就是为什么动作价值函数有下标 π 。 \pi_。 π。
因此,动作价值函数依赖于三个因素,当前状态 s t s_t st,当前动作 a t a_t at,策略函数 π \pi π -
直观含义:Q(s,a) 表示的是智能体在状态 s 下选择动作a 后,并一直按照策略 π 行动所能获得的总奖励(回报)的期望
-
具体过程:
1.起始:在状态s下选择动作 a。
2.转移:选择动作 a后,环境根据转移概率转移到新状态s’,并给予即时奖励 r1。
3.策略 π 执行:从状态 s’开始,智能体按照策略 π选择下一个动作 a’ .
4.重复:从状态s’开始,重复上述步骤(2和3),直到达到终止状态或无限循环。
最优动作-价值函数
最优动作价值函数:使用最大化消除了策略函数 π \pi π的影响,与当前状态 s t s_t st,当前动作 a t a_t at有关
状态-价值函数
状态价值函数:消除了 A t A_t At的影响,只与当前状态 s t s_t st和策略函数 π \pi π有关
总结:
- 动作价值函数:消除了 S t + 1 , A t + 1 , S t + 2 , A t + 2 , ⋯ , S n , A n S_{t+1}, A_{t+1}, \quad S_{t+2}, A_{t+2}, \cdots, \quad S_n, A_n St+1,At+1,St+2,At+2,⋯,Sn,An的影响,与当前状态 s t s_t st,当前动作 a t a_t