1. CS285深度强化学习课程回顾
1.1 课程核心内容梳理
CS285作为伯克利开设的深度强化学习经典课程,其内容编排体现了从基础到前沿的系统性教学思路。课程前半部分重点构建理论基础,包括马尔可夫决策过程(MDP)、贝尔曼方程、策略梯度等核心概念。我特别欣赏课程对on-policy与off-policy方法的对比讲解,这部分通过表格形式清晰展示了两种范式的差异:
| 特性 | On-policy (如PPO) | Off-policy (如DQN) |
|---|---|---|
| 数据使用效率 | 低 | 高 |
| 策略更新频率 | 需同步更新 | 可异步更新 |
| 典型算法 | TRPO, A3C | DDPG, SAC |
| 适用场景 | 连续控制 | 离散动作空间 |
课程中期的实验环节设计尤为精妙,通过PyTorch实现的CartPole和Mujoco环境实验,让学员能够直观感受不同算法在样本效率、收敛稳定性方面的差异。我在复现作业时发现,调整gae_lambda参数对PPO算法的表现影响巨大,这个细节在标准教材中往往被忽略。
1.2 关键算法实现要点
在实现DQN算法时,有几点实战经验值得分享:
- 经验回放缓冲区的大小设置需要与任务复杂度匹配,简单任务50000足够,而Atari游戏可能需要百万级容量
- 目标网络更新频率不宜过高,通常每1000-10000步同步一次效果最佳
- 优先经验回放(PER)的实现要注意重要性采样权重的校正,我在代码中添加了:
python复制weights = (buffer_size * probs)**(-beta)
weights /= weights.max() # 归一化处理
`
