经典教材Reinforcement Learning: An Introduction 第二版由强化领域权威Richard S. Sutton 和 Andrew G. Barto 完成编写,内容深入浅出,非常适合初学者。在本篇中,引入Grid World示例,结合强化学习核心概念,并用python代码实现OpenAI Gym的模拟环境,进一步实现策略评价算法。

Grid World 问题

Finite MDP 模型
先来回顾一下强化学习的建模基础:有限马尔可夫决策过程(Finite Markov Decision Process, Finite MDP)。如下图,强化学习模型将世界抽象成两个实体,强化学习解决目标的主体Agent和其他外部环境。它们之间的交互过程遵从有限马尔可夫决策过程:若Agent在t时间步骤时处于状态 S t S_t St,采取动作 A t A_t At,然后环境根据自身机制,产生Reward R t + 1 R_{t+1} Rt+1 并将Agent状态变为 S t + 1 S_{t+1} St+1。

数学上dynamics可以如下表示
p ( s ′ , r ∣ s , a ) ≐ Pr { S t = s ′ , R t = r ∣ S t − 1 = s , A t − 1 = a } p\left(s^{\prime}, r \mid s, a\right) \doteq \operatorname{Pr}\left\{S_{t}=s^{\prime}, R_{t}=r \mid S_{t-1}=s, A_{t-1}=a\right\} p(s′,r∣s,a)≐Pr{
St=s′,Rt=r∣St−1=s,At−1=a}
即是四元组作为输入的概率函数 p : S × R × S × A → [ 0 , 1 ] p: S \times R \times S \times A \rightarrow [0, 1] p:S×R×S×A→[0,1]。
满足
∑ s ′ ∈ S ∑ r ∈ R p ( s ′ , r ∣ s , a ) = 1 , for all s ∈ S , a ∈ A ( s ) \sum_{s^{\prime} \in \mathcal{S}} \sum_{r \in \mathcal{R}} p\left(s^{\prime}, r \mid s, a\right)=1, \text { for all } s \in \mathcal{S}, a \in \mathcal{A}(s) s′∈S∑r∈R∑p(s′,r∣s,a)=1, for all s∈S,a∈A(s)
以Grid World为例,当Agent处于编号1的网格时,可以往四个方向走,往任意方向走都只产生一种 S, R,因为这个简单的游戏是确定性的,不存在某一动作导致stochastic状态。例如,在1号网格往左就到了终点网格(编号0),得到Reward -1这个规则可以如下表示
p ( s ′ = 0 , r = − 1 ∣ s = 1 , a = L ) = 1 p\left(s^{\prime}=0, r=-1 \mid s=1, a=\text{L}\right) = 1 p(s′=0,r=−1∣s=1,a=L)=1
因此,状态s=1的所有dynamics概率映射为
p ( s ′ = 0 , r = − 1 ∣ s = 1 , a = L ) = 1 p ( s ′ = 2 , r = − 1 ∣ s = 1 , a = R ) = 1 p ( s ′ = 1 , r = − 1 ∣ s = 1 , a = U ) = 1 p ( s ′ = 5 , r = − 1 ∣ s = 1 , a = D ) = 1 \begin{aligned} p\left(s^{\prime}=0, r=-1 \mid s=1, a=\text{L}\right) &=& 1 \\ p\left(s^{\prime}=2, r=-1 \mid s=1, a=\text{R}\right) &=& 1 \\ p\left(s^{\prime}=1, r=-1 \mid s=1, a=\text{U}\right) &=& 1 \\ p\left(s^{\prime}=5, r=-1 \mid s=1, a=\text{D}\right) &=& 1 \end{aligned} p(s′=0,r=−1∣s=1,a=L)p(s′=2,r=−1∣s=1,a=R)p(s′=1,r=−1∣s=1,a=U)p(s′=5,r=−1∣s=1,a=D)====1111
强化学习的目的
在给定了问题以及定义了强化学习的模型之后,强化学习的目的当然是通过学习让Agent能够学到最佳策略 π ∗ \pi_{*} π∗,也就是在某个状态下的行动分布,记成 π ( a ∣ s ) \pi(a|s) π(a∣s)。对应在数值上的优化目标是Agent在一系列过程中采取某种策略的reward总和的期望(Expected Return)。下面公式定义了t步往后的reward总和,其中 γ \gamma γ 为discount factor,用于权衡短期和长期reward对于当前Agent的效用影响。等式最后一步的意义是t步后的reward总和等价于t步所获的立即reward R t + 1 R_{t+1} Rt+1,加上t+1步后的reward总和 γ G t + 1 \gamma G_{t+1} γGt+1。
G t ≐ R t + 1 + γ R t + 2 + γ 2 R