深度强化学习与控制(二):无模型强化学习

文章目录

一、无模型强化学习

在现实问题中,通常没有明确地给出状态转移和奖励函数,模型无关的强化学习可以直接从经验中学习 value 和 policy,而无需构建马尔可夫决策过程模型

值函数估计

在模型无关的强化学习中,无法直接获得 P s a P_{sa} Psa 和 R R R,但是,我们拥有一系列可以用来估计值函数的方法

蒙特卡洛方法

目标:从策略 π \pi π 下的敬业片段学习 V π V^\pi Vπ

蒙特卡洛是模型无关的,不使用 bootstrapping 的方法。只能将蒙特卡洛方法应用于有限长度的马尔可夫决策过程中,即所有的片段都有终止状态

时序差分学习

时序差分方法直接从经验片段中进行学习,通过 bootstrapping,时序差分从不完整的片段中学习。时序差分更新当前预测值使之接近估计累计奖励(非真实值)

蒙特卡洛 vs. 时序差分

  • 时序差分能够在每一步之后进行在线学习;蒙特卡洛必须等待片段结束,直到累计奖励已知
  • 时序差分能够从不完整的序列中学习;蒙特卡洛只能从完整序列中学习
  • 时序差分在连续(无终止的)环境下工作;蒙特卡洛只能在片段化的(有终止的)环境下工作
  • 蒙特卡洛具有高方差,无偏差(良好的收敛性质,对初始值不敏感,易于理解和使用);时序差分具有低方差,有偏差( 通常比蒙特卡洛更加高效,时序差分最终收敛到 V π ( S t ) V^\pi(S_t) Vπ(St),但使用函数近似并不总是如此,比蒙特卡洛对初始值更加敏感)

实际使用中,时序差分方法更加常见

优化策略

SARSA

对于当前策略执行的每个(状态-动作-奖励-状态-动作)元组,SARSA 更新状态-动作值函数为

Q ( s , a ) ← Q ( s , a ) + α ( R + γ Q ( s ′ , a ′ ) − Q ( s , a ) ) Q(s,a)\leftarrow Q(s,a)+\alpha\left(R+\gamma Q(s^\prime,a^\prime)-Q(s,a)\right) Q(s,a)←Q(s,a)+α(R+γQ(s′,a′)−Q(s,a))

Q-Learning

学习状态-动作值函数 Q ( s , a ) ∈ R Q(s,a)\in\mathbb R Q(s,a)∈R,不直接优化策略,是一种离线策略(off-policy)学习方法

  • 根据行为策略选择动作 a t ∼ μ ( ⋅ ∣ s t ) a_t\sim\mu(\cdot|s_t) at∼μ(⋅∣st)
  • 根据目标策略选择后续动作 a t + 1 ′ ∼ π ( ⋅ ∣ s t ) a^\prime_{t+1}\sim\pi(\cdot|s_t) at+1′∼π(⋅∣st)
  • 更新 Q ( s t , a t ) Q(s_t,a_t) Q(st,at) 的值以逼近目标状态-动作值
    Q ( s t , a t ) ← Q ( s t , a t ) + α ( R t + 1 + γ Q ( s t + 1 , a t + 1 ′ ) − Q ( s t , a t ) ) Q(s_t,a_t)\leftarrow Q(s_t,a_t) + \alpha\left(R_{t+1}+\gamma Q(s_{t+1},a^\prime_{t+1})-Q(s_t,a_t)\right) Q(st,at)←Q(st,at)+α(Rt+1+γQ(st+1,at+1′)−Q(st,at))

离线策略学习

  • 目标策略 π ( a ∣ s ) \pi(a|s) π(a∣s) 进行值函数评估
  • 行为策略 μ ( a ∣ s ) \mu(a|s) μ(a∣s) 收集数据

为什么使用离线策略学习

  • 平衡 exploration 和 exploitation
  • 通过观察人类或其他智能体学习策略
  • 重用旧策略所产生的经验
  • 遵循探索策略时学习最优策略
  • 遵循一个策略时学习多个策略

