Skip to content

Commit

Permalink
format
Browse files Browse the repository at this point in the history
  • Loading branch information
johnjim0816 committed Aug 13, 2023
1 parent 8fcc0b7 commit 1601353
Show file tree
Hide file tree
Showing 8 changed files with 67 additions and 50 deletions.
21 changes: 13 additions & 8 deletions docs/ch2/main.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
# 马尔可夫决策过程

$\qquad$ 在绪论中我们了解到强化学习是解决序列决策问题的有效方法,而序列决策问题的本质是在与环境交互的过程中学习到一个目标的过程。在本章中,我们将介绍强化学习中最基本的问题模型,即马尔可夫决策过程(Markov decision process,MDP),它能够以数学的形式来表达序列决策过程。注意,本章开始包括后面的章节会涉及理论公式推导,建议读者在阅读之前先回顾一下概率论相关知识,尤其是条件概率、全概率期望公式等等。
$\qquad$ 在绪论中我们了解到强化学习是解决序列决策问题的有效方法,而序列决策问题的本质是在与环境交互的过程中学习到一个目标的过程。在本章中,我们将介绍强化学习中最基本的问题模型,即马尔可夫决策过程($\text{Markov decision process,MDP}$),它能够以数学的形式来表达序列决策过程。注意,本章开始包括后面的章节会涉及理论公式推导,建议读者在阅读之前先回顾一下概率论相关知识,尤其是条件概率、全概率期望公式等等。

## 马尔可夫决策过程

$\qquad$ **马尔可夫决策过程**( $\text{Markov decision process,MDP}$)是强化学习的基本问题模型之一,它能够以数学的形式来描述智能体在与环境交互的过程中学到一个目标的过程。这里智能体充当的是作出决策或动作,并且在交互过程中学习的角色,环境指的是智能体与之交互的一切外在事物,不包括智能体本身。举个例子,比如我们要学习弹钢琴,在这个过程中充当决策者和学习者的我们人本身就是智能体,而我们的交互主体即钢琴就是环境。当我们执行动作也就是弹的时候会观测到一些信息,例如琴键的位置等,这就是状态。此外当我们弹下去的时候会收到钢琴发出的声音,也就是反馈,我们通过钢琴发出的声音来判断自己弹得好不好然后反思并纠正下一次弹的动作。当然如果这时候有一个钢琴教师在旁边指导我们,那样其实钢琴和教师就同时组成了环境,我们也可以交互过程中接收教师的反馈来提高自己的钢琴水平。
$\qquad$ **马尔可夫决策过程**是强化学习的基本问题模型之一,它能够以数学的形式来描述智能体在与环境交互的过程中学到一个目标的过程。这里智能体充当的是作出决策或动作,并且在交互过程中学习的角色,环境指的是智能体与之交互的一切外在事物,不包括智能体本身。

$\qquad$ 例如,我们要学习弹钢琴,在这个过程中充当决策者和学习者的我们人本身就是智能体,而我们的交互主体即钢琴就是环境。当我们执行动作也就是弹的时候会观测到一些信息,例如琴键的位置等,这就是状态。此外当我们弹下去的时候会收到钢琴发出的声音,也就是反馈,我们通过钢琴发出的声音来判断自己弹得好不好然后反思并纠正下一次弹的动作。当然如果这时候有一个钢琴教师在旁边指导我们,那样其实钢琴和教师就同时组成了环境,我们也可以交互过程中接收教师的反馈来提高自己的钢琴水平。

$\qquad$ 如图 $\text{2-1}$ 所示,它描述了马尔可夫决策过程中智能体与环境的交互过程。智能体每一时刻都会接收环境的状态,并执行动作,进而接收到环境反馈的奖励信号和下一时刻的状态。

Expand All @@ -13,13 +15,14 @@ $\qquad$ 如图 $\text{2-1}$ 所示,它描述了马尔可夫决策过程中智
</div>
<div align=center>图 $\text{2-1}$ 马尔可夫决策过程中智能体与环境的交互过程</div>

