这三种方法都属于强化学习中的Q学习系列算法,核心目标都是学习一个最优的动作价值函数(Q函数),但在处理状态表示和函数逼近方式上有显著区别,可以理解为一种逐步演进的关系:
-
Q学习 (Q-Learning)
-
核心思想: 基于贝尔曼最优方程,通过迭代更新一个表格(Q表)来学习每个离散状态(s)下每个可能动作(a)的期望累积奖励(Q值)。
-
Q函数表示: 表格(Q-Table)。想象一张巨大的电子表格,行是状态,列是动作,单元格里填的是Q值。
-
状态处理:
-
要求状态空间必须是离散的且维度较低。
-
每个状态需要被精确枚举。
-
-
优点: 概念简单,易于理解和实现。在状态-动作空间很小的情况下,收敛性有理论保证。
-
缺点: 最大的局限是维度灾难。当状态空间很大(甚至连续)或者动作空间很大时,表格变得极其庞大(甚至无限大),存储和查找都变得不可能,学习效率极低。
-
适用场景: 非常简单的环境,状态和动作都是有限的、可枚举的低维离散变量(如格子世界、简单的棋类游戏)。
-
-
深度Q学习 (Deep Q-Learning, DQN)
-
核心思想: 用深度神经网络(DNN) 作为函数逼近器来替代Q表,学习Q函数
Q(s, a; θ)(其中θ是神经网络的权重参数)。目标是解决Q学习在高维/连续状态空间下的维度灾难问题。 -
Q函数表示: 深度神经网络。输入是状态
s(通常是高维向量,如图像像素、传感器读数向量),输出是所有可能动作a对应的Q值(或输入s和a,输出单个Q值)。 -
状态处理:
-
可以处理高维状态(如图像、声音、复杂传感器数据)。
-
可以处理连续状态空间(状态变量是实数)。神经网络具有强大的特征提取和泛化能力,能从相似的状态中学习到相似的Q值。
-
-
关键技术(解决训练稳定性问题):
-
经验回放 (Experience Replay): 将智能体的经验
(s, a, r, s')存储在一个固定大小的记忆库中。训练时随机抽取小批量样本进行学习。打破了数据间的时间相关性,提高了数据效率,使学习过程更稳定。 -
目标网络 (Target Network): 使用一个结构相同但参数更新较慢的网络(目标网络参数
θ⁻)来计算贝尔曼更新中的目标Q值r + γ * maxₐ' Q(s', a'; θ⁻)。主网络θ负责选择动作和实时学习。定期(或软更新)将主网络参数复制到目标网络。这稳定了学习目标,减少了Q值振荡。
-
-
优点: 突破了Q学习的维度限制,能处理真实世界中的复杂感知输入(如视觉)。
-
缺点: 训练可能不稳定(需要经验回放和目标网络来缓解);网络结构选择对性能影响大;对超参数敏感;通常只能处理离散动作空间(输出层对应每个动作的Q值)。
-
适用场景: 状态空间复杂(高维/连续)但动作空间离散的问题(如Atari游戏、机器人导航(离散动作指令))。
-
-
深度卷积Q学习 (Deep Convolutional Q-Learning, DQN with CNN)
-
核心思想: 深度Q学习(DQN)的一个具体实现形式或变种。它特指当深度Q学习的输入状态
s是图像(或具有类似网格/空间结构的数据) 时,使用卷积神经网络(CNN) 作为Q函数逼近器的核心架构。 -
Q函数表示: 卷积神经网络(CNN) + 全连接层(FC)。CNN负责从原始像素中自动提取高层次的空间特征(如边缘、纹理、物体),FC层则基于这些特征来预测各个动作的Q值。
-
状态处理:
-
专门优化用于处理图像形式的状态输入。
-
CNN的局部连接、权重共享和空间不变性特性使其非常适合处理具有强空间相关性的像素数据,能高效地从原始像素中学习有用的视觉特征表示。
-
-
优点: 继承了DQN处理高维状态的能力,并特别擅长从原始像素中学习视觉特征,无需人工精心设计特征。是解决视觉感知类强化学习任务的基石。
-
缺点: 本质上具有DQN的所有缺点;CNN的设计和超参数调整对性能至关重要;计算量通常比使用非CNN结构的DQN更大。
-
适用场景: 输入状态主要是图像(或具有空间结构的数据)的强化学习问题。DeepMind在Atari游戏上的突破性工作就是使用DQN with CNN。也广泛应用于视觉导航、机器人视觉控制等。
-
总结区别:
| 特性 | Q学习 (Q-Learning) | 深度Q学习 (Deep Q-Learning, DQN) | 深度卷积Q学习 (DQN with CNN) |
|---|---|---|---|
| 核心表示 | Q表 (表格) | 深度神经网络 (DNN) | 卷积神经网络 (CNN) |
| 状态空间 | 低维离散 | 高维/连续 | 高维/连续 (图像为主) |
| 关键创新 | 贝尔曼更新,表格迭代 | 神经网络函数逼近,经验回放,目标网络 | 使用CNN处理图像输入 |
| 优点 | 简单,理论清晰 (小空间) | 突破维度灾难,处理复杂状态 | 高效处理图像状态,自动特征提取 |
| 缺点 | 维度灾难 (无法处理大状态) | 训练不稳定,超参敏感,离散动作 | 继承DQN缺点,计算量大,CNN设计重要 |
| 关系 | 基础算法 | 用DNN泛化Q学习 | DQN的一种具体架构 (用于图像输入) |
简单来说:
-
Q学习 是基础,用表格记分,只适合非常简单的世界。
-
深度Q学习 (DQN) 是升级版,用神经网络当“大脑”代替表格,能处理复杂世界(如游戏画面)。
-
深度卷积Q学习 是深度Q学习的“特化版”,当这个复杂世界的输入是图像时,它给神经网络装上专门处理图像的“眼睛”(CNN卷积层),让它能直接从像素中看懂世界。
选择哪种算法取决于你的环境状态是什么样的。如果状态像一张简单的菜单表,Q学习就够了;如果状态像实时视频流,深度卷积Q学习就是利器;如果状态是复杂的非图像数据(如一堆传感器读数),那么普通的深度Q学习(可能用全连接网络或其他结构)可能更合适。

8298

被折叠的 条评论
为什么被折叠?



