Skip to content

Commit

Permalink
更新练习题解答
Browse files Browse the repository at this point in the history
  • Loading branch information
johnjim0816 committed Sep 11, 2023
1 parent c9e0694 commit ccbedf1
Show file tree
Hide file tree
Showing 3 changed files with 60 additions and 4 deletions.
61 changes: 59 additions & 2 deletions docs/appendix/main.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## 练习题解答

### 第 2 章练习题
### 第 2 章 练习题

1. 强化学习所解决的问题一定要严格满足马尔可夫性质吗?请举例说明。

Expand All @@ -12,4 +12,61 @@ $\qquad$ 答:马尔可夫决策 $<S,A,R,P,\gamma>$ 主要包含状态空间 $S

3. 马尔可夫决策过程与金融科学中的马尔可夫链有什么区别与联系?

$\qquad$ 答:马尔可夫链是一个随机过程,其下一个状态只依赖于当前状态而不受历史状态的影响,即满足马尔可夫性质。马尔可夫链由状态空间、初始状态分布和状态转移概率矩阵组成。马尔可夫决策过程是一种基于马尔可夫链的决策模型,它包含了状态、行动、转移概率、奖励、值函数和策略等要素。马尔可夫决策过程中的状态和状态转移概率满足马尔可夫性质,但区别在于它还包括了行动、奖励、值函数和策略等要素,用于描述在给定状态下代理如何选择行动以获得最大的长期奖励。
$\qquad$ 答:马尔可夫链是一个随机过程,其下一个状态只依赖于当前状态而不受历史状态的影响,即满足马尔可夫性质。马尔可夫链由状态空间、初始状态分布和状态转移概率矩阵组成。马尔可夫决策过程是一种基于马尔可夫链的决策模型,它包含了状态、行动、转移概率、奖励、值函数和策略等要素。马尔可夫决策过程中的状态和状态转移概率满足马尔可夫性质,但区别在于它还包括了行动、奖励、值函数和策略等要素,用于描述在给定状态下代理如何选择行动以获得最大的长期奖励。

### 第 3 章 练习题

1. 动态规划问题的主要性质有哪些?

$\qquad$ 答:动态规划主要性质包括最优化原理、无后效性和有重叠子问题,其中无后效性指的是某状态以后的过程不会影响以前的状态,这十分契合马尔可夫性质,因此动态规划问题可以看作是马尔可夫决策过程的一种特殊情况。

2. 状态价值函数和动作价值函数之间的关系是什么?

$\qquad$ 答:状态价值函数是所有可能动作的动作价值函数的平均值,也就是说,对于一个状态 $s$ ,其状态价值函数 $V(s)$ 等于所有可能动作 $a$ 的动作价值函数 $Q(s,a)$ 的平均值,即 $V(s) = 1/|A(s)| * ΣQ(s,a)$ ,其中 $|A(s)|$ 表示在状态 $s$ 下可用的动作数。

3. 策略迭代和价值迭代哪个算法速度会更快?

$\qquad$ 答:一般情况下,价值迭代算法的收敛速度比策略迭代算法更快。因为价值迭代算法在每次迭代中更新所有状态的价值函数,而策略迭代算法需要在每次迭代中更新策略和状态的价值函数,因此策略迭代算法的计算量比价值迭代算法更大。此外,策略迭代算法的每次迭代都需要进行一次策略评估和一次策略改进,而价值迭代算法只需要进行一次价值迭代,因此策略迭代算法的迭代次数通常比价值迭代算法多。

### 第 4 章 练习题

1. 有模型与免模型算法的区别?举一些相关的算法?

$\qquad$ 答:有模型算法在学习过程中使用环境模型,即环境的转移函数和奖励函数,来推断出最优策略。这种算法会先学习环境模型,然后使用模型来生成策略。因此,有模型算法需要对环境进行建模,需要先了解环境的转移函数和奖励函数,例如动态规划等算法。免模型算法不需要环境模型,而是直接通过试错来学习最优策略。这种算法会通过与环境的交互来学习策略,不需要先了解环境的转移函数和奖励函数。免模型算法可以直接从经验中学习,因此更加灵活,例如 $\text{Q-learning}$ 、$\text{Sarsa}$ 等算法。