$\qquad$ 确切地说,智能体与环境之间是在一系列**离散的时步** <sup>①</sup>( $\text{time step}$ )交互的,一般用 $t$ 来表示,$t=0,1,2,\cdots$<sup>②</sup>。在每个时步 $t$, 智能体会观测或者接收到当前环境的状态 $s_t$,根据这个状态 $s_t$ 执行动作 $a_t$。执行完动作之后会收到一个奖励 $r_{t+1}$<sup>③</sup>,同时环境也会收到动作 $a_t$ 的影响会变成新的状态 $s_{t+1}$,并且在 $t+1$时步被智能体观测到。如此循环下去,我们就可以在这个交互过程中得到一串轨迹,可表示为:
$\qquad$ 确切地说,智能体与环境之间是在一系列**离散的时步** <sup>①</sup>( $\text{time step}$ )交互的,一般用 $t$ 来表示,$t=0,1,2,\cdots$<sup>②</sup>。在每个时步 $t$, 智能体会观测或者接收到当前环境的状态 $s_t$,根据这个状态 $s_t$ 执行动作 $a_t$。执行完动作之后会收到一个奖励 $r_{t+1}$ <sup>③</sup>,同时环境也会收到动作 $a_t$ 的影响会变成新的状态 $s_{t+1}$,并且在 $t+1$ 时步被智能体观测到。如此循环下去,我们就可以在这个交互过程中得到一串轨迹,可表示为:

$$
\tag{2.1}
s_0,a_0,r_1,s_1,a_1,r_2,\cdots,s_t,a_t,r_{t+1},\cdots
$$

其中奖励 $r_{t+1}$就相当于我们学习弹钢琴时收到的反馈,我们弹对了会收到老师的表扬,相当于一个正奖励,弹错了可能会接受老师的批评,相当于一个负奖励。前面讲到马尔可夫决策过程描述的是智能体在交互过程中学到一个目标的过程,而**这个目标通常是以最大化累积的奖励来呈现的**。换句话说,我们的目标是使得在交互过程中得到的奖励之和$r_1+r_2+\cdots+r_T$尽可能最大,其中$T$表示当前交互过程中的最后一个时步,也就是最大步数,从$t=0$$t+T$这一段时步我们称为一个回合(episode),比如游戏中的一局。
$\qquad$ 其中奖励 $r_{t+1}$就相当于我们学习弹钢琴时收到的反馈,我们弹对了会收到老师的表扬,相当于一个正奖励,弹错了可能会接受老师的批评,相当于一个负奖励。前面讲到马尔可夫决策过程描述的是智能体在交互过程中学到一个目标的过程,而 **这个目标通常是以最大化累积的奖励来呈现的** 。换句话说,我们的目标是使得在交互过程中得到的奖励之和$r_1+r_2+\cdots+r_T$尽可能最大,其中$T$表示当前交互过程中的最后一个时步,也就是最大步数,从 $t=0$$t+T$ 这一段时步我们称为一个回合( $\text{episode}$ ),比如游戏中的一局。

> ① 有些方法可以拓展到连续时间的情况,但为了方便,我们尽量只考虑离散时步的情况。
Expand All @@ -30,18 +33,20 @@ $$

## 马尔可夫性质

现在我们介绍马尔可夫决策过程的一个前提,即马尔可夫性质,用公式表示如下:
$\qquad$ 现在我们介绍马尔可夫决策过程的一个前提,即马尔可夫性质,如式 $\text{(2.2)}$ 所示

$$
\tag{2.1}
\tag{2.2}
P(s_{t+1}|s_t) = P(s_{t+1}|s_0, s_1,\cdots,s_t)
$$

