知识点:马尔科夫决策过程,动态规划。


马尔科夫决策过程

马尔科夫过程: 一个具备马尔科夫性质的离散随机过程。

马尔科夫性: 下一时刻的状态只与当前状态有关。即$P[S_{t+1}|S_{1},…,S_{t}]=P[S_{t+1}|S_{t}]$

马尔科夫奖励函数: 把马尔科夫过程从 <S, P> 拓展到 <S, P, R, γ>。其中P 为状态转移矩阵,R 和 γ 分别表示奖励函数和奖励折扣因子。折扣因子越大,代表了智能体对长期性能指标考虑的程度越高(远视);折扣因子越小,代表了智能体对长期性能指标考虑的程度越低(近视)。

回报: 回报是一个轨迹的累积奖励,$G_{t} = R_{t+1} + \gamma R_{t+2} = \sum_{k=0}^{\infty } \gamma ^{k}R_{t+k+1}$

价值函数:状态s的期望回报,$V(s) = E[G_{t}|S_{t}=s]$。

马尔科夫决策过程: 马尔可夫奖励过程的立即奖励只取决于状态(奖励值在节点上),而马尔可夫决策过程的立即奖励与状态和动作都有关。即把马尔科夫过程从 <S, P, R, γ> 拓展到 <S, A, P, R, γ>。A是有限动作的集合。

动作价值函数: 依赖于状态和刚刚执行的动作,是基于状态和动作的期望回报。$Q(s,a) = E[G_{t}|S_{t}=s, A_{t}=a]$。易知$V(s)=E_{a}[Q(s,a)]$。

策略: 状态到行为的映射。

对于任何马尔科夫决策过程:

  • 总是存在一个最优策略$\pi^*$,比任何其他策略更好或至少相等。
  • 所有的最优策略有相同且最优的价值。
  • 所有的最优策略具有相同且最优的动作价值。

贝尔曼方程:用于计算给定策略 π 时价值函数在策略指引下所采轨迹上的期望。

图1
图2
图3
图4

最优价值函数:

即使是在相同的状态和动作集合上,不同的策略也将会带来不同的价值函数。定义最优价值函数为

$$v_*(s) = \max_{π} v_π(s), ∀s ∈ S$$

最优动作价值函数:

$$q_*(s,a) = \max_{\pi} q_π(s,a), ∀s ∈ S, a ∈ A$$

$$v*(s) = \max_{a\sim \mathbf{A}} q_*(s, a)$$

$$q_(s, a) = E[R_t + γv_(S_{t+1}) | S_t = s, A_t = a]$$

逆矩阵法求解贝尔曼方程

$$\mathbf{v} = \mathbf{r} + γP\mathbf{v} $$

其中 vr 矢量,P是状态转移概率矩阵。求解如下:

$$\mathbf{v} = (I − γP )^{-1}\mathbf{r}$$

复杂度为$O(n^{3})$,考虑其他方法进行求解,如动态规划、蒙特卡洛估计、时序差分法等。

动态规划

用动态规划算法在 能够获取MDP完整的环境信息(包括状态动作空间、转移矩阵、奖励等)的基础上 求解最优策略。

预测:给定一个MDP <𝒮, 𝒜, 𝒫, ℛ, 𝛾>和策略𝜋,输出基于当前策略𝜋的价值函数v。

控制:给定一个MDP <𝒮, 𝒜, 𝒫, ℛ, 𝛾>,输出最优价值函数𝑣∗以及最优策略𝜋∗

迭代策略评估: 预测问题,评估一个给定的策略$\pi$。

图5
图6

策略迭代

  • 策略评估,在当前策略𝜋上迭代地计算𝑣值
  • 策略更新,根据𝑣值贪婪地更新策略
  • 如此反复多次,最终得到最优策略𝜋∗和最优状态价值函数𝑣∗
    图7

价值迭代
图8

参考资料

中国科学院大学 林姝老师 强化学习课程课件

深度强化学习:基础、研究与应用 (董豪 等)

Reinforcement Learning An Introduction (Adaptive Computation and Machine Learning series) (Sutton, Richard S., Barto, Andrew G.)