“Deep Q Network”的版本间的差异

来自集智百科 - 复杂系统|人工智能|复杂科学|复杂网络|自组织
跳到导航 跳到搜索
第114行: 第114行:
 
====具体算法及其训练流程====
 
====具体算法及其训练流程====
 
[[文件:Algorithmdqn.jpg|缩略图|算法流程]]
 
[[文件:Algorithmdqn.jpg|缩略图|算法流程]]
 +
1. 初始化阶段
 +
回放记忆库(Replay Memory):创建容量为N的经验存储库D,用于缓存历史转移数据。
 +
动作-价值函数网络:
 +
主网络Q:随机初始化网络参数θ,负责实时动作选择和价值估计。
 +
目标网络Q<sup>−</sup>:初始参数θ<sup>−</sup>=θ,用于稳定化计算目标Q值。
 +
超参数设定:设置训练总回合数M、单回合最大步数T、目标网络同步频率C、折扣因子γ、探索率ϵ等。
 +
 +
2. 回合(Episode)循环
 +
对每个回合episode=1,2,...,M执行:
 +
状态预处理:初始化环境观测x<sub>1</sub>,通过预处理函数ϕ生成初始状态表征ϕ<sub>1</sub>=ϕ(s<sub>1</sub>)。
 +
 +
3. 时间步(Timestep)循环
 +
对每个时间步t=1,2,...,T执行:
 +
(1)动作选择:
 +
探索策略:以概率ϵ随机选择动作a<sub>t</sub>,促进环境探索。
 +
利用策略:否则,根据主网络选择最优动作:a<sub>t</sub>=arg max<sub>a</sub> Q(ϕ(s<sub>t</sub>),a;θ)
 +
(2)执行与环境交互​​:
 +
执行动作a<sub>t</sub>,获取奖励r<sub>t</sub>和下一帧图像x <sub>t+1</sub>。
 +
预处理下一状态ϕ<sub>t+1</sub>=ϕ(s<sub>t+1</sub>)。
 +
(3)​​存储转移数据​​:
 +
将转移元组(ϕ<sub>t</sub>,a<sub>t</sub>,r<sub>t</sub>,ϕ<sub>t+1</sub>)存入回放记忆库D。
 +
(4)经验回放与网络更新​​:
 +
随机采样​​:从D中均匀抽取小批量转移(ϕ<sub>j</sub>,a<sub>j</sub>,r<sub>j</sub>,ϕ<sub>j+1</sub>)。
 +
目标Q值计算​​:
 +
梯度下降​​:
 +
(5)目标网络同步​​:
 +
每隔C步将主网络参数θ复制至目标网络Q<sup>-</sup>即θ<sup>-</sup>←θ。
  
 
==Q-Learning 基础==
 
==Q-Learning 基础==

2025年5月11日 (日) 11:36的版本

深度Q网络(Deep Q-Network, DQN)是一种基于深度学习的强化学习算法,它通过深度神经网络来近似最优动作价值函数(Q函数),能够直接从高维感知输入(如游戏画面像素)中学习最优决策策略。该算法的核心创新在于结合了经验回放机制和目标网络技术,有效解决了传统Q学习在非线性函数逼近中的稳定性问题,首次在Atari游戏上实现了从原始像素输入到控制指令的端到端学习,达到了人类水平的游戏表现。

背景

强化学习的基本概念与挑战

基本概念

强化学习(Reinforcement Learning, RL)是一种机器学习方法,强调智能体(agent)通过与环境的交互,在试错过程中学习策略,以最大化累积奖励。其核心在于解决“探索-利用”之间的权衡:既要尝试新的动作以发现潜在的高奖励策略(探索),又要利用已知的最优策略以获得即时收益(利用) 。

面临的挑战

尽管强化学习在游戏AI、机器人控制、推荐系统等领域取得了显著成果,但在实际应用中仍面临诸多挑战:

(1)样本效率低:强化学习通常需要大量的交互数据才能学习有效策略,这在数据获取成本高或交互受限的场景中尤为困难。

(2)泛化能力弱:在特定环境中训练出的策略,往往难以适应稍有变化的新环境,缺乏迁移学习能力。

(3)奖励设计困难:设计合适的奖励函数至关重要,不当的奖励设计可能导致智能体学习到与预期不符的行为。

