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

文章目录

一、无模型强化学习

在现实问题中,通常没有明确地给出状态转移和奖励函数,模型无关的强化学习可以直接从经验中学习 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 步和训练网络的参数同步一次
相关推荐
Liaiyang661 分钟前
空圈容错视角下的无人机全链路审计:从理论框架到耦合式检验
人工智能·pytorch·python·深度学习·系统架构·自动驾驶·无人机
liuchangng1 分钟前
Jev 模型研究:从生成式大模型到决策式模型——System One、RLCD 校准与采用边界
java·javascript·人工智能·python·深度学习
GPU实战笔记2 分钟前
本地跑不动 llama.cpp,临时租云 GPU 怎么搭?从启动服务到环境复用
java·服务器·网络·人工智能·深度学习·llama
Seoyoneh6 分钟前
智能客服意图识别实战:深度学习与规则引擎融合架构与落地实践
人工智能·信息与通信·通信
珠海西格电力7 分钟前
零碳园区管理系统“智慧大脑”功能对园区运营成本的影响有哪些?
大数据·人工智能·安全·系统架构·能源
江畔柳前堤14 分钟前
字节跳动·大模型应用知识手册
前端·人工智能·深度学习·opencv·目标检测·重构·transformer
程序员z723 分钟前
RAG 系统评测实战:从指标设计到落地闭环
人工智能
CCC:CarCrazeCurator25 分钟前
从算子到智能系统:理解 MLP、CNN、Transformer、JEPA、VLA 与世界模型
人工智能·深度学习
程序员z732 分钟前
Agent 评测体系怎么搭:从指标设计到工程闭环
人工智能
NeoGressAI外贸数字化33 分钟前
外贸独立站多语言缓存命中率低?5 个成因与排查脚本
人工智能