DeepMind-Atari-Deep-Q-Learner
DeepMind-Atari-Deep-Q-Learner 是基于 DeepMind 经典论文《Human-level control through deep reinforcement learning》的开源代码复现项目,采用 Lua 和 Torch 7.0 构建深度 Q 网络(DQN)架构,专门用于在 Atari 游戏环境中训练智能体,以重现论文中实现的“人类级别控制”实验成果。
DeepMind-Atari-Deep-Q-Learner 解决了早期深度强化学习算法落地验证的问题,提供了从环境配置到模型训练的一整套方案。通过内置的安装脚本,用户可以快速部署 Xitari 等依赖,并选择 CPU 或 GPU(CUDA)模式进行训练,后者能显著加速学习过程。
适合对强化学习发展史、神经网络原理感兴趣的研究人员和深度学习爱好者。尽管现有更高效框架已涌现,DeepMind-Atari-Deep-Q-Learner 仍是理解 DQN 算法起源及 Atari 游戏控制任务的宝贵资源。对于希望复现经典实验或探索强化学习基础逻辑的用户来说,DeepMind-Atari-Deep-Q-Learner 是一个极具价值的入门与实践平台。
使用场景
一名人工智能研究生为了撰写关于深度强化学习演进的论文,需要精确复现 2015 年 DeepMind 发表的 DQN 经典实验数据。
没有 DeepMind-Atari-Deep-Q-Learner 时
- 从零搭建环境极其耗时,需手动编译 LuaJIT、Torch 7.0 及 Arcade Learning Environment 等复杂底层依赖。
- 网上零散的代码片段难以保证与原始论文架构一致,导致复现结果偏差大且调试困难。
- 缺乏明确的 GPU 加速方案,仅靠 CPU 训练单个游戏往往需要数天,严重拖慢研究进度。
- 缺少可视化的测试流程,难以快速生成高质量的游戏演示视频用于学术报告展示。
使用 DeepMind-Atari-Deep-Q-Learner 后
- 项目自带依赖安装脚本,一键解决所有环境配置问题,大幅降低入门门槛。
- 提供 run_gpu 脚本直接调用 CUDA 加速,将训练时间从数天缩短至数小时,显著提升效率。
- 包含完整的测试命令,可自动生成游戏过程 GIF 文件,方便直接插入论文或 PPT 中。
- 严格还原论文源码结构,确保实验数据的权威性和可比性,为后续算法优化提供可靠基准。
它为研究人员提供了标准化的复现基线,让人能专注于算法原理分析而非环境搭建。
运行环境要求
- Linux
非必需(支持 CPU 模式),若使用 GPU 需 NVIDIA 显卡及 CUDA 5.5+ 工具包,测试于 GTX 970
未说明

快速开始
DeepMind Atari 深度 Q 学习器
本仓库托管了发表在《Nature》上的文章所附带的 原始代码,以及我对其进行的实验(如果有)。
免责声明
- 此代码库并非由我编写(仅包含"+我的调整”部分),且我并非 DeepMind 员工。
- 该实现版本较旧,目前已有更高效强化学习算法可用。如果您有兴趣将 RL(强化学习)应用于您的问题,请查看 Keras-RL 或 rllab。
DQN 3.0
在 Ubuntu 14.04 配合 nVidia GTX 970 上测试:
更多视频请访问 YouTube 播放列表:Deepmind DQN 游戏演示
本项目包含 DQN(深度 Q 网络)3.0 的源代码,这是一种基于 Lua 的深度强化学习架构,用于复现论文《通过深度强化学习实现人类水平控制》(Nature 518, 529–533 (2015 年 2 月 26 日) doi:10.1038/nature14236)中描述的实验。
为了复现实验结果,需要安装以下依赖项:
- LuaJIT 和 Torch 7.0
- nngraph
- Xitari (Arcade Learning Environment(街机学习环境)(Bellemare 等人,2013) 的分支)
- AleWrap (Xitari 的 Lua 接口) 已提供这些依赖项的安装脚本。
提供了两个运行脚本:run_cpu 和 run_gpu。顾名思义,前者使用常规 CPU 训练 DQN 网络,而后者使用 GPU(CUDA),通常能带来显著的速度提升。
安装说明
安装需要 Linux 系统并配备 apt-get。
注意:若要运行 DQN 的 GPU 版本,您需要在下方安装 Torch 之前额外安装 NVIDIA® CUDA®(5.5 版或更高版本)工具包。 这可从 https://developer.nvidia.com/cuda-toolkit 下载,安装说明可在 http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-linux 找到
要在 Atari 游戏中训练 DQN,必须安装以下组件:
- LuaJIT 和 Torch 7.0
- nngraph
- Xitari
- AleWrap
若要在名为 'torch' 的子目录中安装上述所有内容,只需运行
./install_dependencies.sh
从软件包的根目录执行。
注意:上述安装脚本将通过 apt-get 安装以下软件包: build-essential, gcc, g++, cmake, curl, libreadline-dev, git-core, libjpeg-dev, libpng-dev, ncurses-dev, imagemagick, unzip
在 Atari 游戏中训练 DQN
在针对某款游戏运行 DQN 之前,应将其 ROM 复制到 'roms' 子目录中。 然后只需运行脚本
./run_cpu <game name>
或者,如果启用了 GPU 支持,
./run_gpu <game name>
注意:在拥有多个 GPU 的系统上,可以通过设置环境变量 GPU_ID 来在指定的 GPU 上启动 DQN 训练,例如
GPU_ID=2 ./run_gpu <game name>
如果未指定 GPU_ID,默认将使用第一个可用的 GPU(ID 0)。
存储训练后网络的 .gif 文件
一旦获得网络的快照,您可以运行
./test_gpu <game name> <snapshopt filename>
让它玩一局游戏并将 .gif 文件存储在 gifs 目录下。例如
./test_gpu breakout DQN3_0_1_breakout_FULL_Y.t7
选项
DQN 的选项在 run_cpu(或 run_gpu)中设置。例如,您可以通过将 'prog_freq' 设置为不同的值来更改输出到 stdout 的信息频率。
常见问题
相似工具推荐
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
ragflow
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。
PaddleOCR
PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来,转换成计算机可读取的结构化数据,让机器真正“看懂”图文内容。 面对海量纸质或电子文档,PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域,它扮演着连接图像与大型语言模型(LLM)的桥梁角色,能将视觉信息直接转化为文本输入,助力智能问答、文档分析等应用场景落地。 PaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显:不仅支持全球 100 多种语言的识别,还能在 Windows、Linux、macOS 等多个系统上运行,并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目,PaddleOCR 既能满足快速集成的需求,也能支撑前沿的视觉语言研究,是处理文字识别任务的理想选择。