Files
rl-atari/外教课/课程作业实现方案分析.md
T
Serendipity ceddbdd559 Add lecture materials for Model-Free, Control, and Value topics
- Added Lecture4 - ModelFree.pdf (3013 KB)
- Added Lecture5 - Control.pdf (2575 KB)
- Added Lecture6 - Value.pdf (3320 KB)
2026-04-28 20:28:00 +08:00

5.1 KiB
Raw Blame History

课程作业实现方案分析

📚 三项作业任务概览


🔴 任务一:强化学习个人项目报告(Atari 游戏方向)

核心任务

  • 自选一个 Atari 游戏,从零实现并训练深度强化学习算法,达到有竞争力的表现
  • 提交不超过 3000 词的技术报告 + 源代码和训练模型的 zip 文件

推荐游戏选择Space Invaders 或 Breakout(相对简单,benchmark 充分)

技术栈

  • PyTorch 深度学习框架
  • Gymnasium(旧版 ALE Atari 环境
  • NumPy 进行数据处理

核心算法选择建议

算法 优点 缺点
DQN 经典稳定,实现相对简单 训练慢,需要大量样本
Double DQN 解决 Q 值过估计问题 实现稍复杂
Dueling DQN 收敛更快 实现复杂度中等

实现步骤

  1. 环境搭建 + 预处理(帧堆叠、灰度化、resize)
  2. 实现 Replay Buffer
  3. 实现 Q-NetworkCNN 结构)
  4. 实现 DQN 训练循环
  5. 超参数调优 + 训练监控
  6. 对比 Stable-Baselines3 基线

报告要求

  1. 说明所选游戏及其挑战
  2. 调研深度强化学习在 Atari 游戏中的应用现状
  3. 对比不同算法,解释最终选择
  4. 详细介绍算法原理与具体实现
  5. 评估智能体表现
  6. 分析算法在该游戏上表现好坏的原因
  7. 用图表展示实验结果

预计工作量(最高,约 40% 精力)


🟡 任务二:PPO + CarRacing-v3

核心任务

  • 用 Python 从零实现 PPOProximal Policy Optimization)算法
  • 让智能体在 CarRacing-v3 环境中完成赛车任务
  • 提交不超过 3000 词的技术报告 + 源代码和模型的 zip 文件

技术栈

  • PyTorch
  • GymnasiumCarRacing-v3 环境)
  • TensorBoard 用于训练可视化

PPO 核心组件

1. 策略网络:CNN → 全连接层 → μ, σ(连续动作输出)
2. 价值网络:CNN → 全连接层 → V(s)
3. GAEGeneralized Advantage Estimation)计算优势
4. PPO-Clip 目标函数:L^CLIP(θ) = E[min(r(θ)·A, clip(r(θ), 1-ε, 1+ε)·A)]
5. 熵正则化 + 价值函数损失

实现细节

  • 状态空间:96×96×3 RGB 图像
  • 动作空间:连续空间(转向、油门、刹车)
  • 奖励塑形:保持中心线奖励 + 速度奖励 + 轮胎磨损惩罚

报告要求

  1. 介绍任务的强化学习背景
  2. 定义状态空间、动作空间和奖励机制
  3. 解释 PPO 的目标函数、裁剪机制和优势估计方法
  4. 说明网络结构、训练流程、超参数设置
  5. 记录并说明实现过程中遇到的问题与解决办法
  6. 用图表展示训练与测试结果
  7. 与 Stable-Baselines3 基线方法做简要对比

预计工作量(较高,约 35% 精力)


🟢 任务三:健康保险多分类(机器学习)

核心任务

  • 围绕健康保险数据集,建立并改进多分类模型
  • 预测申请人保费风险等级(Low / Standard / High
  • 提交 Jupyter Notebook、1200 词左右的 Theory and Reflection PDF、hidden-test CSV

Jupyter Notebook 步骤

步骤 内容
1 数据清洗 + 缺失值处理
2 特征工程 + 识别并删除数据泄露特征
3 基线模型(逻辑回归)
4 随机森林 vs XGBoost/LightGBM 对比
5 贝叶斯优化/GridSearchCV 超参数调优
6 个性化改进(根据学号末位决定)
7 K-Means + GMM 无监督探索
8 最终模型选择 + hidden-test 预测

PDF 报告主题

  1. Bagging vs Boosting 对比
  2. 超参数优化方法讨论
  3. K-Means vs GMM 对比
  4. 个性化改进反思
  5. AI 使用声明

预计工作量(中等,约 25% 精力)


时间规划建议

周次 任务分配 备注
Week 1-2 任务三(机器学习) 时间最充裕,可提前完成
Week 3-4 任务二(PPO 核心算法,需要充分调优
Week 5-7 任务一(Atari 训练耗时最长,尽早开始
最后1周 整体检查、报告撰写、格式调整 预留缓冲时间

⚠️ 关键注意事项

  1. 任务一和任务二禁止使用 Stable-Baselines 等强化学习专用库实现核心算法
  2. 任务三的个性化改进需根据学号末位决定
  3. 所有任务都需按指定格式命名并提交 PDF + Zip(代码+模型)
  4. 任务一可使用 Stable-Baselines3 作为 benchmark 对比

📝 文档语言要求(外教课特别说明)

⚠️ 重要提醒:这是外教课作业,所有提交的 PDF 文档必须使用英文 撰写,包括:

  • 技术报告(Technical Report
  • Theory and Reflection PDF
  • 代码注释(Code Comments

建议:

  • 使用英文撰写报告正文
  • 图表标题和图例使用英文
  • 代码中变量命名和注释使用英文
  • 可保留中文的仅为个人笔记/思考过程(无需提交)

待确认事项

  • 学号末位是多少?(用于确定任务三的个性化改进方向)
  • 是否有偏好选择的 Atari 游戏?