(4)训练稳定性与收敛性问题:特别是在基于深度神经网络的模型中,训练过程可能不稳定,容易发生发散。策略或环境的微小变化可能导致性能的极大波动,使得难以获得一致的结果。在连续或高维动作空间的情况下,这种不稳定性更加明显,学习过程变得更复杂且难以预测。

Q-Learning 简介

Q-Learning 是强化学习中一种经典且广泛应用的无模型(model-free)算法,属于基于值(value-based)的方法。其核心目标是通过学习一个动作价值函数(Q函数),指导智能体在不同状态下选择最优动作,以最大化长期累积奖励。

举例老鼠在迷宫中寻找奶酪来理解Q-Learning :

(1)环境设定

  • 智能体(Agent):一只老鼠,起始位置固定。
  • 目标(Goal):在迷宫的右下角有一块奶酪,老鼠的任务是找到并吃到奶酪。
  • 障碍(Obstacle):迷宫中某些位置有毒药,老鼠需要避免这些位置。
  • 动作(Actions):老鼠可以选择向上、下、左、右移动。
  • 奖励(Rewards):
    • 吃到奶酪:+10
    • 误入毒药:-10
    • 其他移动:0

(2)Q-Learning 学习过程

老鼠通过不断尝试不同的路径,学习如何从起点移动到奶酪所在的位置,同时避免毒药。每次移动后,老鼠根据获得的奖励更新其对当前状态下各个动作的价值估计(即 Q 值)。随着学习的进行,老鼠逐渐形成一套策略,使其能够更快、更安全地找到奶酪。

(3)Q 值更新公式

Q-Learning 的核心在于通过以下公式更新 Q 值:

Q值更新公式.png

𝑠𝑡:当前状态

𝑎𝑡:当前动作

𝑟𝑡:执行动作后获得的奖励

𝑠𝑡+1:执行动作后的新状态

𝛼:学习率(0 < 𝛼 ≤ 1)

𝛾:折扣因子(0 ≤ 𝛾 < 1)

(4)策略选择:ε-贪婪策略

为了在探索新路径和利用已知最佳路径之间取得平衡,采用 ε-贪婪策略:

  • 以概率 ε 随机选择一个动作(探索)
  • 以概率 1 - ε 选择当前 Q 值最大的动作(利用)

随着训练的进行,逐渐减小 ε 的值,以减少探索,增加利用。

(5)学习过程

以下是老鼠在迷宫中学习的简要过程:

a.初始化:将所有状态-动作对的 Q 值初始化为 0。

b.选择动作:根据 ε-贪婪策略选择一个动作。

c.执行动作:老鼠移动到新的位置,获得相应的奖励。

d.更新 Q 值:根据 Q 值更新公式,更新当前状态下该动作的 Q 值。

e.重复:将新位置作为当前状态,重复步骤 2 至 4,直到达到终止条件(如找到奶酪或达到最大步数)。

通过多次迭代,老鼠能够学习到从起点到奶酪的最优路径,同时避免毒药。

该示例展示了 Q-Learning 如何通过与环境的交互,学习最优策略以最大化累积奖励。通过不断更新 Q 值,智能体能够在复杂的环境中找到最优路径。

深度学习与强化学习的融合背景

深度学习与强化学习的融合起源于两者互补的优势:强化学习擅长决策与策略优化,而深度学习擅长处理高维感知数据(如图像、语音、文本等)。传统强化学习方法在面对大规模状态空间(例如图像输入)时,因无法使用查表的方式存储 Q 值而表现不佳。为了解决这一瓶颈,研究者引入深度神经网络作为函数逼近器,用以估计状态-动作值函数(Q 值)或策略函数,从而大幅提升了强化学习在复杂环境中的泛化能力和实用性。

这一融合的代表性成果是 2015 年 DeepMind 提出的深度 Q 网络(DQN),首次在无需人工特征设计的情况下,仅凭像素输入便在多款 Atari 游戏中实现了超越人类水平的表现。

DQN 的提出及其在 Atari 游戏中的突破性成果

举例:Atari游戏之breakout

