Commit Graph

6 Commits

Author SHA1 Message Date
Serendipity faf0d5ea42 feat: 改进DQN训练稳定性和性能
- 将奖励裁剪替换为奖励缩放,保留奖励大小信号
- 添加学习率调度器,支持warmup和步进衰减
- 增加经验回放缓冲区大小至200,000
- 默认启用Dueling DQN架构
- 优化代码格式和参数传递
- 添加更多训练中间模型保存点
2026-05-02 02:02:17 +08:00
Serendipity 1c1cccd3f6 feat: 添加模型评估脚本并更新实验报告
- 添加 evaluate_checkpoints.py 脚本,用于评估训练过程中的检查点模型
- 更新 generate_plots.py 以支持从真实评估结果生成图表
- 更新实验报告内容,包含具体实验结果数据和分析
- 添加中文支持并更新作者信息
- 生成评估结果JSON文件和相应图表
2026-05-01 18:44:22 +08:00
Serendipity cb0195135e feat: 添加强化学习项目报告及可视化图表
添加完整的强化学习项目报告,包含 LaTeX 源文件、生成的 PDF 文档以及训练过程的可视化图表。主要新增内容包括:

- 完整的项目报告(report.tex 和 report.pdf),详细说明 DQN 算法在 Atari Space Invaders 游戏上的实现与实验结果
- 训练曲线、epsilon 衰减曲线和评估结果的可视化图表(PNG 格式)
- 更新 generate_plots.py 脚本,改进代码格式和错误处理,支持更灵活的参数配置
- 添加训练好的最佳模型文件(dqn_best.pt)和项目源代码压缩包
- 包含 LaTeX 编译生成的辅助文件(.aux, .log)

这些文件构成了完整的项目交付物,便于复现实验结果和展示项目成果。
2026-05-01 11:58:40 +08:00
Serendipity 85f912483a refactor(agent): 重命名 train_step 为 step_count 以提高可读性
- 将 agent.py 中的 train_step 变量重命名为 step_count,使其含义更清晰
- 更新所有相关引用,包括 epsilon 衰减和目标网络更新逻辑
- 同步修改模型保存和加载时的键名
- 修复多个源文件末尾的换行符问题
2026-05-01 10:19:14 +08:00
Serendipity e8b51240f9 feat: 添加DQN强化学习项目框架和核心实现
实现完整的DQN算法框架,用于Atari Space Invaders游戏训练。包括:
- QNetwork和DuelingQNetwork神经网络架构
- 经验回放缓冲区(标准和优先级版本)
- DQN智能体实现ε-greedy策略和Double DQN
- 环境包装器(灰度化、调整大小、帧堆叠等)
- 训练器、评估脚本和图表生成工具
- 详细的项目文档和依赖配置
2026-05-01 10:01:12 +08:00
Serendipity cdec40a7c7 docs: 添加课程资料与更新作业要求文档
添加 Lecture4-6 课件 PDF 与课程作业要求 PDF 至文档目录
更新外教课原文要求,仅保留 Atari 游戏项目要求
将完整作业要求文档移动至强化学习项目报告目录
2026-05-01 09:47:09 +08:00