这个公式的意思就是在给定历史状态$s_0, s_1,\cdots,s_t$的情况下,某个状态的未来只与当前状态$s_t$有关,与历史的状态无关。这个性质其实对于很多问题有着非常重要的指导意义的,因为这允许我们在没有考虑系统完整历史的情况下预测和控制其行为,随着我们对强化学习的深入会越来越明白这个性质的重要性。实际问题中,有很多例子其实是不符合马尔可夫性质的,比如我们所熟知的棋类游戏,因为在我们决策的过程中不仅需要考虑到当前棋子的位置和对手的情况,还需要考虑历史走子的位置例如吃子等。换句话说,它们不仅取决于当前状态,还依赖于历史状态。当然这也并不意味着完全不能用强化学习来解决,实际上此时我们可以用深度学习神经网络来表示当前的棋局,并用蒙特卡洛搜索树等技术来模拟玩家的策略和未来可能的状态,来构建一个新的决策模型,这就是著名的 AlphaGO 算法[<sup>1</sup>](#alphago)。具体的技术细节后面会展开,总之记住在具体的情境下,当我们要解决问题不能严格满足马尔可夫性质的条件时,是可以结合其他的方法来辅助强化学习进行决策的。
$\qquad$ 这个公式的意思就是在给定历史状态$s_0, s_1,\cdots,s_t$的情况下,某个状态的未来只与当前状态$s_t$有关,与历史的状态无关。这个性质其实对于很多问题有着非常重要的指导意义的,因为这允许我们在没有考虑系统完整历史的情况下预测和控制其行为,随着我们对强化学习的深入会越来越明白这个性质的重要性。实际问题中,有很多例子其实是不符合马尔可夫性质的,比如我们所熟知的棋类游戏,因为在我们决策的过程中不仅需要考虑到当前棋子的位置和对手的情况,还需要考虑历史走子的位置例如吃子等。

$\qquad$ 换句话说,它们不仅取决于当前状态,还依赖于历史状态。当然这也并不意味着完全不能用强化学习来解决,实际上此时我们可以用深度学习神经网络来表示当前的棋局,并用蒙特卡洛搜索树等技术来模拟玩家的策略和未来可能的状态,来构建一个新的决策模型,这就是著名的 AlphaGO 算法[<sup>1</sup>](#alphago)。具体的技术细节后面会展开,总之记住在具体的情境下,当我们要解决问题不能严格满足马尔可夫性质的条件时,是可以结合其他的方法来辅助强化学习进行决策的。

## 回报

前面讲到在马尔可夫决策过程中智能体的目标时最大化累积的奖励,通常我们把这个累积的奖励称为回报(Return),用 $G_t$ 表示,最简单的回报公式可以写成:
$\qquad$ 前面讲到在马尔可夫决策过程中智能体的目标时最大化累积的奖励,通常我们把这个累积的奖励称为回报(Return),用 $G_t$ 表示,最简单的回报公式可以写成式

$$
G_t = r_1 + r_2 + \cdots + r_T
Expand Down
4 changes: 2 additions & 2 deletions docs/ch3/main.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# 动态规划

前面我们讲到马尔可夫决策过程是强化学习中的基本问题模型之一,而解决马尔可夫决策过程的方法我们统称为强化学习算法。本章开始讲强化学习中最基础的算法之一,动态规划(Dynamic Programming, DP)。动态规划其实并不是强化学习领域中独有的算法,它在数学、管理科学、经济学和生物信息学等其他领域都有广泛的应用。动态规划具体指的是在某些复杂问题中,将问题转化为若干个子问题,并在求解每个子问题的过程中保存已经求解的结果,以便后续使用。实际上动态规划更像是一种通用的思路,而不是具体某个算法。在强化学习中,动态规划被用于求解值函数和最优策略。常见的动态规划算法包括值迭代(Value Iteration)、策略迭代(Policy Iteration)和 Q-learning 算法等。
$\qquad$ 前面我们讲到马尔可夫决策过程是强化学习中的基本问题模型之一,而解决马尔可夫决策过程的方法我们统称为强化学习算法。本章开始讲强化学习中最基础的算法之一,动态规划(Dynamic Programming, DP)。动态规划其实并不是强化学习领域中独有的算法,它在数学、管理科学、经济学和生物信息学等其他领域都有广泛的应用。动态规划具体指的是在某些复杂问题中,将问题转化为若干个子问题,并在求解每个子问题的过程中保存已经求解的结果,以便后续使用。实际上动态规划更像是一种通用的思路,而不是具体某个算法。在强化学习中,动态规划被用于求解值函数和最优策略。常见的动态规划算法包括值迭代(Value Iteration)、策略迭代(Policy Iteration)和 Q-learning 算法等。

## 动态规划的编程思想

动态规划其实是一个看起来好懂但实践起来很复杂的概念,为了帮助读者理解,这里会举一道经典的面试编程题<sup>①</sup>作为示例。
$\qquad$ 动态规划其实是一个看起来好懂但实践起来很复杂的概念,为了帮助读者理解,这里会举一道经典的面试编程题<sup>①</sup>作为示例。


<div align=center>
Expand Down
Loading

0 comments on commit 1601353

Please sign in to comment.