2. 举例说明预测与控制的区别与联系。

$\qquad$ 答:区别:预测任务主要是关注如何预测当前状态或动作的价值或概率分布等信息,而不涉及选择动作的问题;控制任务则是在预测的基础上,通过选择合适的动作来最大化累计奖励,即学习一个最优的策略。联系:预测任务是控制任务的基础,因为在控制任务中需要对当前状态或动作进行预测才能选择最优的动作;控制任务中的策略通常是根据预测任务中获得的状态或动作价值函数来得到的,因此预测任务对于学习最优策略是至关重要的。以赌博机问题为例,预测任务是估计每个赌博机的期望奖励(即价值函数),控制任务是选择最优的赌博机来最大化累计奖励。在预测任务中,我们可以使用多种算法来估计每个赌博机的期望奖励,如蒙特卡罗方法、时间差分方法等。在控制任务中,我们可以使用贪心策略或ε-贪心策略来选择赌博机,这些策略通常是根据预测任务中得到的每个赌博机的价值函数来确定的。因此,预测任务对于控制任务的实现至关重要。


3. 蒙特卡洛方法和时序差分方法的优劣势。

$\qquad$ 答:蒙特卡洛方法优势:可以直接从经验中学习,不需要环境的转移概率;收敛性良好,可以保证在有限步内收敛到最优策略;可以处理长期回报,对于无折扣情况也可以使用。蒙特卡洛方法劣势:需要等到一条完整的轨迹结束才能更新价值函数,因此效率较低;对于连续状态空间和动作空间的问题,蒙特卡洛方法难以处理。时序差分优势:可以在交互的过程中逐步更新价值函数,效率较高;可以处理连续状态空间和动作空间的问题;可以结合函数逼近方法使用,对于高维状态空间的问题有很好的应用。时序差分劣势:更新过程中存在一定的方差,可能会影响收敛速度和稳定性;对于无折扣情况,需要采取一些特殊的方法来保证收敛。总的来说,蒙特卡洛方法对于离散状态空间的问题,特别是存在长期回报的问题有很好的适用性,但是其效率较低。时序差分方法则可以高效地处理连续状态空间和动作空间的问题,但是其更新过程中存在方差问题。在实际应用中需要根据问题的特点和实际情况选择合适的方法。

### 第 5 章 练习题

1. 什么是 $Q$ 值的过估计?有什么缓解的方法吗?

$\qquad$ 答:值的过估计($\text{overestimation of values}$)是指在强化学习中,由于采样数据的不充分或者算法本身的限制,导致学习到的状态或动作价值函数高估了它们的真实值。值的过估计会影响强化学习算法的性能和稳定性,因此需要采取相应的缓解措施。一些缓解值的过估计的方法有:双重 $Q$ 学习($\text{Double Q-learning}$):将一个Q函数的更新过程分为两步,分别用来更新行动值函数和目标值,从而避免了 $Q$ 函数的过估计;优先经验回放( $\text{Prioritized Experience Replay}$ ):在经验回放中,根据每条经验的 $\text{TD}$ 误差大小来选择回放的概率,使得 $\text{TD}$ 误差大的经验更有可能被回放,从而更好地修正价值函数;目标网络( $\text{Target Network}$ ):使用一个目标网络来计算目标值,目标网络的参数较稳定,不会随着每次更新而改变,从而减缓了价值函数的过估计问题;随机探索策略( $\text{Exploration Strategy}$ ):采用一些随机的探索策略,如 $\varepsilon-\text{greedy}$ 、高斯噪声等,可以使得智能体更多地探索未知的状态和动作,从而减少了价值函数的过估计问题。这些方法可以在不同的强化学习算法中使用,比如 $\text{DQN}$ 、$\text{DDQN}$ 、$\text{Dueling DQN}$ 等。选择合适的方法可以有效地缓解价值函数的过估计问题。

