当前位置: 首页 > web >正文

强化学习策略梯度推导

1. 目标函数定义:

强化学习的目标是最大化期望折扣累积回报

J(θ)=Eτ∼πθ[R(τ)]=Eτ∼πθ[∑t=0T−1γtrt],J(θ)=Eτ∼πθ​​[R(τ)]=Eτ∼πθ​​[t=0∑T−1​γtrt​],

其中 γ∈[0,1]γ∈[0,1] 是折扣因子,τ=(s0,a0,r0,s1,a1,…,sT)τ=(s0​,a0​,r0​,s1​,a1​,…,sT​) 是轨迹。

2. 轨迹概率分解

轨迹的概率密度由策略和环境动态共同决定:

P(τ;θ)=P(s0)∏t=0T−1πθ(at∣st)⏟策略项∏t=0T−1P(st+1∣st,at)⏟环境动态项.P(τ;θ)=P(s0​)策略项t=0∏T−1​πθ​(at​∣st​)​​环境动态项t=0∏T−1​P(st+1​∣st​,at​)​​.

只有策略项 πθ(at∣st)πθ​(at​∣st​) 依赖于参数 θ,环境动态 P(st+1∣st,at)P(st+1​∣st​,at​) 是MDP的固有属性,与 θθ 无关。

3. 目标函数的积分形式

将期望展开为轨迹空间上的积分:

J(θ)=∫τP(τ;θ)R(τ) dτ.J(θ)=∫τ​P(τ;θ)R(τ)dτ.

4. 计算目标函数的梯度

对 θθ 求导:

∇θJ(θ)=∫τ∇θP(τ;θ)R(τ) dτ.∇θ​J(θ)=∫τ​∇θ​P(τ;θ)R(τ)dτ.

5. 应用对数导数技巧(Log-Derivative Trick)

利用恒等式 ∇θP(τ;θ)=P(τ;θ)∇θlog⁡P(τ;θ)∇θ​P(τ;θ)=P(τ;θ)∇θ​logP(τ;θ):

∇θJ(θ)=Eτ∼πθ[R(τ)∇θlog⁡P(τ;θ)].∇θ​J(θ)=Eτ∼πθ​​[R(τ)∇θ​logP(τ;θ)].

6. 分解对数轨迹概率

展开对数概率:

log⁡P(τ;θ)=log⁡P(s0)+∑t=0T−1log⁡πθ(at∣st)+∑t=0T−1log⁡P(st+1∣st,at).logP(τ;θ)=logP(s0​)+t=0∑T−1​logπθ​(at​∣st​)+t=0∑T−1​logP(st+1​∣st​,at​).

求梯度时:

∇θlog⁡P(τ;θ)=∑t=0T−1∇θlog⁡πθ(at∣st)+∇θlog⁡P(s0)+∑t=0T−1∇θlog⁡P(st+1∣st,at)⏟与θ无关,梯度为零.∇θ​logP(τ;θ)=t=0∑T−1​∇θ​logπθ​(at​∣st​)+与θ无关,梯度为零∇θ​logP(s0​)+t=0∑T−1​∇θ​logP(st+1​∣st​,at​)​​.

因此:

∇θlog⁡P(τ;θ)=∑t=0T−1∇θlog⁡πθ(at∣st).∇θ​logP(τ;θ)=t=0∑T−1​∇θ​logπθ​(at​∣st​).

7. 策略梯度表达形式

代入梯度表达式:

∇θJ(θ)=Eτ∼πθ[R(τ)∑t=0T−1∇θlog⁡πθ(at∣st)].∇θ​J(θ)=Eτ∼πθ​​[R(τ)t=0∑T−1​∇θ​logπθ​(at​∣st​)].

8. 因果性(Causality)简化

当前动作 atat​ 仅影响未来奖励 rt,rt+1,…,rT−1rt​,rt+1​,…,rT−1​,因此:

∑k=tT−1γk−trk=Q(st,at).k=t∑T−1​γk−trk​=Q(st​,at​).

最终梯度形式:

∇θJ(θ)=Eτ[∑t=0T−1∇θlog⁡πθ(at∣st)⋅A(st,at)].∇θ​J(θ)=Eτ​[t=0∑T−1​∇θ​logπθ​(at​∣st​)⋅A(st​,at​)].

蒙特卡洛与时序差分以及如何用在监督学习框架后续再写

http://www.xdnf.cn/news/4343.html

相关文章:

  • 漏洞检测服务费用受哪些因素制约?费用区间是多少?
  • 蓝肽子序列--字符串+最长子序列的dp
  • 从零开始学java--集合类(2)
  • 职业短线交易系统
  • SAM详解2(初级应用)
  • Python入门(一)
  • 数字人驱动方向最新顶会期刊论文收集整理 | AAAI 2025
  • 系统级编程(一):内存的段页式管理
  • x-cmd install | Tuistash - Logstash 实时监控,告别图形界面,高效便捷!
  • VBA之Excel应用第四章第三节:Range对象内容的复制Copy粘贴Paste
  • 根据蓝牙名称自动匹配对应 UI
  • 逻辑越权--水平垂直越权(WEB漏洞)
  • 什么是原子变量
  • Linux死锁实验分析与总结
  • 安卓基础(拖拽)
  • 前端知识-useState
  • 开启健康模式:养身新主张
  • Nginx 安全防护与Https 部署实战
  • 自定义SpringBoot Starter-笔记
  • Element-Plus-X开源程序是Vue3 + Element-Plus 开箱即用的企业级AI组件库前端的解决方案
  • 【言语理解】片段阅读之语句填入(7)
  • LeetCode 1781. 所有子字符串美丽值之和 题解
  • C++编程语言:从高效系统开发到现代编程范式的演进之路
  • python仓库库存管理系统-药房药品库存管理系统
  • 极简RT-Thread入门教程
  • 高等数学第六章---定积分(§6.1元素法6.2定积分在几何上的应用1)
  • XILINX原语之——xpm_fifo_async(异步FIFO灵活设置位宽、深度)
  • vscode远程服务器连接----过程尝试写入的管道不存在
  • javascript Map 和对象使用
  • echarts报错问题initialize failed:invalid dom