引言
深度强化学习(Deep Reinforcement Learning, DRL)是机器学习的一个分支,它结合了深度学习(Deep Learning)和强化学习(Reinforcement Learning, RL)的技术
文章目录
- 引言
- 一、深度强化学习–RL的基本概念
- 1.1 强化学习基础
- 1.2 强化学习的核心概念
- 1.2.1 探索(Exploration)与利用(Exploitation)
- 1.2.2 价值函数(Value Function)
- 1.2.3 Q函数(Q-function)
- 1.3 深度强化学习
- 1.3.1 深度神经网络
- 1.3.2 经验回放(Experience Replay)
- 1.3.3 目标网络(Target Network)
- 1.4 流行算法
- 1.4.1 深度Q网络(DQN)
- 1.4.2 异步优势演员评论家(A3C)
- 1.4.3 信任区域策略优化(TRPO)
- 1.4.4 近端策略优化(PPO)
- 1.4.5 模型预测控制(MPC)
- 1.5 应用领域
- 1.6 挑战
- 1.7 总结
- 二、强化学习的典型场景
- 三、强化学习算法分类
- 3.1 根据学习策略分类
- 3.1.1 策略学习(Policy Learning)
- 3.1.2 模型学习(Model Learning)
- 3.2 根据策略类型分类
- 3.3 根据学习方法分类
- 3.3.1 基于模型的强化学习(Model-Based Reinforcement Learning)
- 3.3.2 无模型强化学习(Model-Free Reinforcement Learning)
- 3.4 根据应用领域分类
- 3.4.1 离线强化学习(Off-Policy Reinforcement Learning)
- 3.4.2 在线强化学习(On-Policy Reinforcement Learning)
- 3.4.3 离线到在线学习(Off-Policy to On-Policy Learning)
- 3.5 总结
一、深度强化学习–RL的基本概念
1.1 强化学习基础
- 代理(Agent):执行动作并学习策略的主体
- 环境(Environment):代理与之交互的整个外部世界
- 状态(State):代理在环境中的当前情况
- 动作(Action):代理可以执行的操作
- 奖励(Reward):代理执行某个动作后,环境给予的正面或负面反馈
- 策略(Policy):代理用于决策的函数或规则,即给定当前状态,选择下一步动作的方法
1.2 强化学习的核心概念
1.2.1 探索(Exploration)与利用(Exploitation)
探索是指尝试新的动作以获取更多信息,而利用是基于现有信息做出最佳决策
1.2.2 价值函数(Value Function)
预测从某个状态开始,遵循特定策略能够获得的期望回报
1.2.3 Q函数(Q-function)
对于给定状态和动作,预测采取该动作后能够获得的期望回报
1.3 深度强化学习
深度强化学习结合了深度学习的感知能力和强化学习的决策能力
1.3.1 深度神经网络
用于近似价值函数或策略函数,处理复杂的输入,如图像
1.3.2 经验回放(Experience Replay)
存储代理的经验,并在训练时随机抽取批次来打破数据间的相关性,稳定学习过程
1.3.3 目标网络(Target Network)
用于生成目标Q值,帮助稳定训练过程
1.4 流行算法
1.4.1 深度Q网络(DQN)
使用深度神经网络来近似Q函数,能够处理高维输入空间
1.4.2 异步优势演员评论家(A3C)
并行训练多个代理,每个代理都在不同的环境中执行,以学习一个共享的全球策略
1.4.3 信任区域策略优化(TRPO)
一种策略梯度方法,使用信任区域来优化策略,保证改进的稳定性
1.4.4 近端策略优化(PPO)
TRPO的改进版本,更加简单且稳定
1.4.5 模型预测控制(MPC)
使用模型来预测未来状态,并基于这些预测做出最优决策
1.5 应用领域
- 游戏:如DeepMind的AlphaGo在围棋上的胜利
- 机器人技术:如机械臂的操控、自动驾驶汽车
- 资源优化:如数据中心能源管理
- 金融:如算法交易策略
1.6 挑战
- 稳定性和收敛性:深度强化学习算法可能会遇到训练不稳定的问题
- 样本效率:强化学习通常需要大量的交互数据
- 安全性:在现实世界中部署的代理需要能够安全地与动态环境互动
1.7 总结
深度强化学习是一个快速发展的领域,随着算法和计算资源的进步,它有望在更多领域实现突破
二、强化学习的典型场景
在 Flappy bird 这个游戏中,我们需要简单的点击操作来控制小鸟,躲过各种水管,飞的越远越好,因为飞的越远就能获得更高的积分奖励
- 机器有一个明确的小鸟角色——代理
- 需要控制小鸟飞的更远——目标
- 整个游戏过程中需要躲避各种水管——环境
- 躲避水管的方法是让小鸟用力飞一下——行动
- 飞的越远,就会获得越多的积分——奖励
三、强化学习算法分类
了解强化学习中常用到的几种方法,以及他们的区别,对我们根据特定问题选择方法时很有帮助。强化学习是一个大家族,发展历史也不短,具有很多种不同方法。比如说比较知名的控制方法 Q learning,Policy Gradients,还有基于对环境的理解的 model-based RL 等等
3.1 根据学习策略分类
3.1.1 策略学习(Policy Learning)
- 策略迭代(Policy Iteration):一种确定性策略,通过策略评估和策略改进来寻找最优策略。
- 值迭代(Value Iteration):一种策略评估方法,通过迭代更新状态值函数来找到最优策略。
3.1.2 模型学习(Model Learning)
- 模型预测控制(Model Predictive Control, MPC):在每一步都通过预测模型来选择动作。
- 无模型强化学习(Model-Free Reinforcement Learning):不需要了解环境模型的强化学习,如Q-Learning
3.2 根据策略类型分类
- 确定性策略(Deterministic Policy):在给定状态下,总是选择同一个动作
- 随机策略(Stochastic Policy):在给定状态下,选择动作的概率分布
3.3 根据学习方法分类
3.3.1 基于模型的强化学习(Model-Based Reinforcement Learning)
- 模型预测控制(MPC):在每一步都使用预测模型来选择动作
3.3.2 无模型强化学习(Model-Free Reinforcement Learning)
- Q-Learning:基于状态-动作值函数的强化学习算法
- Sarsa:与Q-Learning类似,但在选择下一个动作时使用当前策略
- 深度Q网络(DQN):结合了深度学习和Q-Learning的强化学习算法
- 策略梯度(Policy Gradient):直接学习策略,通过策略梯度来优化策略
- 近端策略优化(PPO):一种改进的策略梯度方法,通过近端策略优化来稳定训练过程
3.4 根据应用领域分类
3.4.1 离线强化学习(Off-Policy Reinforcement Learning)
- Q-Learning:学习状态-动作值函数,可以与离线数据一起使用
3.4.2 在线强化学习(On-Policy Reinforcement Learning)
- Sarsa:在线学习状态-动作值函数,需要实时与环境交互
3.4.3 离线到在线学习(Off-Policy to On-Policy Learning)
- 信任区域策略优化(TRPO):一种从离线策略转移到在线策略的方法
3.5 总结
这些分类方式可以帮助我们更好地理解强化学习算法的不同特性和适用场景。随着研究的不断深入,新的算法和分类方式也在不断涌现