深度强化学习

Deep_Reinforcement_Learning/Deep_Reinforcement_Learning.md

深度强化学习(Deep Reinforcement Learning, DRL)是一个极具挑战性但也充满魅力的领域。它结合了深度学习的感知能力和强化学习的决策能力,是目前通向通用人工智能(AGI)的重要路径之一。

下面这套四阶段学习计划以"理论+代码实践"为主线,因为强化学习的难点往往在于代码的调试(俗称"炼丹")。


第一阶段:夯实基础(先修知识储备)

在直接跳入强化学习之前,确保你具备以下基础,否则后续看论文或推导公式会非常吃力。

  • 编程基础:精通 Python。
  • 数学基础
    • 线性代数(矩阵运算、特征值)。
    • 概率论与数理统计(期望、方差、马尔可夫链、条件概率)。
    • 微积分(偏导数、链式法则)。
  • 深度学习基础
    • 理解多层感知机(MLP)、卷积神经网络(CNN)的工作原理。
    • 理解反向传播(Backpropagation)和梯度下降(Gradient Descent)。
    • 熟练使用 PyTorch(目前 DRL 研究和工业界的主流框架)。

第二阶段:经典强化学习(RL)理论

这个阶段暂不涉及深度神经网络,重点是理解强化学习的核心思想和数学框架。

  • 核心概念:智能体(Agent)、环境(Environment)、状态(State)、动作(Action)、奖励(Reward)。
  • 马尔可夫决策过程(MDP):理解 MDP 的五元组 (S,A,P,R,γ)(S, A, P, R, \gamma)
  • 贝尔曼方程(Bellman Equation):这是整个强化学习的灵魂,理解状态价值函数 V(s)V(s) 和动作价值函数 Q(s,a)Q(s,a)
  • 动态规划(Dynamic Programming):策略评估、策略迭代(Policy Iteration)、价值迭代(Value Iteration)。
  • 无模型(Model-Free)预测与控制
  • 实践任务:不使用深度学习框架,纯手工用 NumPy 在 OpenAI Gymnasium 的表格型环境(如 CliffWalking, FrozenLake)中实现 Q-Learning 算法。

第三阶段:深度强化学习进阶(DRL)

1. 基于价值的方法(Value-Based Methods)

主要用于离散动作空间

  • DQN (Deep Q-Network):理解经验回放(Experience Replay)和目标网络(Target Network)两大创新。
  • DQN 的改进Double_DQN(解决过估计)、Dueling_DQN(网络结构优化)、PER(优先经验回放)。
  • 集大成者Rainbow_DQN(融合 DQN + DDQN + Dueling + PER + Multi-step TD + C51 + Noisy Nets)。
  • 进阶变种DRQN(LSTM 应对部分可观测)、QR_DQN(分位数回归 RL)。
  • 实践任务:用 PyTorch 实现 DQN,在 Gymnasium 的 CartPole 或 Atari 游戏中训练一个能通关的智能体。

2. 基于策略的方法与演员-评论家算法(Policy-Based & Actor-Critic)

主要用于连续动作空间

  • 策略梯度(Policy Gradient, PG):理解 REINFORCE 算法。
  • Actor-Critic (AC) 架构:结合 Value-Based 和 Policy-Based 的优势。Actor 负责选择动作,Critic 负责评估动作。
  • NPG(Natural Policy Gradient):限制 KL 散度的数学源头,TRPO 和 PPO 的理论亲爹。
  • 前沿主流算法(重点掌握)
    • PPO (Proximal Policy Optimization):目前工业界和学术界最常用的基线算法(ChatGPT 的 RLHF 就是基于 PPO)。
    • PPO-KL / PPG:PPO 的两个改良变种。
    • SAC (Soft Actor-Critic):基于最大熵强化学习,样本效率高,非常适合机器人控制。
    • DDPG / TD3:确定性策略梯度及其改进版。

3. 混合动作空间

当游戏既需要选离散技能、又需要指定连续参数时(如《王者荣耀》的"放火球+瞄准坐标"):

  • P-DQN(混合动作空间):把 DDPG 和 DQN 缝合,处理参数化动作空间。
  • MP_DQN / SP_DQN:解决 P-DQN 梯度干涉的两个改进版。