二、深度强化学习

  • 基于价值的方法:DQN
  • 基于随机策略的方法:使用神经网络的策略梯度,自然策略梯度,信任区域策略优化(TRPO),
    PPO,A3C
  • 基于确定性策略的方法:确定性策略梯度(DPG),DDPG

DQN

  • 不直接更新策略
  • 是一种基于值的方法
  • 学习一个由 θ \theta θ 作为参数的函数 Q θ ( s , a ) Q_\theta(s,a) Qθ(s,a)
    • 目标值: y t = r t + γ max ⁡ a ′ Q θ ( s t + 1 , a ′ ) y_t=r_t+\gamma\max\limits_{a^\prime}Q_\theta(s_{t+1},a^\prime) yt=rt+γa′maxQθ(st+1,a′)
    • 更新方程: Q θ ( s t , a t ) ← Q θ ( s t , a t ) + α ( r t + γ max ⁡ a ′ Q θ ( s t + 1 , a ′ ) − Q θ ( s t , a t ) ) Q_\theta(s_t,a_t)\leftarrow Q_\theta(s_t,a_t)+\alpha\left(r_t+\gamma\max\limits_{a^\prime}Q_\theta(s_{t+1},a^\prime)-Q_\theta(s_t,a_t)\right) Qθ(st,at)←Qθ(st,at)+α(rt+γa′maxQθ(st+1,a′)−Qθ(st,at))
    • 优化目标: θ ∗ ← arg ⁡ min ⁡ θ 1 2 ∑ ( s t , a t ) ∈ D ( Q θ ( s t , a t ) − ( r + γ max ⁡ a ′ Q θ ( s t + 1 , a ′ ) ) ) 2 \theta^*\leftarrow\arg\min\limits_\theta\frac12\sum\limits_{(s_t,a_t)\in D}\left(Q_\theta(s_t,a_t)-\left(r+\gamma\max\limits_{a^\prime} Q_\theta(s_{t+1},a^\prime)\right)\right)^2 θ∗←argθmin21(st,at)∈D∑(Qθ(st,at)−(r+γa′maxQθ(st+1,a′)))2

增强稳定性

  • 经验回放:存储训练过程中的每一步于数据库 D D D 中,采样时服从均匀分布
  • 使用目标网络:使用较旧的参数,每隔 C C C 步和训练网络的参数同步一次
相关推荐
金伟API10248 小时前
如何从零打造一个极简的DeepSeek-R1大模型
人工智能·ai
江畔柳前堤8 小时前
大语言模型分布式训练:从并行策略到万卡工程的系统梳理
人工智能·分布式·深度学习·算法·目标检测·机器学习·语言模型
Shockang8 小时前
智能体环路工程实战
人工智能
美摄科技8 小时前
美摄美颜特效SDK Skill:以AI赋能智能视音频新视界
人工智能
Web3_Daisy8 小时前
Pump.fun 与 FOMO 竞争背后的 Meme 市场变局
大数据·人工智能·金融·web3·区块链
AI创界者9 小时前
MiniMax-H3 本地一键部署整合包:8G 显存玩转文图生视频、视频参考、角色替换与超分补帧全流程
人工智能·深度学习
江畔柳前堤9 小时前
HBM:大语言模型时代的「算力血液」——从内存墙到带宽革命的深度拆解
服务器·人工智能·windows·目标检测·语言模型·自然语言处理·软件工程
美摄科技9 小时前
视频一键成片SDK Skill:AI智能分析与语义理解
人工智能
fthux10 小时前
装闭 RenoPit 源码解析(05):FastAPI与Celery如何执行AI装修分析
人工智能·ai·开源·github·open source·renopit
格数致用10 小时前
数据库设计与表结构详解|信息化项目全流程管理系统源码逐行精讲(五)
人工智能·政务·数据库设计·外键约束