Deep Q-Network(DQN)是由DeepMind团队在2015年发表的论文[1]中提出的深度强化学习算法。该研究首次将深度神经网络与Q-learning结合,直接从高维感官输入(如Atari游戏的像素)学习控制策略,而无需手工设计特征。DQN在Atari 2600游戏上的表现达到或超越人类水平,标志着深度强化学习在复杂任务中的重大突破。

DQN的核心创新包括使用深度卷积神经网络(CNN)处理原始像素输入,模仿生物视觉系统的层次化特征提取能力。此外,为了解决传统强化学习在非线性函数逼近下的不稳定性,DQN引入了经验回放(Experience Replay)机制,通过存储并随机采样历史经验来打破数据相关性,提高训练稳定性。同时,采用目标网络分离技术,定期冻结目标Q网络的参数,减少训练过程中的波动。

在实验中,DQN在49款Atari 2600游戏上进行测试,仅以游戏屏幕像素和分数作为输入,使用相同的网络架构和超参数。结果显示,DQN在43款游戏中超越了此前所有强化学习方法,并在29款游戏中达到人类专业测试员水平的75%以上。例如,在“Breakout”中,DQN自主发现“侧边挖隧道”的高分策略,最终得分远超人类玩家;在“Space Invaders”中,DQN学会忽略无关视觉特征,专注于关键状态价值预测。

