强化学习笔记记录

1351 字
7 分钟
强化学习笔记记录

引言#

强化学习(Reinforcement Learning,RL)是机器学习的一个重要分支,它研究智能体如何在环境中通过试错学习来最大化累积奖励。本文将系统性地记录强化学习的核心概念、主要算法和实践经验。

1. 基础概念与框架#

1.1 马尔可夫决策过程(MDP)#

强化学习的数学基础是马尔可夫决策过程,它由以下五元组定义:

MDP=(S,A,P,R,γ)MDP = (S, A, P, R, \gamma)

其中:

  • SS:状态空间(State Space)
  • AA:动作空间(Action Space)
  • PP:状态转移概率 P(ss,a)P(s'|s,a)
  • RR:奖励函数 R(s,a,s)R(s,a,s')
  • γ\gamma:折扣因子,γ[0,1]\gamma \in [0,1]

1.2 核心要素#

智能体(Agent)#

  • 执行动作并从环境中学习的实体
  • 维护策略函数 π(as)\pi(a|s) 或价值函数 V(s)V(s)Q(s,a)Q(s,a)

环境(Environment)#

  • 智能体所处的外部世界
  • 接收智能体的动作,返回新状态和奖励

策略(Policy)#

策略定义了智能体在给定状态下选择动作的规则:

确定性策略a=π(s)a = \pi(s)

随机性策略π(as)=P(At=aSt=s)\pi(a|s) = P(A_t = a | S_t = s)

价值函数(Value Function)#

状态价值函数Vπ(s)=Eπ[t=0γtRt+1S0=s]V^\pi(s) = \mathbb{E}_\pi\left[\sum_{t=0}^{\infty} \gamma^t R_{t+1} | S_0 = s\right]

动作价值函数Qπ(s,a)=Eπ[t=0γtRt+1S0=s,A0=a]Q^\pi(s,a) = \mathbb{E}_\pi\left[\sum_{t=0}^{\infty} \gamma^t R_{t+1} | S_0 = s, A_0 = a\right]

2. 主要算法分类#

2.1 基于价值的方法(Value-Based)#

动态规划#

  • 策略评估:计算给定策略的价值函数
  • 策略改进:基于当前价值函数改进策略
  • 策略迭代:交替进行策略评估和改进

时序差分学习#

Q-LearningQ(s,a)Q(s,a)+α[r+γmaxaQ(s,a)Q(s,a)]Q(s,a) \leftarrow Q(s,a) + \alpha[r + \gamma \max_{a'} Q(s',a') - Q(s,a)]

SARSAQ(s,a)Q(s,a)+α[r+γQ(s,a)Q(s,a)]Q(s,a) \leftarrow Q(s,a) + \alpha[r + \gamma Q(s',a') - Q(s,a)]

2.2 基于策略的方法(Policy-Based)#

策略梯度算法#

REINFORCE 算法J(θ)=Eπ[t=0Tlogπθ(atst)Gt]\nabla J(\theta) = \mathbb{E}_\pi\left[\sum_{t=0}^{T} \nabla \log \pi_\theta(a_t|s_t) G_t\right]

其中 GtG_t 是从时刻 tt 开始的累积奖励。

Actor-Critic 方法#

结合价值函数估计(Critic)和策略优化(Actor):

  • Actor:更新策略参数 θ\theta
  • Critic:更新价值函数参数 ww

2.3 基于模型的方法(Model-Based)#

通过学习环境模型 P(s,rs,a)P(s',r|s,a) 来进行规划:

  • Dyna-Q:结合模型学习和 Q-learning
  • Monte Carlo Tree Search(MCTS)

3. 深度强化学习#

3.1 Deep Q-Network (DQN)#

DQN 将深度神经网络与 Q-learning 结合,解决高维状态空间问题:

关键技术

  1. 经验回放:打破数据相关性
  2. 目标网络:稳定学习过程
  3. 双重 DQN:减少过估计偏差
# DQN 核心更新规则
target = reward + gamma * target_q_network(next_state).max()
loss = F.mse_loss(main_q_network(state)[action], target)

3.2 策略梯度方法#

Proximal Policy Optimization (PPO)#

PPO 通过限制策略更新幅度来保证训练稳定性:

LCLIP(θ)=Et[min(rt(θ)A^t,clip(rt(θ),1ϵ,1+ϵ)A^t)]L^{CLIP}(\theta) = \mathbb{E}_t\left[\min\left(r_t(\theta)\hat{A}_t, \text{clip}(r_t(\theta), 1-\epsilon, 1+\epsilon)\hat{A}_t\right)\right]

其中 rt(θ)=πθ(atst)πθold(atst)r_t(\theta) = \frac{\pi_\theta(a_t|s_t)}{\pi_{\theta_{old}}(a_t|s_t)}

Soft Actor-Critic (SAC)#

最大熵强化学习框架,在最大化奖励的同时最大化策略熵。

4. 实践经验总结#

4.1 算法选择指南#

场景推荐算法特点
离散动作空间DQN、PPO稳定,易实现
连续动作空间SAC、TD3处理连续控制
样本效率要求高SAC、TD3Off-policy,数据利用率高
简单环境Q-Learning表格方法,可解释性强

4.2 调参技巧#

  1. 学习率:从大到小逐步调整(1e-3 → 1e-4 → 1e-5)
  2. 网络架构:隐藏层数一般 2-3 层,神经元数 64-512
  3. 经验回放缓冲区:大小设为 1e4 - 1e6
  4. 探索策略
    • ε-greedy:ε 从 1.0 衰减到 0.01
    • 高斯噪声:标准差从 0.2 衰减到 0.05

4.3 常见问题与解决方案#

训练不稳定

  • 减小学习率
  • 增加目标网络更新频率
  • 使用梯度裁剪

收敛速度慢

  • 调整奖励函数设计
  • 使用课程学习(Curriculum Learning)
  • 优化网络初始化

过拟合

  • 增加正则化
  • 使用 Dropout
  • 数据增强

5. 应用案例#

5.1 游戏 AI#

  • Atari 游戏:DQN 在 Breakout、Pong 等游戏中取得超人表现
  • 围棋:AlphaGo 使用 MCTS + 深度网络
  • 星际争霸 II:AlphaStar 使用多智能体强化学习

5.2 机器人控制#

  • 机械臂控制:连续控制问题,使用 DDPG、SAC
  • 自动驾驶:路径规划和决策制定
  • 无人机导航:3D 环境中的自主飞行

5.3 推荐系统#

  • 动态推荐:根据用户实时反馈调整推荐策略
  • 多臂老虎机:解决探索与利用权衡问题

6. 前沿研究方向#

6.1 元强化学习(Meta-RL)#

学习如何快速适应新任务的学习算法。

6.2 多智能体强化学习(MARL)#

研究多个智能体在共享环境中的学习与协作。

6.3 安全强化学习#

在学习过程中保证安全约束,避免危险动作。

6.4 可解释强化学习#

提高强化学习决策过程的可解释性和透明度。

结论#

强化学习作为人工智能的重要分支,在游戏、机器人、推荐系统等领域展现出巨大潜力。本文总结了从基础理论到实践应用的完整知识体系。

学习建议

  1. 扎实掌握 MDP 理论基础
  2. 从简单的表格方法开始实践
  3. 逐步学习深度强化学习算法
  4. 在具体项目中应用所学知识

强化学习领域发展迅速,持续学习新算法和技术是保持竞争力的关键。


参考资料#

  1. Sutton, R. S., & Barto, A. G. (2018). Reinforcement learning: An introduction.
  2. Mnih, V., et al. (2015). Human-level control through deep reinforcement learning. Nature.
  3. Schulman, J., et al. (2017). Proximal policy optimization algorithms. arXiv preprint.
  4. Haarnoja, T., et al. (2018). Soft actor-critic: Off-policy maximum entropy deep reinforcement learning. ICML.

下一篇预告:《深度Q网络案例实践》将详细介绍 DQN 的实现细节和代码实战。

🧠 文章思维导图

mindmap
引言#
1. 基础概念与框架#
  1.1 马尔可夫决策过程(MDP)#
  1.2 核心要素#
    智能体(Agent)#
    环境(Environment)#
    策略(Policy)#
    价值函数(Value Function)#
2. 主要算法分类#
  2.1 基于价值的方法(Value-Based)#
    动态规划#
    时序差分学习#
  2.2 基于策略的方法(Policy-Based)#
    策略梯度算法#
    Actor-Critic 方法#
  2.3 基于模型的方法(Model-Based)#
3. 深度强化学习#
  3.1 Deep Q-Network DQN#
  3.2 策略梯度方法#
    Proximal Policy Optimization PPO#
    Soft Actor-Critic SAC#
4. 实践经验总结#
  4.1 算法选择指南#
  4.2 调参技巧#
  4.3 常见问题与解决方案#
5. 应用案例#
  5.1 游戏 AI#
  5.2 机器人控制#
  5.3 推荐系统#
6. 前沿研究方向#
  6.1 元强化学习(Meta-RL)#
  6.2 多智能体强化学习(MARL)#
  6.3 安全强化学习#
  6.4 可解释强化学习#
结论#
参考资料#

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
强化学习笔记记录
https://meiluosi.github.io/posts/2024-06-09-强化学习笔记记录/
作者
枫语
发布于
2024-06-09
许可协议
CC BY-NC-SA 4.0

引用本文

@article{2024-06-09-强化学习笔记记录,
  author  = {枫语},
  title   = {强化学习笔记记录},
  journal = {枫语},
  year    = {2024},
  month   = {jun},
  url     = {https://meiluosi.github.io/posts/2024-06-09-%E5%BC%BA%E5%8C%96%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0%E8%AE%B0%E5%BD%95/}
}

评论区

Profile Image of the Author
枫语
LLM 训练/推理 · 分布式系统 · RLHF
公告
LLM 训练/推理 · 分布式系统 · RLHF — 用 RL 的方法让大模型更聪明
音乐
封面

音乐

暂未播放

0:000:00
暂无歌词
分类
标签
站点统计
文章
33
分类
9
标签
15
总字数
75,837
运行时长
0
最后活动
0 天前
站点信息
构建平台
GitHub Actions
博客版本
v6.13.5
文章许可
CC BY-NC-SA 4.0

文章目录