第四阶段:实战演练与前沿探索

1. 工业级 DRL 库

  • Stable Baselines3:基于 PyTorch 的工业级 RL 算法库,API 极其友好。
  • Ray RLlib:适合大规模分布式强化学习训练。

2. 多智能体强化学习(MARL)

当环境里有多个智能体时(5v5 电竞、多机器人协同),单机算法直接失效。MARL 引入 CTDE 架构(集中训练,分布式执行) 解决非平稳性问题。

3. 离线强化学习(Offline RL)

不能与环境交互,只能从静态数据集学习。

  • CQL:保守 Q 学习,对未知动作主动悲观。
  • TD3+BC:返璞归真,5 行代码碾压复杂方案。

4. 基于模型的强化学习(World Models)

让 AI 在脑海的"潜空间"中做梦推演未来,被视为通往 AGI 的关键路径。

5. 视觉强化学习(Contrastive RL)

让 AI 看懂高清摄像头画面。

  • CURL:跨界对比学习。
  • DrQ:极简数据增强反杀 CURL。
  • SPR:BYOL 架构 + 时间预测。

6. 模仿学习(Imitation Learning)

在奖励函数难以定义时,直接让 AI 模仿专家行为(BC / IRL / GAIL)。

7. 自我对弈 (Self-Play)

左脚踩右脚的极致:神经网络 + MCTS + 虚拟自我对弈,AlphaGo Zero 与 AlphaStar 的灵魂。


📚 推荐学习资源

  • 视频课程
    • 李宏毅老师的《深度强化学习》课程:通俗易懂,非常适合入门(B站可搜)。
    • CS285 (UC Berkeley): Deep Reinforcement Learning:偏硬核,适合进阶(YouTube/B站有搬运)。
    • David Silver 的 RL 课程 (UCL):经典中的经典,主要针对第二阶段的理论。
  • 书籍
    • 《Reinforcement Learning: An Introduction》 (Sutton & Barto):强化学习领域的"圣经",必读。
    • 《动手学强化学习》 (张伟楠等):结合了 PyTorch 代码,非常适合实操。
  • 代码与教程
    • Spinning Up in Deep RL (OpenAI):OpenAI 出品,代码极其干净,是学习 PPO/SAC/DDPG 源码的最佳去处。

完整 46+ 个算法的分层总结与对比详见 深度强化学习算法全图鉴

子节点

出链

  • [[Bellman_Equation]]
  • [[Dynamic_Programming]]
  • [[Monte_Carlo_Methods]]
  • [[Temporal_Difference_Learning]]
  • [[DQN]]
  • [[Double_DQN]]
  • [[Dueling_DQN]]
  • [[PER_DQN]]
  • [[Rainbow_DQN]]
  • [[DRQN]]
  • [[QR_DQN]]
  • [[PG]]
  • [[A2C]]
  • [[NPG]]
  • [[PPO]]
  • [[PPO_KL]]
  • [[PPG]]
  • [[SAC]]
  • [[DDPG]]
  • [[TD3]]
  • [[P_DQN]]
  • [[MP_DQN]]
  • [[SP_DQN]]
  • [[Stable_Baselines3]]
  • [[Ray_RLlib]]
  • [[MARL]]
  • [[MAPPO]]
  • [[QMIX]]
  • [[VDN]]
  • [[WQMIX]]
  • [[QTRAN]]
  • [[VDAC]]
  • [[IQL]]
  • [[IAC]]
  • [[IPPO]]
  • [[IDDPG]]
  • [[ISAC]]
  • [[MADDPG]]
  • [[MATD3]]
  • [[MASAC]]
  • [[COMA]]
  • [[MFQ]]
  • [[MFAC]]
  • [[IC3Net]]
  • [[DCG]]
  • [[Offline_RL]]
  • [[CQL]]
  • [[TD3_BC]]
  • [[Model_Based]]
  • [[DreamerV2]]
  • [[DreamerV3]]
  • [[HarmonyDream]]
  • [[Visual_RL]]
  • [[CURL]]
  • [[DrQ]]
  • [[SPR]]
  • [[Imitation_Learning]]
  • [[AlphaZero]]
  • [[Algorithm_Compendium]]