2. $\text{on-policy}$ 与 $\text{off-policy}$ 之间的区别是什么?

$\qquad$ 答:$\text{on-policy}$ 指的是学习一个策略时,使用同一策略来收集样本,并且利用这些样本来更新该策略。即学习的策略和探索的策略是相同的。$\text{off-policy}$ 指的是学习一个策略时,使用不同于目标策略的行为策略来收集样本,并且利用这些样本来更新目标策略。即学习的策略和探索的策略是不同的。在强化学习中,通常使用 $\text{Q-learning}$、$\text{SARSA}$ 等算法来实现 $\text{off-policy}$ 学习。而使用 $\text{policy gradient}$ 等算法来实现 $\text{on-policy}$ 学习。 $\text{on-policy}$ 学习的优点是可以较好地处理连续动作空间的问题,并且可以保证学习到的策略收敛到最优策略。但是其缺点是样本的利用效率较低,因为样本只能用于更新当前策略,不能用于更新其他策略。 $\text{off-policy}$ 学习的优点是样本的利用效率较高,因为可以使用不同的行为策略来收集样本,并且利用这些样本来更新目标策略。但是其缺点是可能会出现样本不一致的问题,即目标策略和行为策略不同,会导致学习的不稳定性。因此,在实际应用中需要根据具体问题的特点和实际情况选择合适的学习方式。

3. 为什么需要探索策略?

$\qquad$ 答:探索策略是强化学习中非常重要的一个概念,原因有:强化学习的目标是学习一个最优策略,但初始时我们并不知道最优策略,因此需要通过探索来发现更优的策略;在强化学习中,往往存在许多未知的状态和动作,如果智能体只采用已知的策略,那么它将无法探索到未知状态和动作,从而可能会错过更优的策略;探索策略可以帮助智能体避免陷入局部最优解,从而更有可能找到全局最优解。探索策略可以提高智能体的鲁棒性,使其对环境的变化更加适应。常用的探索策略包括 $\varepsilon-\text{greedy}$ 策略、$\text{softmax}$ 策略、高斯噪声等。

### 第 6 章 练习题

1. 逻辑回归与神经网络之间有什么联系?

$\qquad$ 答:相同点:逻辑回归和神经网络都属于监督学习算法,都可以用于分类问题。此外,神经网络的某些特殊形式也可以看作是逻辑回归的一种。区别:逻辑回归是一种线性分类器,它通过对特征进行加权求和并经过一个 $\text{sigmoid}$ 函数来得到样本属于某个类别的概率。而神经网络则是一种非线性分类器,它通过多个神经元的组合来实现对样本进行分类。适用范围:逻辑回归适用于特征空间较简单的分类问题,而神经网络适用于特征空间较复杂的分类问题。训练方式:逻辑回归的参数可以通过最大似然估计或梯度下降等方法进行训练,而神经网络的参数通常通过反向传播算法进行训练。模型复杂度:相对于逻辑回归,神经网络的模型复杂度更高,可以通过增加神经元的数量、层数等方式来提高模型的性能。

2. 全连接网络、卷积神经网络、循环神经网络分别适用于什么场景?

$\qquad$ 答:全连接网络是一种最基本的神经网络结构,每个神经元都与上一层的所有神经元相连。全连接网络适合于输入数据维度较低、数据量较小的场景,例如手写数字识别等。卷积神经网络是一种专门用于处理图像等二维数据的神经网络结构,其核心是卷积层和池化层。卷积神经网络适合于图像、语音等二维或多维数据的处理,可以有效地利用数据的局部特征,例如图像分类、目标检测等。循环神经网络是一种处理序列数据的神经网络结构,其核心是循环层,可以捕捉时序数据中的长期依赖关系。循环神经网络适合于序列数据的建模,例如自然语言处理、音乐生成等。需要注意的是,三种神经网络结构并不是相互独立的,它们可以灵活地组合使用,例如可以在卷积神经网络中嵌入循环神经网络来处理视频数据等。在实际应用中需要根据具体的问题特点和数据情况来选择合适的神经网络结构。

