主题
社区
学习强化学习的路上,有同伴讨论会事半功倍。DQN.CN 社区欢迎所有对强化学习感兴趣的朋友:提问答疑、分享项目、讨论论文、交流求职经验。我们也非常欢迎你参与内容共建——纠错、投稿、翻译、写交互工具都很有价值。
交流渠道
占位信息(上线前替换)
以下联系方式均为占位符,网站正式上线前会替换为真实信息。在此之前请不要向这些地址发送消息。
- 微信交流群:扫码加入(二维码待上传:
docs/public/wechat-group.png) - QQ 群:
XXXXXXXXX - 邮箱:
contact@dqn.cn(占位) - GitHub 仓库:
https://github.com/<你的用户名>/dqn-site(占位,用于提交 Issue 和 Pull Request)
| 渠道 | 适合做什么 |
|---|---|
| GitHub Issues | 报告错误(公式、代码、链接)、提出内容建议、推荐论文选题 |
| GitHub Pull Requests | 直接提交修改或新文章,见下方 贡献指南 |
| 微信 / QQ 群 | 日常讨论、学习打卡、求职交流 |
| 邮箱 | 不方便公开的问题,或合作洽谈(商务合作请见 关于与合作) |
交流规范
我们希望社区是一个友善、专业、对初学者友好的地方。参与讨论时请遵守:
- 友善与尊重:对事不对人。不嘲笑“简单问题”,每个人都是从不会开始的。禁止人身攻击、歧视、骚扰。
- 言之有据:讨论算法和实验时尽量给出出处(论文、代码、实验记录);转述别人的结论请注明来源。
- 不做学术不端的帮手:可以讨论作业和课程项目的思路,但不提供“代写”;不分享盗版书籍和课程资源。
- 不发广告:未经管理员同意,不发布商业推广、招生广告、拉群链接。招聘信息请发在指定的招聘帖或频道中。
- 保护隐私:不公开他人的联系方式等个人信息;分享代码和日志前请删除密钥、令牌、内部路径等敏感信息。
- 遵守法律法规:讨论内容需符合中华人民共和国相关法律法规。
违反规范的内容会被删除,屡次违反者会被移出社区。如果你遇到不友善的行为,请联系管理员。
提问指南
好的问题更容易得到好的回答。提问前,请先:
- 搜索:用本站右上角的搜索框搜一搜,看看教程和 常见问题 是否已经覆盖;再搜一搜群聊记录和 GitHub Issues。
- 缩小问题:把出错的代码删减到最少、仍能复现问题的版本。
提问时请包含:
- 你想做什么:目标是什么,用的是哪个教程或哪段代码;
- 你做了什么:完整的命令和(精简后的)代码;
- 发生了什么:完整的报错信息(文字,不要只发截图),或者训练曲线 / 日志的关键部分;
- 你期望发生什么,以及已经尝试过哪些办法;
- 环境信息:操作系统、Python 版本、
torch/gymnasium版本,是否使用 GPU。
一个提问模板:
text
【目标】用 /advanced/dqn 的代码训练 CartPole
【问题】训练 5 万步后回报一直在 20 左右,没有上升
【已尝试】把学习率从 5e-4 改成 1e-3,没有改善
【环境】Ubuntu 22.04,Python 3.11,torch 2.x(CPU),gymnasium 1.x
【代码改动】只把 BATCH_SIZE 改成了 32
【日志】
step 10000 | ε=0.05 | 最近10回合平均回报 21.3
...1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
强化学习的调试本来就难,“训练不收敛”是最常见的问题。提问前可以先对照各教程中的“常见误区”一节检查一遍,并尝试换几个随机种子——有时候问题只是单次运行的随机波动。
贡献指南
本站内容托管在 GitHub(仓库地址见上方“交流渠道”中的占位符),所有人都可以通过 Pull Request(PR)参与贡献。
可以贡献什么
- 纠错:公式、代码、链接、错别字、事实性错误。小修改直接提 PR 即可。
- 新教程或扩展:新算法、新章节、更好的讲解方式。请先开一个 Issue 讨论大纲,避免重复劳动。
- 论文速递:按 写作模板与规范 撰写论文解读。
- 交互工具:新的浏览器内小工具(Vue 组件),见 工具。
- 代码:改进
examples/中的示例代码。
提交流程
- Fork 本仓库到你自己的 GitHub 账号,并克隆到本地:bash
git clone https://github.com/<你的用户名>/dqn-site.git cd dqn-site npm install1
2
3 - 新建分支:
git checkout -b fix-dqn-typo(分支名简要描述改动)。 - 修改并本地预览:
npm run docs:dev,在浏览器中检查公式、代码高亮和链接。 - 构建检查:
npm run docs:build必须成功。VitePress 会在构建时检查站内死链,有死链会直接报错。 - 提交:提交信息用中文或英文简要说明改动,例如
修正 PPO 教程中 GAE 公式的下标。 - 推送并创建 PR:在 PR 描述中说明改了什么、为什么改;如果修改了代码或实验结果,请附上运行输出。
- 评审:维护者会在评审后合并,或提出修改意见。
内容规范
- 准确第一:涉及具体数字的结论必须可验证——论文中的数字要能在原文中找到,实验结果要是你实际运行得到的。没有验证的内容请明确标注。
- 代码必须能跑:
examples/中的代码需要在 CPU 上、较短时间内运行完成;修改代码后请重新运行,并同步更新页面中的“实际运行输出”。页面通过<<< @/../examples/...语法引用代码文件,保证展示的就是实际运行的代码。 - 符号统一:沿用 Sutton & Barto 的记号:
;神经网络参数用 (策略)和 / (价值),目标网络加上标 。 - 文风:简体中文,术语第一次出现时附英文(例如“经验回放(Experience Replay)”);中英文之间加空格;少用口语化表达。
- 引用:只引用真实存在的论文,并给出 arXiv 或 DOI 链接。
- 新页面:在
docs/.vitepress/config.mts的sidebar中登记;论文速递文章只需带date字段,列表、侧边栏和 RSS 会自动更新。
版权与授权
- 本站文字内容采用 CC BY-NC-SA 4.0 许可,代码采用 MIT 许可,详见 关于 · 版权与许可。
- 提交 PR 即表示你确认:贡献的内容是你本人的原创作品,或你有权以上述许可证提交;不包含侵犯他人版权的内容(例如整段翻译或复制的书籍、付费课程内容)。
- 对于篇幅较大的投稿(例如完整的教程章节),如果将来涉及出版、课程等用途,维护者会事先与作者另行沟通授权,不会擅自用于商业用途。
常见问题
Q:完全零基础,应该从哪里开始?
先看 学习路线,然后从 什么是强化学习 开始按顺序阅读入门教程。需要的前置知识是 Python、基础的概率论和线性代数;深度强化学习部分还需要了解 PyTorch 和神经网络的基本训练流程。
Q:没有 GPU 能学吗?
能。本站所有示例代码都在单线程 CPU 上验证过,入门代码几秒到一分钟、进阶代码一般一两分钟内就能跑完。Atari、MuJoCo 等大型实验才真正需要 GPU 或较长时间。
Q:我跑出来的结果和页面上的不一样?
强化学习对随机种子、库版本、硬件都很敏感,数值有差异是正常的。请先确认 torch、gymnasium 版本,再多换几个种子看看整体趋势是否一致。如果差异很大(例如页面上能收敛,你的完全不学习),欢迎按上面的提问指南反馈。
Q:教程里有错误怎么办?
非常感谢你发现问题!可以在 GitHub 上开 Issue,或者直接提交 PR 修正。
Q:可以转载本站的文章吗?
可以在非商业用途下转载,需署名“DQN.CN”并附原文链接,且以相同许可证(CC BY-NC-SA 4.0)发布。商业用途请先联系我们,见 关于与合作。
Q:论文速递多久更新一次?怎么订阅?
我们会不定期更新,可以通过 RSS 订阅。也欢迎你推荐或投稿想看的论文。
Q:可以投稿吗?有稿酬吗?
欢迎投稿,流程见上方 贡献指南。稿酬等事宜请通过邮箱联系(目前为占位地址,上线后公布)。