English interface selected · this article is currently written in Chinese.
强化学习笔记记录
English overview →初步构想、学习摘录或开放性猜想,结构精简,处于持续发酵中。
数字花园
🌿 什么是数字花园与思想演进?
遵循 Maggie Appleton 与 Andy Matuschak 的常青笔记理念:这里不是按时间沉底的流水账,而是持续修剪打磨的知识生态。文章按成熟度经历:
- 🌱 萌芽 (Seedling): 发散灵感、读书摘录、开放猜想
- 🌿 演进 (Budding): 结构渐明、初步代码推导、积极修正
- 🌳 常青 (Evergreen): 逻辑闭环、持久经得起检验的基石
- 🔬 实验待证 (Speculative): 结合沙盒与仿真探针的理论探索
引言
强化学习(Reinforcement Learning,RL)是机器学习的一个重要分支,它研究智能体如何在环境中通过试错学习来最大化累积奖励。本文将系统性地记录强化学习的核心概念、主要算法和实践经验。
1. 基础概念与框架
1.1 马尔可夫决策过程(MDP)
强化学习的数学基础是马尔可夫决策过程,它由以下五元组定义:
其中:
- :状态空间(State Space)
- :动作空间(Action Space)
- :状态转移概率
- :奖励函数
- :折扣因子,
1.2 核心要素
智能体(Agent)
- 执行动作并从环境中学习的实体
- 维护策略函数 或价值函数 、
环境(Environment)
- 智能体所处的外部世界
- 接收智能体的动作,返回新状态和奖励
策略(Policy)
策略定义了智能体在给定状态下选择动作的规则:
确定性策略:
随机性策略:
价值函数(Value Function)
状态价值函数:
动作价值函数:
2. 主要算法分类
2.1 基于价值的方法(Value-Based)
动态规划
- 策略评估:计算给定策略的价值函数
- 策略改进:基于当前价值函数改进策略
- 策略迭代:交替进行策略评估和改进
时序差分学习
Q-Learning:
SARSA:
2.2 基于策略的方法(Policy-Based)
策略梯度算法
REINFORCE 算法:
其中 是从时刻 开始的累积奖励。
Actor-Critic 方法
结合价值函数估计(Critic)和策略优化(Actor):
- Actor:更新策略参数
- Critic:更新价值函数参数
2.3 基于模型的方法(Model-Based)
通过学习环境模型 来进行规划:
- Dyna-Q:结合模型学习和 Q-learning
- Monte Carlo Tree Search(MCTS)
3. 深度强化学习
3.1 Deep Q-Network (DQN)
DQN 将深度神经网络与 Q-learning 结合,解决高维状态空间问题:
关键技术:
- 经验回放:打破数据相关性
- 目标网络:稳定学习过程
- 双重 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 通过限制策略更新幅度来保证训练稳定性:
其中
Soft Actor-Critic (SAC)
最大熵强化学习框架,在最大化奖励的同时最大化策略熵。
4. 实践经验总结
4.1 算法选择指南
| 场景 | 推荐算法 | 特点 |
|---|---|---|
| 离散动作空间 | DQN、PPO | 稳定,易实现 |
| 连续动作空间 | SAC、TD3 | 处理连续控制 |
| 样本效率要求高 | SAC、TD3 | Off-policy,数据利用率高 |
| 简单环境 | Q-Learning | 表格方法,可解释性强 |
4.2 调参技巧
- 学习率:从大到小逐步调整(1e-3 → 1e-4 → 1e-5)
- 网络架构:隐藏层数一般 2-3 层,神经元数 64-512
- 经验回放缓冲区:大小设为 1e4 - 1e6
- 探索策略:
- ε-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 可解释强化学习
提高强化学习决策过程的可解释性和透明度。
结论
强化学习作为人工智能的重要分支,在游戏、机器人、推荐系统等领域展现出巨大潜力。本文总结了从基础理论到实践应用的完整知识体系。
学习建议:
- 扎实掌握 MDP 理论基础
- 从简单的表格方法开始实践
- 逐步学习深度强化学习算法
- 在具体项目中应用所学知识
强化学习领域发展迅速,持续学习新算法和技术是保持竞争力的关键。
参考资料
- Sutton, R. S., & Barto, A. G. (2018). Reinforcement learning: An introduction.
- Mnih, V., et al. (2015). Human-level control through deep reinforcement learning. Nature.
- Schulman, J., et al. (2017). Proximal policy optimization algorithms. arXiv preprint.
- Haarnoja, T., et al. (2018). Soft actor-critic: Off-policy maximum entropy deep reinforcement learning. ICML.
下一篇预告:《深度Q网络案例实践》将详细介绍 DQN 的实现细节和代码实战。
文章概念网络
从章节进入正文概念。实线表示所属层级,虚线连接跨章节重复出现的概念,不代表因果关系。
38 / 146 个节点 · 正文标记术语与关键词概念
强化学习笔记记录
回到原文 ↗最后更新于 2024-06-09
引用本文
@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/}
}