3. 循环神经网络在反向传播时会比全连接网络慢吗?为什么?

$\qquad$ 答:循环神经网络在反向传播时相比于全连接网络会更慢,原因主要有两点:循环依赖:循环神经网络存在时间上的依赖关系,即当前时刻的隐藏状态依赖于上一时刻的隐藏状态。这种循环依赖会导致反向传播时梯度的计算变得复杂,需要使用反向传播算法中的BPTT($\text{Backpropagation Through Time}$ )算法来进行计算,计算量较大,因此速度相对较慢;长期依赖:循环神经网络在处理长序列时,会出现梯度消失或梯度爆炸的问题,这是由于反向传播时梯度在时间上反复相乘或相加导致的。为了解决这个问题,需要采用一些技巧,如 $\text{LSTM}$ 和 $\text{GRU}$ 等。相比之下,全连接网络不存在循环依赖关系,因此反向传播时梯度的计算较为简单,计算量相对较小,速度相对较快。需要注意的是,循环神经网络在处理序列数据方面具有独特的优势,它可以处理变长的序列数据,可以捕捉到序列中的长期依赖关系,因此在序列建模等方面被广泛应用。
2 changes: 1 addition & 1 deletion docs/ch11/main.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ $\qquad$ 所以,$\text{DDPG}$ 算法并没有做真正意义上的梯度更新
</div>
<div align=center>图 $\text{11-2}$ $\text{DDPG}$ 网络结构</div>

$\qquad$ 这里相当于是把 $\text{DQN}$ 算法中 $\varepsilon-text{greedy}$ 策略函数部分换成了 $\text{Actor}$ 。注意 $\text{Actor}$ 网络 $\mu_\theta (s)$ 与输出概率分布的随机性策略( $\text{stochastic policy}$ )不同,输出的是一个值,因此也叫做确定性策略( $\text{deterministic policy}$ )。效仿策略梯度的推导,我们也可以推导出 $\text{DPG}$ 算法的目标函数,如式 $\text{(11.1)}$ 所示。
$\qquad$ 这里相当于是把 $\text{DQN}$ 算法中 $\varepsilon-\text{greedy}$ 策略函数部分换成了 $\text{Actor}$ 。注意 $\text{Actor}$ 网络 $\mu_\theta (s)$ 与输出概率分布的随机性策略( $\text{stochastic policy}$ )不同,输出的是一个值,因此也叫做确定性策略( $\text{deterministic policy}$ )。效仿策略梯度的推导,我们也可以推导出 $\text{DPG}$ 算法的目标函数,如式 $\text{(11.1)}$ 所示。

$$
\tag{11.1}
Expand Down
1 change: 0 additions & 1 deletion docs/ch2/main.md
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,6 @@ $\qquad$ 此外,在马尔可夫链(马尔可夫过程)的基础上增加

$\qquad$ 到这里我们就可以把马尔可夫决策过程描述成一个今天常用的写法,即用一个五元组 $<S,A,R,P,\gamma>$ 来表示。其中 $S$ 表示状态空间,即所有状态的集合,$A$ 表示动作空间,$R$ 表示奖励函数,$P$ 表示状态转移矩阵,$\gamma$ 表示折扣因子。想必读者此时已经明白这简简单单的五个字母符号,背后蕴涵了丰富的内容。


## 2.5 本章小结

$\qquad$ 本章主要介绍了马尔可夫决策过程的概念,它是强化学习的基本问题模型之一,因此读者需要牢牢掌握。此外拓展了一些重要的概念,包括马尔可夫性质、回报、状态转移矩阵、轨迹、回合等,这些概念在我们后面讲解强化学习算法的时候会频繁用到,务必牢记。
Expand Down

0 comments on commit ccbedf1

Please sign in to comment.