DQN的成功不仅验证了端到端强化学习的可行性,还揭示了深度神经网络与生物学习机制的相似性,如经验回放与海马体记忆重放的类比。然而,DQN仍存在训练数据需求大、对超长程规划任务(如“Montezuma’s Revenge”表现有限等挑战。尽管如此,DQN为后续深度强化学习研究奠定了基础,推动了从游戏AI到机器人控制等领域的广泛应用。

提出的模型

模型示意图

该示意图展示了深度Q网络(DQN)的典型架构设计,直观呈现了从原始游戏画面到控制指令的端到端处理流程。系统采用多级特征提取架构,左侧输入层接收预处理后的游戏画面(84×84像素,4帧堆叠),通过两个卷积层(Convolution)进行空间特征提取,其中网格状结构表示卷积核在空间维度上的特征映射过程。随后经由两个全连接层(Fully connected)实现高级特征的抽象与组合,最终输出层与游戏手柄控制指令直接关联,作为根据学到的动作价值Q来选择动作。该架构设计充分体现了DQN直接从原始像素学习控制策略的核心思想,通过卷积神经网络的特征提取能力与强化学习的决策机制相结合,实现了从感知到行动的完整映射。

模型的细节

该研究在模型设计上体现了显著的普适性特征,采用单一网络架构处理所有Atari游戏任务,仅需输入原始像素、动作空间和生命值等基本先验知识。在算法实现方面,创新性地引入了经验回放机制(experience replay),通过循环缓冲区存储历史转移样本(s_t, a_t, r_t, s_{t+1}),并采用均匀随机采样方式抽取小批量(minibatch size=32)进行训练。这种设计有效打破了数据间的时间相关性,显著提高了样本利用率和训练稳定性。

在奖励函数设计方面,研究者采用了归一化处理策略,将正向奖励设为+1,负向奖励设为-1,其余情况为0,这种标准化方法有效控制了误差范围并实现了跨游戏的统一训练速度。经验回放机制与奖励归一化的协同作用,使得算法能够在不同游戏间保持一致的性能表现。

针对大规模训练数据的高冗余特性,研究采用了RMSProp优化算法,其核心机制是通过将梯度除以其近期幅度的滑动平均值来调整学习率。训练过程中引入衰减系数ϵ,采用ϵ-greedy策略进行探索-利用权衡:在前1百万训练步中,ϵ值从1线性衰减至0.1,之后保持恒定。这种动态调整策略与经验回放机制相结合,有效避免了过早收敛问题,特别适合处理非平稳目标函数。值得注意的是,经验回放缓冲区的容量设置为1,000,000个样本,并在训练前预填充50,000帧数据以确保初始采样质量。

为提高计算效率,研究者对所有游戏采用了跳帧技术(每4帧处理1帧),在保证性能无明显下降的前提下显著提升了训练速度。这种时间抽象方法与经验回放机制协同工作,使得样本复杂度相比在线策略降低了约10倍。实验结果表明,移除经验回放会导致性能下降58.7%,充分验证了该机制的必要性。这些创新设计共同构成了DQN算法的核心框架,为后续深度强化学习研究奠定了重要基础。

具体算法及其训练流程

算法流程

1. 初始化阶段 回放记忆库(Replay Memory):创建容量为N的经验存储库D,用于缓存历史转移数据。 动作-价值函数网络: 主网络Q:随机初始化网络参数θ,负责实时动作选择和价值估计。 目标网络Q−:初始参数θ−=θ,用于稳定化计算目标Q值。 超参数设定:设置训练总回合数M、单回合最大步数T、目标网络同步频率C、折扣因子γ、探索率ϵ等。

2. 回合(Episode)循环 对每个回合episode=1,2,...,M执行: 状态预处理:初始化环境观测x1,通过预处理函数ϕ生成初始状态表征ϕ1=ϕ(s1)。

3. 时间步(Timestep)循环 对每个时间步t=1,2,...,T执行: (1)动作选择: 探索策略:以概率ϵ随机选择动作at,促进环境探索。 利用策略:否则,根据主网络选择最优动作:at=arg maxa Q(ϕ(st),a;θ) (2)执行与环境交互​​: 执行动作at,获取奖励rt和下一帧图像x t+1。 预处理下一状态ϕt+1=ϕ(st+1)。 (3)​​存储转移数据​​: 将转移元组(ϕt,at,rt,ϕt+1)存入回放记忆库D。 (4)经验回放与网络更新​​: 随机采样​​:从D中均匀抽取小批量转移(ϕj,aj,rj,ϕj+1)。 目标Q值计算​​: 梯度下降​​: (5)目标网络同步​​: 每隔C步将主网络参数θ复制至目标网络Q-即θ-←θ。

Q-Learning 基础

马尔可夫决策过程(MDP)简介

马尔可夫决策过程(Markov Decision Process,简称 MDP)是强化学习的核心数学框架,用于建模智能体在不确定环境中通过试错学习最优策略的过程。它在马尔可夫过程的基础上引入了“动作”和“奖励”机制,广泛应用于人工智能、控制系统、经济学等领域。

MDP 的核心思想

在 MDP 中,智能体与环境的交互过程如下:

(1)智能体观察当前状态 st​。

(2)根据策略 π,选择一个动作 at​。

(3)环境根据状态转移概率 P,转移到下一个状态 st+1​,并给予智能体奖励 rt​。

(4)智能体根据获得的奖励和新的状态,更新策略 π,以期获得更高的累计奖励。

这一过程持续进行,智能体通过不断与环境交互,学习最优策略。

策略与价值函数

  • 策略 π(a∣s):在状态 s 下选择动作 a 的概率分布。
  • 状态值函数 Vπ(s):在策略 π 下,从状态 s 开始,期望获得的累计奖励。
  • 动作值函数 Qπ(s,a):在策略 π 下,从状态 s 开始,采取动作 a 后,期望获得的累计奖励。

这些函数用于评估策略的优劣,指导策略的改进。

Q 值函数的定义与更新公式

ε-greedy 策略与探索-利用权衡

Q-Learning 的收敛性

Q-Learning 的局限性

DQN 的核心思想与结构

使用神经网络逼近 Q 值函数

经验回放(Experience Replay)机制

目标网络(Target Network)的引入与参数更新策略

DQN 的训练流程与伪代码

4.DQN 的关键技术细节

输入状态的预处理与特征提取(如图像处理)

神经网络架构设计

损失函数的定义与优化方法

训练中的稳定性问题与解决方案

5.DQN 的主要改进算法

Double DQN:解决 Q 值过高估计问题

Dueling DQN:分离状态价值与优势函数

Prioritized Experience Replay:优先经验回放机制

DRQN

6.DQN 的应用领域

Atari 游戏中的应用与表现

机器人控制与路径规划

推荐系统中的策略优化

DQN 的局限性与挑战

对连续动作空间的处理困难

训练过程中的样本效率问题

策略收敛速度慢与稳定性问题

泛化能力与过拟合风险

8.参考文献与延伸阅读

  1. ↑ Mnih, V.; Kavukcuoglu, K. (2015). "Human-level control through deep reinforcement learning". Nature. 518 (7540): 529–533. doi:10.1038/nature14236. PMID 25719670.