| 第18行: |
第18行: |
| | | | |
| | (4)训练稳定性与收敛性问题:特别是在基于深度神经网络的模型中,训练过程可能不稳定,容易发生发散。策略或环境的微小变化可能导致性能的极大波动,使得难以获得一致的结果。在连续或高维动作空间的情况下,这种不稳定性更加明显,学习过程变得更复杂且难以预测。 | | (4)训练稳定性与收敛性问题:特别是在基于深度神经网络的模型中,训练过程可能不稳定,容易发生发散。策略或环境的微小变化可能导致性能的极大波动,使得难以获得一致的结果。在连续或高维动作空间的情况下,这种不稳定性更加明显,学习过程变得更复杂且难以预测。 |
| | + | |
| | | | |
| | ===Q-Learning 简介=== | | ===Q-Learning 简介=== |
| 第23行: |
第24行: |
| | | | |
| | 举例老鼠在迷宫中寻找奶酪来理解Q-Learning : | | 举例老鼠在迷宫中寻找奶酪来理解Q-Learning : |
| | + | |
| | | | |
| | (1)环境设定 | | (1)环境设定 |
| 第31行: |
第33行: |
| | *'''动作(Actions)''':老鼠可以选择向上、下、左、右移动。 | | *'''动作(Actions)''':老鼠可以选择向上、下、左、右移动。 |
| | *'''奖励(Rewards)''':吃到奶酪:+10;误入毒药:-10;其他移动:0 | | *'''奖励(Rewards)''':吃到奶酪:+10;误入毒药:-10;其他移动:0 |
| | + | |
| | | | |
| | (2)Q-Learning 学习过程 | | (2)Q-Learning 学习过程 |
| | | | |
| | 老鼠通过不断尝试不同的路径,学习如何从起点移动到奶酪所在的位置,同时避免毒药。每次移动后,老鼠根据获得的奖励更新其对当前状态下各个动作的价值估计(即 Q 值)。随着学习的进行,老鼠逐渐形成一套策略,使其能够更快、更安全地找到奶酪。 | | 老鼠通过不断尝试不同的路径,学习如何从起点移动到奶酪所在的位置,同时避免毒药。每次移动后,老鼠根据获得的奖励更新其对当前状态下各个动作的价值估计(即 Q 值)。随着学习的进行,老鼠逐渐形成一套策略,使其能够更快、更安全地找到奶酪。 |
| | + | |
| | | | |
| | (3)Q 值更新公式 | | (3)Q 值更新公式 |
| 第42行: |
第46行: |
| | | | |
| | 其中:<math>s_t</math>:当前状态;<math>a_t</math>:当前动作;<math>r_t</math>:即时奖励;<math>s_{t+1}</math>:执行动作后的新状态;<math>\alpha \in (0,1]</math>:学习率;<math>\gamma \in [0,1)</math>:折扣因子 | | 其中:<math>s_t</math>:当前状态;<math>a_t</math>:当前动作;<math>r_t</math>:即时奖励;<math>s_{t+1}</math>:执行动作后的新状态;<math>\alpha \in (0,1]</math>:学习率;<math>\gamma \in [0,1)</math>:折扣因子 |
| | + | |
| | | | |
| | (4)策略选择:ε-贪婪策略 | | (4)策略选择:ε-贪婪策略 |
| 第51行: |
第56行: |
| | | | |
| | 随着训练的进行,逐渐减小 ε 的值,以减少探索,增加利用。 | | 随着训练的进行,逐渐减小 ε 的值,以减少探索,增加利用。 |
| | + | |
| | | | |
| | (5)学习过程 | | (5)学习过程 |
| 第67行: |
第73行: |
| | | | |
| | 通过多次迭代,老鼠能够学习到从起点到奶酪的最优路径,同时避免毒药。该示例展示了 Q-Learning 如何通过与环境的交互,学习最优策略以最大化累积奖励。通过不断更新 Q 值,智能体能够在复杂的环境中找到最优路径。 | | 通过多次迭代,老鼠能够学习到从起点到奶酪的最优路径,同时避免毒药。该示例展示了 Q-Learning 如何通过与环境的交互,学习最优策略以最大化累积奖励。通过不断更新 Q 值,智能体能够在复杂的环境中找到最优路径。 |
| | + | |
| | + | |
| | ===深度学习与强化学习的融合背景=== | | ===深度学习与强化学习的融合背景=== |
| | | | |
| 第72行: |
第80行: |
| | | | |
| | 这一融合的代表性成果是 2015 年 DeepMind 提出的深度 Q 网络(DQN)<ref name="dqn" />,首次在无需人工特征设计的情况下,仅凭像素输入便在多款 Atari 游戏中实现了超越人类水平的表现。 | | 这一融合的代表性成果是 2015 年 DeepMind 提出的深度 Q 网络(DQN)<ref name="dqn" />,首次在无需人工特征设计的情况下,仅凭像素输入便在多款 Atari 游戏中实现了超越人类水平的表现。 |
| | + | |
| | | | |
| | ===DQN 的提出及其在 Atari 游戏中的突破性成果=== | | ===DQN 的提出及其在 Atari 游戏中的突破性成果=== |
| 第134行: |
第143行: |
| | **[https://baike.baidu.com/item/梯度下降?fromModule=lemma_search-box 梯度下降]: <math> ∇_{θ} 1/ {|B|} ∑(y_j-Q(ϕ_j,a_j;θ))^2 </math> ,B为batch数据 | | **[https://baike.baidu.com/item/梯度下降?fromModule=lemma_search-box 梯度下降]: <math> ∇_{θ} 1/ {|B|} ∑(y_j-Q(ϕ_j,a_j;θ))^2 </math> ,B为batch数据 |
| | *目标网络同步:每隔<math>C</math>步将主网络参数<math>θ</math>复制至目标网络<math>Q^{-}</math>,即<math>θ^{-}←θ</math>。 | | *目标网络同步:每隔<math>C</math>步将主网络参数<math>θ</math>复制至目标网络<math>Q^{-}</math>,即<math>θ^{-}←θ</math>。 |
| | + | |
| | | | |
| | ==Q-Learning 基础== | | ==Q-Learning 基础== |
| 第155行: |
第165行: |
| | | | |
| | 这一过程持续进行,智能体通过不断与环境交互,学习最优策略。 | | 这一过程持续进行,智能体通过不断与环境交互,学习最优策略。 |
| | + | |
| | | | |
| | ====策略与价值函数==== | | ====策略与价值函数==== |
| 第168行: |
第179行: |
| | | | |
| | 这些函数用于评估策略的优劣,指导策略的改进。 | | 这些函数用于评估策略的优劣,指导策略的改进。 |
| | + | |
| | | | |
| | ===Q 值函数的定义与更新公式=== | | ===Q 值函数的定义与更新公式=== |
| 第181行: |
第193行: |
| | | | |
| | 此公式基于贝尔曼方程的时序差分(TD)更新思想,逐步调整 <math>Q</math> 值函数以逼近最优策略。 | | 此公式基于贝尔曼方程的时序差分(TD)更新思想,逐步调整 <math>Q</math> 值函数以逼近最优策略。 |
| | + | |
| | | | |
| | ===ε-greedy 策略与探索-利用权衡=== | | ===ε-greedy 策略与探索-利用权衡=== |
| 第190行: |
第203行: |
| | | | |
| | 其中,ϵ 是一个介于 0 和 1 之间的参数,控制探索的频率。较大的 ϵ 值鼓励更多的探索,而较小的 ϵ 值则倾向于更多的利用。 | | 其中,ϵ 是一个介于 0 和 1 之间的参数,控制探索的频率。较大的 ϵ 值鼓励更多的探索,而较小的 ϵ 值则倾向于更多的利用。 |
| | + | |
| | | | |
| | 在实际应用中,通常会随着训练的进行逐步减小 ϵ 值,从而实现以下目标: | | 在实际应用中,通常会随着训练的进行逐步减小 ϵ 值,从而实现以下目标: |
| 第208行: |
第222行: |
| | <math> \| BQ_1 - BQ_2 \|_\infty \leq \gamma \| Q_1 - Q_2 \|_\infty </math> | | <math> \| BQ_1 - BQ_2 \|_\infty \leq \gamma \| Q_1 - Q_2 \|_\infty </math> |
| | 即B是以折扣因子γ为压缩率的压缩映射。 | | 即B是以折扣因子γ为压缩率的压缩映射。 |
| | + | |
| | | | |
| | (2)Banach 不动点定理保证唯一固定点 | | (2)Banach 不动点定理保证唯一固定点 |
| 第214行: |
第229行: |
| | <math> Q^* = B Q^* </math> | | <math> Q^* = B Q^* </math> |
| | 这就是最优状态-动作值函数。 | | 这就是最优状态-动作值函数。 |
| | + | |
| | | | |
| | (3)随机逼近框架中的收敛条件<ref>Even-Dar E, Mansour Y. Convergence of optimistic and incremental Q-learning[J]. Advances in neural information processing systems, 2001, 14.</ref> | | (3)随机逼近框架中的收敛条件<ref>Even-Dar E, Mansour Y. Convergence of optimistic and incremental Q-learning[J]. Advances in neural information processing systems, 2001, 14.</ref> |
| 第220行: |
第236行: |
| | <math> \sum_{t=0}^\infty \alpha_t(s,a) = \infty, \quad \sum_{t=0}^\infty \alpha_t(s,a)^2 < \infty </math> | | <math> \sum_{t=0}^\infty \alpha_t(s,a) = \infty, \quad \sum_{t=0}^\infty \alpha_t(s,a)^2 < \infty </math> |
| | 同时,算法需保证每个状态-动作对 (s,a) 被无限次访问。 | | 同时,算法需保证每个状态-动作对 (s,a) 被无限次访问。 |
| | + | |
| | | | |
| | 收敛的关键条件: | | 收敛的关键条件: |
| 第238行: |
第255行: |
| | | | |
| | 例如,在具有数百万状态和动作的环境中,传统的 Q 表方法可能无法有效处理。为了解决这个问题,通常采用函数逼近方法,如线性函数逼近或深度神经网络,以估计 Q 值,从而避免直接使用庞大的 Q 表。 | | 例如,在具有数百万状态和动作的环境中,传统的 Q 表方法可能无法有效处理。为了解决这个问题,通常采用函数逼近方法,如线性函数逼近或深度神经网络,以估计 Q 值,从而避免直接使用庞大的 Q 表。 |
| | + | |
| | | | |
| | (2)在状态和动作空间较大的环境中,Q-Learning 的学习过程可能非常缓慢,通常需要大量的训练回合才能收敛到最优策略。这种慢收敛性使得 Q-Learning 在需要快速学习的应用场景中可能不太适用。[https://www.appliedaicourse.com/blog/q-learning-in-machine-learning/?] | | (2)在状态和动作空间较大的环境中,Q-Learning 的学习过程可能非常缓慢,通常需要大量的训练回合才能收敛到最优策略。这种慢收敛性使得 Q-Learning 在需要快速学习的应用场景中可能不太适用。[https://www.appliedaicourse.com/blog/q-learning-in-machine-learning/?] |
| | + | |
| | | | |
| | (3)探索与利用的平衡问题:Q-Learning 依赖于探索(exploration)和利用(exploitation)之间的平衡。过度探索可能导致学习效率低下,而过度利用可能导致陷入局部最优解。例如,ε-greedy 策略通过引入随机性来平衡探索与利用,但选择合适的 ε 值仍然是一个挑战。 | | (3)探索与利用的平衡问题:Q-Learning 依赖于探索(exploration)和利用(exploitation)之间的平衡。过度探索可能导致学习效率低下,而过度利用可能导致陷入局部最优解。例如,ε-greedy 策略通过引入随机性来平衡探索与利用,但选择合适的 ε 值仍然是一个挑战。 |
| | + | |
| | | | |
| | (4)对超参数敏感:Q-Learning 的性能对学习率(α)、折扣因子(γ)和探索率(ε)等超参数非常敏感。选择不当的超参数可能导致学习过程不稳定或收敛到次优解。例如,过高的学习率可能导致 Q 值更新过快,导致震荡;而过低的学习率可能导致学习过程过慢。 | | (4)对超参数敏感:Q-Learning 的性能对学习率(α)、折扣因子(γ)和探索率(ε)等超参数非常敏感。选择不当的超参数可能导致学习过程不稳定或收敛到次优解。例如,过高的学习率可能导致 Q 值更新过快,导致震荡;而过低的学习率可能导致学习过程过慢。 |
| | + | |
| | | | |
| | (5)对函数逼近的稳定性问题:当使用函数逼近(如神经网络)来估计 Q 值时,Q-Learning 可能出现不稳定或发散的情况,尤其是在非线性函数逼近器的情况下。 | | (5)对函数逼近的稳定性问题:当使用函数逼近(如神经网络)来估计 Q 值时,Q-Learning 可能出现不稳定或发散的情况,尤其是在非线性函数逼近器的情况下。 |
| | | | |
| | 这种不稳定性主要源于估计目标值与当前 Q 值之间的相互依赖关系。为了解决这个问题,提出了 Double Q-Learning 等方法,通过使用两个独立的 Q 值估计器来减少过估计偏差,从而提高稳定性。[https://en.wikipedia.org/wiki/Q-learning?utm_source=chatgpt.com] | | 这种不稳定性主要源于估计目标值与当前 Q 值之间的相互依赖关系。为了解决这个问题,提出了 Double Q-Learning 等方法,通过使用两个独立的 Q 值估计器来减少过估计偏差,从而提高稳定性。[https://en.wikipedia.org/wiki/Q-learning?utm_source=chatgpt.com] |
| | + | |
| | | | |
| | ==DQN 的核心思想与结构== | | ==DQN 的核心思想与结构== |
| 第303行: |
第325行: |
| | 这种经验回放的技巧可以打破数据之间的关联性。 | | 这种经验回放的技巧可以打破数据之间的关联性。 |
| | [[文件:经验回放.jpg|缩略图|经验回收]] | | [[文件:经验回放.jpg|缩略图|经验回收]] |
| | + | |
| | + | |
| | 代码实现可参考: | | 代码实现可参考: |
| | <syntaxhighlight lang="python"> | | <syntaxhighlight lang="python"> |
| 第322行: |
第346行: |
| | ===目标网络(Target Network)的引入与参数更新策略=== | | ===目标网络(Target Network)的引入与参数更新策略=== |
| | 为了更长远的提高稳定性,使用一个独立的神经Q网络去得到target y,即建立另一个独立的神经网络target network。每经过c次更新后,复制 network Q得到target network Q’,然后使用Q’去生成target y应用与接下来的c次更新。好处就是比起online Q-learning算法更稳定。因为online Q-learning每次更新在增加<math> Q(s_{t+1},a) </math>的同时也增加了针对每个a的<math> Q(s_{t+1},a) </math>,从而增加了 target y,这又可能会引起策略的震荡甚至发散。所以目标网络(Target Network)的引入可以解决这一问题。 | | 为了更长远的提高稳定性,使用一个独立的神经Q网络去得到target y,即建立另一个独立的神经网络target network。每经过c次更新后,复制 network Q得到target network Q’,然后使用Q’去生成target y应用与接下来的c次更新。好处就是比起online Q-learning算法更稳定。因为online Q-learning每次更新在增加<math> Q(s_{t+1},a) </math>的同时也增加了针对每个a的<math> Q(s_{t+1},a) </math>,从而增加了 target y,这又可能会引起策略的震荡甚至发散。所以目标网络(Target Network)的引入可以解决这一问题。 |
| | + | |
| | | | |
| | 于是, | | 于是, |
| 第330行: |
第355行: |
| | | | |
| | 工程中,使用随机梯度下降方法来完成优化,另外当令 <math> θ_{i}^{−} = θ_{i−1} </math>时,退化为原始的 Q-Learning 更新形式。 | | 工程中,使用随机梯度下降方法来完成优化,另外当令 <math> θ_{i}^{−} = θ_{i−1} </math>时,退化为原始的 Q-Learning 更新形式。 |
| | + | |
| | | | |
| | DQN的训练与参数更新策略可部分参考以下代码实现: | | DQN的训练与参数更新策略可部分参考以下代码实现: |
| 第404行: |
第430行: |
| | ==DQN在pytorch中的简单完整实现== | | ==DQN在pytorch中的简单完整实现== |
| | 该代码基于深度Q网络(DQN)算法,是一个简单的使用DQN解决OpenAI Gym中的经典控制任务CartPole-v1的完整例子。任务目标是控制小车左右移动,使竖直杆子尽可能长时间保持直立。智能体通过4维状态(小车位置、速度、杆子角度及角速度)感知环境,输出离散动作(左移/右移),最终实现稳定平衡超过500步的满分表现。 | | 该代码基于深度Q网络(DQN)算法,是一个简单的使用DQN解决OpenAI Gym中的经典控制任务CartPole-v1的完整例子。任务目标是控制小车左右移动,使竖直杆子尽可能长时间保持直立。智能体通过4维状态(小车位置、速度、杆子角度及角速度)感知环境,输出离散动作(左移/右移),最终实现稳定平衡超过500步的满分表现。 |
| | + | |
| | + | |
| | 算法实现 | | 算法实现 |
| | Q值网络: | | Q值网络: |
| 第544行: |
第572行: |
| | | | |
| | <math> \max_{a} Q(s_t, a; \theta) </math>。当估计的 Q 值存在噪声时,直接选取最大 Q 值动作容易导致期望的过高估计,从而影响策略的稳定性和最终性能。为了减少 DQN 中的 Q 值过高估计,Double DQN 引入了两个 Q 网络:当前 Q 网络和目标 Q 网络<ref>Van Hasselt H, Guez A, Silver D. Deep reinforcement learning with double q-learning[C]//Proceedings of the AAAI conference on artificial intelligence. 2016, 30(1).</ref>。 | | <math> \max_{a} Q(s_t, a; \theta) </math>。当估计的 Q 值存在噪声时,直接选取最大 Q 值动作容易导致期望的过高估计,从而影响策略的稳定性和最终性能。为了减少 DQN 中的 Q 值过高估计,Double DQN 引入了两个 Q 网络:当前 Q 网络和目标 Q 网络<ref>Van Hasselt H, Guez A, Silver D. Deep reinforcement learning with double q-learning[C]//Proceedings of the AAAI conference on artificial intelligence. 2016, 30(1).</ref>。 |
| | + | |
| | | | |
| | 经典 DQN 的目标 Q 值计算公式为: | | 经典 DQN 的目标 Q 值计算公式为: |
| 第553行: |
第582行: |
| | <math> \gamma </math> 是折扣因子, | | <math> \gamma </math> 是折扣因子, |
| | <math> \max_{a} Q(s_{t+1}, a; \theta^-) </math> 是在时间步 <math> t+1 </math> 下,通过目标网络 <math> \theta^- </math> 计算的最大 Q 值,选择下一个状态 <math> s_{t+1} </math> 中的最佳动作。 | | <math> \max_{a} Q(s_{t+1}, a; \theta^-) </math> 是在时间步 <math> t+1 </math> 下,通过目标网络 <math> \theta^- </math> 计算的最大 Q 值,选择下一个状态 <math> s_{t+1} </math> 中的最佳动作。 |
| | + | |
| | | | |
| | Double DQN目标 Q 值计算公式改为: | | Double DQN目标 Q 值计算公式改为: |
| 第561行: |
第591行: |
| | | | |
| | 动作评估:评估这个动作的 Q 值时,使用的是目标网络 <math> \theta^- </math>,即评估选中的动作 <math> a^* </math> 对应的 Q 值:<math> Q(s_{t+1}, a^*; \theta^-) </math>,通过这种方式,Double DQN 通过分开动作选择和动作评估,避免了经典 DQN 中同一网络同时执行选择和评估的操作,从而减少了因选择最大 Q 值而导致的过高估计偏差。 | | 动作评估:评估这个动作的 Q 值时,使用的是目标网络 <math> \theta^- </math>,即评估选中的动作 <math> a^* </math> 对应的 Q 值:<math> Q(s_{t+1}, a^*; \theta^-) </math>,通过这种方式,Double DQN 通过分开动作选择和动作评估,避免了经典 DQN 中同一网络同时执行选择和评估的操作,从而减少了因选择最大 Q 值而导致的过高估计偏差。 |
| | + | |
| | + | |
| | ====Double DQN的优势==== | | ====Double DQN的优势==== |
| | | | |
| | 传统 DQN 在更新时,直接用目标网络估计的最大 Q 值作为目标,这种“最大化”操作容易从噪声中挑选出偏大值,导致整体偏高。Double DQN 则先用当前网络挑选动作,再用目标网络计算价值,避免了单一网络同时负责选动作和评估动作价值所带来的偏差。Double DQN 是一种简单有效的改进策略,通过“动作选择”和“动作评估”分开估计,显著缓解了 Q 值过高估计问题,提高了深度强化学习算法的稳定性和性能,已成为深度强化学习领域的重要方法之一。 | | 传统 DQN 在更新时,直接用目标网络估计的最大 Q 值作为目标,这种“最大化”操作容易从噪声中挑选出偏大值,导致整体偏高。Double DQN 则先用当前网络挑选动作,再用目标网络计算价值,避免了单一网络同时负责选动作和评估动作价值所带来的偏差。Double DQN 是一种简单有效的改进策略,通过“动作选择”和“动作评估”分开估计,显著缓解了 Q 值过高估计问题,提高了深度强化学习算法的稳定性和性能,已成为深度强化学习领域的重要方法之一。 |
| | + | |
| | | | |
| | ===Dueling DQN:分离状态价值与优势函数=== | | ===Dueling DQN:分离状态价值与优势函数=== |
| 第589行: |
第622行: |
| | Deep Recurrent Q-Network(DRQN)是对经典 DQN 的一种扩展,旨在解决部分可观察马尔可夫决策过程(POMDP)中的挑战<ref>Hausknecht M J, Stone P. Deep Recurrent Q-Learning for Partially Observable MDPs[C]//AAAI fall symposia. 2015, 45: 141.</ref>。在 POMDP 中,智能体无法获得完整的环境状态信息,传统的 DQN 依赖于完整的观察序列进行决策,可能导致性能下降。DRQN 通过引入递归神经网络(RNN),特别是长短期记忆(LSTM)网络,使智能体能够处理部分观察信息,保留历史信息,从而在部分可观察的环境中表现出更好的性能。DRQN 的核心思想是将传统 DQN 的全连接层替换为 LSTM 层,以便在每个时间步都能保留历史信息。具体而言,DRQN 的 Q 值计算公式为:<math> Q(s_t, a_t) = \text{LSTM}(h_{t-1}, [\phi(s_t), a_t]) </math> | | Deep Recurrent Q-Network(DRQN)是对经典 DQN 的一种扩展,旨在解决部分可观察马尔可夫决策过程(POMDP)中的挑战<ref>Hausknecht M J, Stone P. Deep Recurrent Q-Learning for Partially Observable MDPs[C]//AAAI fall symposia. 2015, 45: 141.</ref>。在 POMDP 中,智能体无法获得完整的环境状态信息,传统的 DQN 依赖于完整的观察序列进行决策,可能导致性能下降。DRQN 通过引入递归神经网络(RNN),特别是长短期记忆(LSTM)网络,使智能体能够处理部分观察信息,保留历史信息,从而在部分可观察的环境中表现出更好的性能。DRQN 的核心思想是将传统 DQN 的全连接层替换为 LSTM 层,以便在每个时间步都能保留历史信息。具体而言,DRQN 的 Q 值计算公式为:<math> Q(s_t, a_t) = \text{LSTM}(h_{t-1}, [\phi(s_t), a_t]) </math> |
| | 其中,<math> h_{t-1} </math> 是上一时间步的隐藏状态,<math> \phi(s_t) </math> 是当前状态的特征表示,<math> a_t </math> 是当前动作。通过这种方式,DRQN 能够在每个时间步都考虑到历史信息,从而更好地应对部分可观察的环境。 | | 其中,<math> h_{t-1} </math> 是上一时间步的隐藏状态,<math> \phi(s_t) </math> 是当前状态的特征表示,<math> a_t </math> 是当前动作。通过这种方式,DRQN 能够在每个时间步都考虑到历史信息,从而更好地应对部分可观察的环境。 |
| | + | |
| | | | |
| | DRQN 的网络结构通常包括以下几个部分: | | DRQN 的网络结构通常包括以下几个部分: |
| 第598行: |
第632行: |
| | (3)全连接层(Fully Connected Layer):用于输出每个动作的 Q 值。 | | (3)全连接层(Fully Connected Layer):用于输出每个动作的 Q 值。 |
| | 这种结构使得 DRQN 能够在每个时间步都考虑到历史信息,从而更好地应对部分[https://marl-ieee-nitk.github.io/deep-reinforcement-learning/2019/01/06/DRQN.html? 可观察的环境]。 | | 这种结构使得 DRQN 能够在每个时间步都考虑到历史信息,从而更好地应对部分[https://marl-ieee-nitk.github.io/deep-reinforcement-learning/2019/01/06/DRQN.html? 可观察的环境]。 |
| | + | |
| | | | |
| | ====DRQN的优势与局限==== | | ====DRQN的优势与局限==== |
| 第607行: |
第642行: |
| | | | |
| | (3)适应性强:DRQN 可以适应不同的环境和任务,具有较强的泛化能力。 | | (3)适应性强:DRQN 可以适应不同的环境和任务,具有较强的泛化能力。 |
| | + | |
| | | | |
| | 2.局限 | | 2.局限 |
| 第631行: |
第667行: |
| | 训练过程稳定性通过平均每局得分和预测Q值曲线得到验证,见图,[[文件:Q值训练.jpg|缩略图|预测Q值曲线,引自<ref name="dqn"></ref>|替代=|无]]<br>二者均随训练稳步上升,未出现传统Q学习的发散现象。奖励裁剪策略(正奖励+1,负奖励-1)则确保了不同游戏间学习率的一致性。 | | 训练过程稳定性通过平均每局得分和预测Q值曲线得到验证,见图,[[文件:Q值训练.jpg|缩略图|预测Q值曲线,引自<ref name="dqn"></ref>|替代=|无]]<br>二者均随训练稳步上升,未出现传统Q学习的发散现象。奖励裁剪策略(正奖励+1,负奖励-1)则确保了不同游戏间学习率的一致性。 |
| | | | |
| | + | |
| | + | |
| | '''泛化与表征能力''' | | '''泛化与表征能力''' |
| | | | |
| 第643行: |
第681行: |
| | 奖励等价但感知不同状态(如游戏末尾阶段的掩体场景)同样被聚类——这些状态因即时奖励潜力低被赋予相似价值(V值),证明网络超越了表层像素特征,学会了与决策相关的抽象特征。 | | 奖励等价但感知不同状态(如游戏末尾阶段的掩体场景)同样被聚类——这些状态因即时奖励潜力低被赋予相似价值(V值),证明网络超越了表层像素特征,学会了与决策相关的抽象特征。 |
| | 进一步实验表明,该表征可泛化至人类玩家产生的状态:将人类30分钟游戏数据输入DQN网络,其t-SNE嵌入与智能体自身2小时游戏数据的嵌入结构高度重叠,证明表征不受策略依赖性的限制。 | | 进一步实验表明,该表征可泛化至人类玩家产生的状态:将人类30分钟游戏数据输入DQN网络,其t-SNE嵌入与智能体自身2小时游戏数据的嵌入结构高度重叠,证明表征不受策略依赖性的限制。 |
| | + | |
| | | | |
| | '''价值函数的预测能力通过具体案例得到验证:''' | | '''价值函数的预测能力通过具体案例得到验证:''' |
| 第648行: |
第687行: |
| | *'''Pong'''中,若球体接近球拍时选择"向下"动作,Q值实时降至-0.9,准确反映丢失球体的风险。 | | *'''Pong'''中,若球体接近球拍时选择"向下"动作,Q值实时降至-0.9,准确反映丢失球体的风险。 |
| | 这些结果证明,DQN通过端到端训练构建的表征能同时支持感知泛化与长期价值推理。 | | 这些结果证明,DQN通过端到端训练构建的表征能同时支持感知泛化与长期价值推理。 |
| | + | |
| | | | |
| | ===机器人控制与路径规划=== | | ===机器人控制与路径规划=== |
| 第654行: |
第694行: |
| | * 输出动作:离散动作空间(如前进、左转、右转),适用于导航和避障任务。 | | * 输出动作:离散动作空间(如前进、左转、右转),适用于导航和避障任务。 |
| | [[文件:应用于机器人路径规划.jpg|基于DQN的机器人控制与路径规划算法示意图,引自<ref name="robot"></ref>|替代=|600x600像素]]<br> | | [[文件:应用于机器人路径规划.jpg|基于DQN的机器人控制与路径规划算法示意图,引自<ref name="robot"></ref>|替代=|600x600像素]]<br> |
| | + | |
| | + | |
| | '''典型应用案例''' | | '''典型应用案例''' |
| | | | |
| 第659行: |
第701行: |
| | Tai等人(2017)<ref>{{cite journal|last1=Tai|first1=Lei|last2=Paolo|first2=Giuseppe|last3=Liu|first3=Ming|title=Virtual-to-real deep reinforcement learning: Continuous control of mobile robots for mapless navigation|journal=IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)|year=2017|pages=31-36|doi=10.1109/IROS.2017.8202134|publisher=IEEE}}</ref>:使用深度图像作为输入,训练轮式机器人在走廊环境中实现无地图导航,输出连续转向指令。 | | Tai等人(2017)<ref>{{cite journal|last1=Tai|first1=Lei|last2=Paolo|first2=Giuseppe|last3=Liu|first3=Ming|title=Virtual-to-real deep reinforcement learning: Continuous control of mobile robots for mapless navigation|journal=IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)|year=2017|pages=31-36|doi=10.1109/IROS.2017.8202134|publisher=IEEE}}</ref>:使用深度图像作为输入,训练轮式机器人在走廊环境中实现无地图导航,输出连续转向指令。 |
| | | | |
| | + | |
| | | | |
| | Zhang等人(2020)<ref>{{cite journal| last1 = Wang| first1 = Y.| last2 = Sun| first2 = J.| last3 = He| first3 = H.| last4 = Sun| first4 = C.| title = Deterministic policy gradient with integral compensator for robust quadrotor control| journal = IEEE Transactions on Systems, Man, and Cybernetics: Systems| volume = 50| issue = 10| pages = 3713–3725| year = 2020| doi = 10.1109/TSMC.2020.3002218| publisher = IEEE}}</ref>:通过特征迁移策略,将仿真环境训练的DQN模型迁移至真实机器人,解决仿真到现实(Sim-to-Real)的泛化问题。 | | Zhang等人(2020)<ref>{{cite journal| last1 = Wang| first1 = Y.| last2 = Sun| first2 = J.| last3 = He| first3 = H.| last4 = Sun| first4 = C.| title = Deterministic policy gradient with integral compensator for robust quadrotor control| journal = IEEE Transactions on Systems, Man, and Cybernetics: Systems| volume = 50| issue = 10| pages = 3713–3725| year = 2020| doi = 10.1109/TSMC.2020.3002218| publisher = IEEE}}</ref>:通过特征迁移策略,将仿真环境训练的DQN模型迁移至真实机器人,解决仿真到现实(Sim-to-Real)的泛化问题。 |
| | | | |
| | + | |
| | | | |
| | Barron等人(2019)<ref> {{cite conference| last1 = Barron| first1 = T.| last2 = Whitehead| first2 = M.| last3 = Yeung| first3 = A.| title = Deep reinforcement learning in a 3-D blockworld environment| booktitle = Proceedings of the International Joint Conference on Artificial Intelligence (IJCAI)| pages = 1–6| year = 2016| publisher = IJCAI/AAAI Press}}</ref>:在3D虚拟环境中,采用RGB图像输入训练机器人,在复杂自然场景中实现优于深度输入的导航性能。 | | Barron等人(2019)<ref> {{cite conference| last1 = Barron| first1 = T.| last2 = Whitehead| first2 = M.| last3 = Yeung| first3 = A.| title = Deep reinforcement learning in a 3-D blockworld environment| booktitle = Proceedings of the International Joint Conference on Artificial Intelligence (IJCAI)| pages = 1–6| year = 2016| publisher = IJCAI/AAAI Press}}</ref>:在3D虚拟环境中,采用RGB图像输入训练机器人,在复杂自然场景中实现优于深度输入的导航性能。 |
| | | | |
| | + | |
| | + | |
| | *'''未知环境探索''': | | *'''未知环境探索''': |
| | Haora等人(2020)<ref> {{cite journal| last1 = Li| first1 = H.| last2 = Zhang| first2 = Q.| last3 = Zhao| first3 = D.| title = Deep reinforcement learning-based automatic exploration for navigation in unknown environment| journal = IEEE Transactions on Neural Networks and Learning Systems| volume = 31| issue = 6| pages = 2064–2076| year = 2020| doi = 10.1109/TNNLS.2019.2930059| publisher = IEEE}}</ref>:提出自适应全卷积Q网络(AFCQN),结合局部地图信息,显著降低未知环境中的导航失败率。 | | Haora等人(2020)<ref> {{cite journal| last1 = Li| first1 = H.| last2 = Zhang| first2 = Q.| last3 = Zhao| first3 = D.| title = Deep reinforcement learning-based automatic exploration for navigation in unknown environment| journal = IEEE Transactions on Neural Networks and Learning Systems| volume = 31| issue = 6| pages = 2064–2076| year = 2020| doi = 10.1109/TNNLS.2019.2930059| publisher = IEEE}}</ref>:提出自适应全卷积Q网络(AFCQN),结合局部地图信息,显著降低未知环境中的导航失败率。 |
| | | | |
| | + | |
| | + | |
| | *'''无人机控制''': | | *'''无人机控制''': |
| | Kang等人(2019)<ref>{{cite journal|last1=Kang|first1=Kyunghoon|last2=Belkhale|first2=Suneel|last3=Kahn|first3=Gregory|last4=Abbeel|first4=Pieter|last5=Levine|first5=Sergey|title=Generalization through simulation: Integrating simulated and real data into deep reinforcement learning for vision-based autonomous flight|journal=IEEE International Conference on Robotics and Automation (ICRA)|year=2019|pages=6008-6014|doi=10.1109/ICRA.2019.8793701|publisher=IEEE}}</ref>:仅用单目视觉输入,训练四旋翼无人机在真实环境中实现动态避障。 | | Kang等人(2019)<ref>{{cite journal|last1=Kang|first1=Kyunghoon|last2=Belkhale|first2=Suneel|last3=Kahn|first3=Gregory|last4=Abbeel|first4=Pieter|last5=Levine|first5=Sergey|title=Generalization through simulation: Integrating simulated and real data into deep reinforcement learning for vision-based autonomous flight|journal=IEEE International Conference on Robotics and Automation (ICRA)|year=2019|pages=6008-6014|doi=10.1109/ICRA.2019.8793701|publisher=IEEE}}</ref>:仅用单目视觉输入,训练四旋翼无人机在真实环境中实现动态避障。 |
| 第684行: |
第732行: |
| | }}</ref>提供了强化学习在推荐系统中的应用,具体思路流程见右图所示。 | | }}</ref>提供了强化学习在推荐系统中的应用,具体思路流程见右图所示。 |
| | [[文件:基于强化学习的推荐系统.jpg|缩略图|基于强化学习的推荐系统,引自<ref name="recommand"></ref>|替代=|无|500x500像素]]其中,深度Q网络(DQN)通过建模用户动态偏好和长期价值,解决了传统推荐系统面临的探索-利用困境和延迟奖励优化问题。其核心思想是将推荐视为序列决策过程:用户状态 <math>s_{t}</math>为历史交互特征,动作 <math>a_{t} </math>为待推荐物品,奖励 <math>r_{t} </math>为点击/转化等反馈。 | | [[文件:基于强化学习的推荐系统.jpg|缩略图|基于强化学习的推荐系统,引自<ref name="recommand"></ref>|替代=|无|500x500像素]]其中,深度Q网络(DQN)通过建模用户动态偏好和长期价值,解决了传统推荐系统面临的探索-利用困境和延迟奖励优化问题。其核心思想是将推荐视为序列决策过程:用户状态 <math>s_{t}</math>为历史交互特征,动作 <math>a_{t} </math>为待推荐物品,奖励 <math>r_{t} </math>为点击/转化等反馈。 |
| | + | |
| | | | |
| | '''问题建模与优势''' | | '''问题建模与优势''' |
| 第693行: |
第742行: |
| | | | |
| | 探索机制:ε-greedy策略主动推荐低曝光商品,缓解冷启动问题。 | | 探索机制:ε-greedy策略主动推荐低曝光商品,缓解冷启动问题。 |
| | + | |
| | | | |
| | '''技术实现架构''' | | '''技术实现架构''' |
| 第702行: |
第752行: |
| | 网络结构如右图所示。 | | 网络结构如右图所示。 |
| | [[文件:基于dqn的推荐系统算法.jpg|缩略图|基于dqn的推荐系统算法,引自<ref name="recommand"></ref>|替代=|无|500x500像素]]<br> | | [[文件:基于dqn的推荐系统算法.jpg|缩略图|基于dqn的推荐系统算法,引自<ref name="recommand"></ref>|替代=|无|500x500像素]]<br> |
| | + | |
| | + | |
| | | | |
| | ==DQN 的局限性与挑战== | | ==DQN 的局限性与挑战== |
| 第709行: |
第761行: |
| | | | |
| | 为了解决这个问题,研究者们提出了如深度确定性策略梯度(DDPG)<ref>Lillicrap, T. P., Hunt, J. J., Pritzel, A., Heess, N., Erez, T., Tassa, Y., ... & Wierstra, D. (2015). Continuous control with deep reinforcement learning. ''arXiv preprint arXiv:1509.02971''.</ref>、软行为者-评论家(SAC)等算法,这些算法使用连续的策略输出,并结合策略梯度方法来优化连续动作空间中的决策过程。然而,DQN 在处理连续动作空间时的适应性仍然是一个亟待解决的难题。 | | 为了解决这个问题,研究者们提出了如深度确定性策略梯度(DDPG)<ref>Lillicrap, T. P., Hunt, J. J., Pritzel, A., Heess, N., Erez, T., Tassa, Y., ... & Wierstra, D. (2015). Continuous control with deep reinforcement learning. ''arXiv preprint arXiv:1509.02971''.</ref>、软行为者-评论家(SAC)等算法,这些算法使用连续的策略输出,并结合策略梯度方法来优化连续动作空间中的决策过程。然而,DQN 在处理连续动作空间时的适应性仍然是一个亟待解决的难题。 |
| | + | |
| | | | |
| | ===训练过程中的样本效率问题=== | | ===训练过程中的样本效率问题=== |
| 第714行: |
第767行: |
| | | | |
| | 低样本效率使得 DQN 在需要快速反应或交互受限的环境中(如现实世界中的机器人控制)表现不理想。此外,训练数据的高需求增加了计算开销,并且可能导致算法在实际任务中的应用不够灵活。文章<ref>Hessel, M., Modayil, J., Van Hasselt, H., Schaul, T., Ostrovski, G., Dabney, W., ... & Silver, D. (2018, April). Rainbow: Combining improvements in deep reinforcement learning. In ''Proceedings of the AAAI conference on artificial intelligence'' (Vol. 32, No. 1).</ref>提出了Rainbow DQN,将多种 DQN 的改进技术融合,以提高 DQN 的稳定性和样本效率。 | | 低样本效率使得 DQN 在需要快速反应或交互受限的环境中(如现实世界中的机器人控制)表现不理想。此外,训练数据的高需求增加了计算开销,并且可能导致算法在实际任务中的应用不够灵活。文章<ref>Hessel, M., Modayil, J., Van Hasselt, H., Schaul, T., Ostrovski, G., Dabney, W., ... & Silver, D. (2018, April). Rainbow: Combining improvements in deep reinforcement learning. In ''Proceedings of the AAAI conference on artificial intelligence'' (Vol. 32, No. 1).</ref>提出了Rainbow DQN,将多种 DQN 的改进技术融合,以提高 DQN 的稳定性和样本效率。 |
| | + | |
| | | | |
| | ===策略收敛速度慢与稳定性问题=== | | ===策略收敛速度慢与稳定性问题=== |
| 第719行: |
第773行: |
| | | | |
| | 为了提高稳定性,DQN 引入了目标网络(Target Network)和经验回放机制。目标网络的引入使得 Q 值的更新目标在一定时间内保持不变,从而避免了目标网络的不断变化对训练过程的影响。文章<ref>Schulman, J., Wolski, F., Dhariwal, P., Radford, A., & Klimov, O. (2017). Proximal policy optimization algorithms. ''arXiv preprint arXiv:1707.06347''.</ref>介绍了 PPO 算法,解决了策略优化中稳定性差和收敛速度慢的问题。然而,尽管这些技术改善了稳定性,DQN 的收敛速度和训练过程的稳定性问题依然存在,特别是在复杂的环境中。 | | 为了提高稳定性,DQN 引入了目标网络(Target Network)和经验回放机制。目标网络的引入使得 Q 值的更新目标在一定时间内保持不变,从而避免了目标网络的不断变化对训练过程的影响。文章<ref>Schulman, J., Wolski, F., Dhariwal, P., Radford, A., & Klimov, O. (2017). Proximal policy optimization algorithms. ''arXiv preprint arXiv:1707.06347''.</ref>介绍了 PPO 算法,解决了策略优化中稳定性差和收敛速度慢的问题。然而,尽管这些技术改善了稳定性,DQN 的收敛速度和训练过程的稳定性问题依然存在,特别是在复杂的环境中。 |
| | + | |
| | | | |
| | ===泛化能力与过拟合风险=== | | ===泛化能力与过拟合风险=== |