| 第75行: |
第75行: |
| | ===DQN 的提出及其在 Atari 游戏中的突破性成果=== | | ===DQN 的提出及其在 Atari 游戏中的突破性成果=== |
| | [[文件:Atari游戏之breakout.gif|缩略图|举例:Atari游戏之breakout,引自<ref name="dqn">{{cite journal|last=Mnih|first=V.|last2=Kavukcuoglu|first2=K.|title=Human-level control through deep reinforcement learning|journal=Nature|year=2015|volume=518|pages=529–533|issue=7540|doi=10.1038/nature14236|pmid=25719670}}</ref>]]Deep Q-Network(DQN)是由DeepMind团队在2015年发表的论文<ref name="dqn"></ref>中提出的深度强化学习算法。该研究首次将深度神经网络与Q-learning结合,直接从高维感官输入(如Atari游戏的像素)学习控制策略,而无需手工设计特征。DQN在Atari 2600游戏上的表现达到或超越人类水平,标志着深度强化学习在复杂任务中的重大突破。 | | [[文件:Atari游戏之breakout.gif|缩略图|举例:Atari游戏之breakout,引自<ref name="dqn">{{cite journal|last=Mnih|first=V.|last2=Kavukcuoglu|first2=K.|title=Human-level control through deep reinforcement learning|journal=Nature|year=2015|volume=518|pages=529–533|issue=7540|doi=10.1038/nature14236|pmid=25719670}}</ref>]]Deep Q-Network(DQN)是由DeepMind团队在2015年发表的论文<ref name="dqn"></ref>中提出的深度强化学习算法。该研究首次将深度神经网络与Q-learning结合,直接从高维感官输入(如Atari游戏的像素)学习控制策略,而无需手工设计特征。DQN在Atari 2600游戏上的表现达到或超越人类水平,标志着深度强化学习在复杂任务中的重大突破。 |
| | + | |
| | | | |
| | DQN的核心创新包括使用深度[https://baike.baidu.com/item/卷积神经网络/17541100 卷积神经网络(CNN)]处理原始像素输入,模仿生物视觉系统的层次化特征提取能力。此外,为了解决传统强化学习在非线性函数逼近下的不稳定性,DQN引入了'''经验回放(Experience Replay)'''机制,通过存储并随机采样历史经验来打破数据相关性,提高训练稳定性。同时,采用目标网络分离技术,定期冻结目标Q网络的参数,减少训练过程中的波动。 | | DQN的核心创新包括使用深度[https://baike.baidu.com/item/卷积神经网络/17541100 卷积神经网络(CNN)]处理原始像素输入,模仿生物视觉系统的层次化特征提取能力。此外,为了解决传统强化学习在非线性函数逼近下的不稳定性,DQN引入了'''经验回放(Experience Replay)'''机制,通过存储并随机采样历史经验来打破数据相关性,提高训练稳定性。同时,采用目标网络分离技术,定期冻结目标Q网络的参数,减少训练过程中的波动。 |
| | + | |
| | | | |
| | 在实验中,DQN在49款Atari 2600游戏上进行测试,仅以游戏屏幕像素和分数作为输入,使用相同的网络架构和超参数。结果显示,DQN在43款游戏中超越了此前所有强化学习方法,并在29款游戏中达到人类专业测试员水平的75%以上。例如,在“Breakout”中,DQN自主发现“侧边挖隧道”的高分策略,最终得分远超人类玩家;在“Space Invaders”中,DQN学会忽略无关视觉特征,专注于关键状态价值预测。 | | 在实验中,DQN在49款Atari 2600游戏上进行测试,仅以游戏屏幕像素和分数作为输入,使用相同的网络架构和超参数。结果显示,DQN在43款游戏中超越了此前所有强化学习方法,并在29款游戏中达到人类专业测试员水平的75%以上。例如,在“Breakout”中,DQN自主发现“侧边挖隧道”的高分策略,最终得分远超人类玩家;在“Space Invaders”中,DQN学会忽略无关视觉特征,专注于关键状态价值预测。 |
| | + | |
| | | | |
| | DQN的成功不仅验证了端到端强化学习的可行性,还揭示了深度神经网络与生物学习机制的相似性,如经验回放与海马体记忆重放的类比。然而,DQN仍存在训练数据需求大、对超长程规划任务(如“Montezuma’s Revenge”表现有限等挑战。尽管如此,DQN为后续深度强化学习研究奠定了基础,推动了从游戏AI到机器人控制等领域的广泛应用。 | | DQN的成功不仅验证了端到端强化学习的可行性,还揭示了深度神经网络与生物学习机制的相似性,如经验回放与海马体记忆重放的类比。然而,DQN仍存在训练数据需求大、对超长程规划任务(如“Montezuma’s Revenge”表现有限等挑战。尽管如此,DQN为后续深度强化学习研究奠定了基础,推动了从游戏AI到机器人控制等领域的广泛应用。 |
| 第99行: |
第102行: |
| | ====具体算法及其训练流程==== | | ====具体算法及其训练流程==== |
| | [[文件:Algorithmdqn.jpg|缩略图|算法流程,引自<ref name="dqn"></ref>|替代=|500x500像素]] | | [[文件:Algorithmdqn.jpg|缩略图|算法流程,引自<ref name="dqn"></ref>|替代=|500x500像素]] |
| − | [[文件:Dqn算法流程.jpg|缩略图|算法流程示意图,引自<ref name="dqn"></ref>|替代=|500x500像素]]1. 初始化阶段 | + | [[文件:Dqn算法流程.jpg|缩略图|算法流程示意图,引自<ref name="dqn"></ref>|替代=|500x500像素]] |
| | + | |
| | + | 1. 初始化阶段 |
| | *回放记忆库(Replay Memory):创建容量为<math>N</math>的经验存储库<math>D</math>,用于缓存历史转移数据。 | | *回放记忆库(Replay Memory):创建容量为<math>N</math>的经验存储库<math>D</math>,用于缓存历史转移数据。 |
| | *动作-价值函数网络: | | *动作-价值函数网络: |
| 第105行: |
第110行: |
| | **目标网络<math>Q^{-}</math>:初始参数<math>θ^{-}</math>,用于稳定化计算目标Q值。 | | **目标网络<math>Q^{-}</math>:初始参数<math>θ^{-}</math>,用于稳定化计算目标Q值。 |
| | **超参数设定:设置训练总回合数M、单回合最大步数T、目标网络同步频率<math>C</math>、折扣因子<math>γ</math>、探索率<math>ϵ</math>等。 | | **超参数设定:设置训练总回合数M、单回合最大步数T、目标网络同步频率<math>C</math>、折扣因子<math>γ</math>、探索率<math>ϵ</math>等。 |
| | + | |
| | | | |
| | 2. 回合(Episode)循环 | | 2. 回合(Episode)循环 |
| | 对每个回合episode=1,2,...,<math>M</math>执行: | | 对每个回合episode=1,2,...,<math>M</math>执行: |
| | 状态预处理:初始化环境观测<math>x_{1}</math>,通过预处理函数<math>ϕ</math>生成初始状态表征<math>ϕ_{1}=ϕ(s_{1})</math>。 | | 状态预处理:初始化环境观测<math>x_{1}</math>,通过预处理函数<math>ϕ</math>生成初始状态表征<math>ϕ_{1}=ϕ(s_{1})</math>。 |
| | + | |
| | | | |
| | 3. 时间步(Timestep)循环 | | 3. 时间步(Timestep)循环 |