【深度强化学习】置信域策略优化(TRPO)

1. 置信域方法

置信域方法是数值优化领域中的一类经典算法。几乎所有的数值优化算法都在做这样的迭代,只不过方法略有不同:
θ new ← Update ( Data ; θ now ) \theta_{\text{new}}\leftarrow \text{Update}(\text{Data};\theta_{\text{now}}) θnewUpdate(Data;θnow)而置信域方法首先用到一个置信域的概念:
N ( θ now ) = { θ ∣ ∣ ∣ θ − θ now ∣ ∣ 2 ≤ Δ } \mathcal{N}(\theta_{\text{now}})=\left\{\theta \Big | ||\theta-\theta_{\text{now}}||_2\leq \Delta \right\} N(θnow)={θ ∣∣θθnow2Δ}在这个置信域内,我们构造的函数能够很接近优化目标: L ( θ ∣ θ now ) 很接近 J ( θ ) , ∀ θ ∈ N ( θ now ) L(\theta|\theta_{\text{now}})很接近J(\theta),\quad \forall \theta\in \mathcal{N}(\theta_{\text{now}}) L(θθnow)很接近J(θ),θN(θnow)这样一来我就可以在我构造的函数范围内做优化: θ new = arg max ⁡ θ ∈ N ( θ now ) L ( θ ∣ θ now ) \theta_{\text{new}}=\argmax_{\theta\in\mathcal{N}(\theta_{\text{now}})}L(\theta|\theta_{\text{now}}) θnew=θN(θnow)argmaxL(θθnow)逐次迭代即可实现对一个复杂目标的优化。

2. 策略优化

有了策略网络 π ( a ∣ s ; θ ) \pi(a|s;\theta) π(as;θ),以及基于该策略的对当前状态的每一个动作的未来期望回报函数——动作价值函数 Q π ( s , a ) Q_{\pi}(s,a) Qπ(s,a),我们就可以得到,能够计算出当前状态价值的状态价值函数 V π ( s ) = ∑ a ∈ A π ( a ∣ s ; θ ) ⋅ Q π ( s , a ) = E A ∼ π ( ⋅ ∣ s ; θ ) [ Q π ( s , A ) ] V_{\pi}(s)=\sum_{a\in \mathcal A}\pi(a|s;\theta)·Q_{\pi}(s,a)=\mathbb E_{A\sim\pi(·|s;\theta)}[Q_{\pi}(s,A)] Vπ(s)=aAπ(as;θ)Qπ(s,a)=EAπ(s;θ)[Qπ(s,A)],当一个策略的马尔可夫链运行达到稳态的时候,会有一个状态的稳态分布 ν ( s ) \nu(s) ν(s),那么一个策略越好,它的状态价值函数的期望——策略学习的目标函数 ∑ s ∈ S ν ( s ) V π ( s ) = E S [ V π ( S ) ] = J ( θ ) \sum_{s\in S}\nu(s)V_{\pi}(s)=\mathbb E_S[V_{\pi}(S)]=J(\theta) sSν(s)Vπ(s)=ES[Vπ(S)]=J(θ)一定越大,所以策略学习的优化问题就是 max ⁡ θ J ( θ ) \max_{\theta} J(\theta) maxθJ(θ),因为 S S S A A A都被期望掉了所以 J ( θ ) J(\theta) J(θ)只取决于 θ \theta θ

3. 置信域策略优化

3.1 策略学习的目标函数

trust region policy optimization, TRPO是一种策略学习方法,巧妙地结合了置信域的迭代优化方法——对目标函数做了一个方便迭代的等价形式 V π ( s ) = E A ∼ π ( ⋅ ∣ s ; θ ) [ Q π ( s , A ) ] = ∑ a ∈ A π ( a ∣ s ; θ ) ⋅ Q π ( s , a ) = ∑ a ∈ A π ( a ∣ s ; θ now ) π ( a ∣ s ; θ ) π ( a ∣ s ; θ now ) ⋅ Q π ( s , a ) = E A ∼ π ( ⋅ ∣ s ; θ now ) [ π ( a ∣ s ; θ ) π ( a ∣ s ; θ now ) ⋅ Q π ( s , a ) ] \begin{aligned}V_{\pi}(s)&=\mathbb E_{A\sim\pi(·|s;\theta)}[Q_{\pi}(s,A)]\\&=\sum_{a\in \mathcal A}\pi(a|s;\theta)·Q_{\pi}(s,a)\\&=\sum_{a\in \mathcal A}\pi(a|s;\theta_{\text{now}})\frac{\pi(a|s;\theta)}{\pi(a|s;\theta_{\text{now}})}·Q_{\pi}(s,a)\\ &=\mathbb E_{A\sim \pi(·|s;\theta_{\text{now}})}\left[\frac{\pi(a|s;\theta)}{\pi(a|s;\theta_{\text{now}})}·Q_{\pi}(s,a)\right]\end{aligned}\\ Vπ(s)=EAπ(s;θ)[Qπ(s,A)]=aAπ(as;θ)Qπ(s,a)=aAπ(as;θnow)π(as;θnow)π(as;θ)Qπ(s,a)=EAπ(s;θnow)[π(as;θnow)π(as;θ)Qπ(s,a)] J ( θ ) = E S [ E A ∼ π ( ⋅ ∣ S ; θ ) [ Q π ( S , A ) ] ] ⇒ J ( θ ∣ θ now ) = E S [ E A ∼ π ( ⋅ ∣ S ; θ now ) [ π ( A ∣ S ; θ ) π ( A ∣ S ; θ now ) ⋅ Q π ( S , A ) ] ] \begin{aligned} &J(\theta)&=&\mathbb E_{S}\left[\mathbb E_{A\sim\pi(·|S;\theta)}[Q_{\pi}(S,A)]\right]\\ \Rightarrow &J(\theta|\theta_{\text{now}}) &=&\mathbb E_S\left[\mathbb E_{A\sim \pi(·|S;\theta_{\text{now}})}\left[\frac{\pi(A|S;\theta)}{\pi(A|S;\theta_{\text{now}})}·Q_{\pi}(S,A)\right]\right] \end{aligned} J(θ)J(θθnow)==ES[EAπ(S;θ)[Qπ(S,A)]]ES[EAπ(S;θnow)[π(AS;θnow)π(AS;θ)Qπ(S,A)]]

3.2 做近似

可以采用蒙特卡洛近似 L ~ ( θ ∣ θ now ) = 1 n ∑ t = 1 n π ( a t ∣ s t ; θ ) π ( a t ∣ s t ; θ now ) ⋅ u t \tilde L(\theta|\theta_{\text{now}})=\frac{1}{n}\sum_{t=1}^{n}\frac{\pi(a_t|s_t;\theta)}{\pi(a_t|s_t;\theta_{\text{now}})}·u_t L~(θθnow)=n1t=1nπ(atst;θnow)π(atst;θ)ut其中, { ( s j , a j , r j , s j + 1 ) } j = 1 n \{(s_j,a_j,r_j,s_{j+1})\}_{j=1}^n {(sj,aj,rj,sj+1)}j=1n是用旧策略 π ( a t ∣ s t ; θ now ) \pi(a_t|s_t;\theta_{\text{now}}) π(atst;θnow)生成的轨迹,是对策略分布的近似。 u t = r t + γ ⋅ r t + 1 + γ 2 ⋅ r t + 2 + ⋅ ⋅ ⋅ + γ n − t ⋅ r n u_t=r_t+\gamma· r_{t+1}+\gamma^2·r_{t+2}+···+\gamma^{n-t}·r_n ut=rt+γrt+1+γ2rt+2+⋅⋅⋅+γntrn折扣回报,是对 Q π ( s t ∣ a t ; θ ) ( s t , a t ) Q_{\pi(s_t|a_t;\theta)}(s_t,a_t) Qπ(stat;θ)(st,at)的近似。

3.3 最大化

这是一个参数需要在置信域内的带约束的最大化问题: max ⁡ θ L ~ ( θ ∣ θ now ) , s.t . θ ∈ N ( θ now ) \max_{\theta} \tilde L(\theta|\theta_{\text{now}}), \quad \text{s.t}.\quad\theta\in\mathcal N(\theta_{\text{now}}) θmaxL~(θθnow),s.t.θN(θnow)置信域可以采用KL散度 max ⁡ θ L ~ ( θ ∣ θ now ) , s.t . 1 t ∑ i = 1 t KL [ π ( ⋅ ∣ s i ; θ now ) ∣ ∣ π ( ⋅ ∣ s i ; θ ) ] ≤ Δ \max_{\theta} \tilde L(\theta|\theta_{\text{now}}), \quad \text{s.t}.\quad\frac{1}{t}\sum_{i=1}^t\text{KL}\bigg [\pi(·|s_i;\theta_{\text{now}})||\pi(·|s_i;\theta)\bigg]\leq \Delta θmaxL~(θθnow),s.t.t1i=1tKL[π(si;θnow)∣∣π(si;θ)]Δ其中 Δ \Delta Δ是一个需要调整的超参数。至此,TRPO的思想讲完了。

细节说明

  • 在另外一些地方,你可能会看到类似 J ( θ ) = E π θ [ Q π θ ( S , A ) ] J(\theta) =\mathbb E_{\pi_{\theta}}[Q_{\pi_{\theta}}(S,A)] J(θ)=Eπθ[Qπθ(S,A)]的写法,本质上这和 J ( θ ) = E S [ E A ∼ π ( ⋅ ∣ S ; θ ) [ Q π θ ( S , A ) ] ] J(\theta) =\mathbb E_{S}\bigg [\mathbb E_{A\sim\pi(·|S;\theta)}[Q_{\pi_{\theta}}(S,A)]\bigg] J(θ)=ES[EAπ(S;θ)[Qπθ(S,A)]]没什么区别,只是把对 S S S A A A这两重期望合并成一重对策略 π θ \pi_{\theta} πθ的期望。实际当中常用基于 π θ \pi_{\theta} πθ的折扣回报来替代动作价值函数: J ( θ ) = E π θ [ ∑ t = 0 ∞ γ t r ( s t , a t ) ] J(\theta)=\mathbb E_{\pi_{\theta}}[\sum_{t=0}^{\infty}\gamma^t r(s_t,a_t)] J(θ)=Eπθ[t=0γtr(st,at)]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/971950.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

DeepSeek24小时写作机器人,持续创作高质量文案

内容创作已成为企业、自媒体和创作者的核心竞争力。面对海量的内容需求,人工创作效率低、成本高、质量参差不齐等问题日益凸显。如何在有限时间内产出高质量内容?DeepSeek写作机器人,一款24小时持续创作的智能工具,为企业和个人提…

使用html css js 来实现一个服装行业的企业站源码-静态网站模板

最近在练习 前端基础,html css 和js 为了加强 代码的 熟悉程序,就使用 前端 写了一个个服装行业的企业站。把使用的技术 和 页面效果分享给大家。 应用场景 该制衣服装工厂官网前端静态网站模板主要用于前端练习和编程练习,适合初学者进行 HT…

使用html css js 开发一个 教育机构前端静态网站模板

这个教育机构网站模板是专为前端开发初学者设计的练习项目,适合正在学习前端的学生或自学者使用。网站内容包括首页、课程体系、师资力量、关于我们和联系我们等基础页面,帮助学习者熟悉网页布局、样式设计和交互功能的实现。 静态页面 简单截图 应用…

(蓝桥杯——10. 小郑做志愿者)洛斯里克城志愿者问题详解

题目背景 小郑是一名大学生,她决定通过做志愿者来增加自己的综合分。她的任务是帮助游客解决交通困难的问题。洛斯里克城是一个六朝古都,拥有 N 个区域和古老的地铁系统。地铁线路覆盖了树形结构上的某些路径,游客会询问两个区域是否可以通过某条地铁线路直达,以及有多少条…

React 低代码项目:网络请求与问卷基础实现

🍞吐司问卷:网络请求与问卷基础实现 Date: February 10, 2025 Log 技术要点: HTTP协议XMLHttpRequest、fetch、axiosmock.js、postmanWebpack devServer 代理、craco.js 扩展 webpackRestful API 开发要点: 搭建 mock 服务 …

大流量汽(柴)油机泵,抗洪抢险的可靠选择|深圳鼎跃

近年来,全球范围内极端天气频发,洪涝灾害成为危及人民生命财产安全的重要因素。在抗洪抢险行动中,如何迅速、高效地排除积水,保障救援通道和安全区域成为关键。汽柴油机泵凭借其动力强、移动灵活、环境适应性强等特点,…

游戏开发微信小程序--工具箱之父

小程序工具箱之父已更新 Page({data: {score: 0,lives: 3,gameOver: false,playerVisible: true,level: 1,petType: cat,speedBuff: 1,coins: 0,friends: [],achievements: [],currentPetFrame: 0, // 当前宠物动画帧scoreMultiplier: 1, // 得分倍率gameSpeed: 1, // …

一.数据治理理论架构

1、数据治理核心思想: 数据治理理论架构图描绘了一个由顶层设计、管控机制、核心领域和管理系统四个主要部分组成的数据治理框架。它旨在通过系统化的方法,解决数据治理机制缺失引发的业务和技术问题,并最终提升企业的数据管理水平。 数据治…

一键安装教程

有需要的可以私信 亮点: 不再需要安装完去配置环境变量,下载完程序,解压后,右键进行管理员安装,安装完毕自动配置环境变量,即可使用 Maven 安装 右键 以管理员身份运行点击 下一步安装完成后会同步配置环境…

crud项目分析(2)

JWT令牌验证是否登录成功 简单的验证账号密码是否正确(存在) 全局异常处理器 过滤器 因为login下只有这一个网页 唯一一种操作 package com.itheima.filter;import ch.qos.logback.core.util.StringUtil; import com.alibaba.fastjson.JSONObject; import com.itheima.pojo.R…

深入解析iOS视频录制(二):自定义UI的实现

深入解析 iOS 视频录制(一):录制管理核心MWRecordingController 类的设计与实现 深入解析iOS视频录制(二):自定义UI的实现​​​​​​​ 深入解析 iOS 视频录制(三):完…

【Linux系统】生产者消费者模型:基于环形队列(信号量机制)

理论层面 1、环形队列的特性认识 环形队列采用数组模拟,用模运算来模拟环状特性 环形结构起始状态和结束状态都是⼀样的,不好判断为空或者为满,所以可以通过加计数器或者标记位来判断满或者空。另外也可以预留⼀个空的位置,作为…

【笔记】LLM|Ubuntu22服务器极简本地部署DeepSeek+API使用方式

2025/02/18说明:2月18日~2月20日是2024年度博客之星投票时间,走过路过可以帮忙点点投票吗?我想要前一百的实体证书,经过我严密的计算只要再拿到60票就稳了。一人可能会有多票,Thanks♪(・ω・)&am…

leetcode-414.第三大的数

leetcode-414.第三大的数 code review! 文章目录 leetcode-414.第三大的数一.题目描述二.代码提交 一.题目描述 二.代码提交 class Solution { public:int thirdMax(vector<int>& nums) {set<int> set_v(nums.begin(), nums.end());auto it set_v.rbegin()…

【设计模式】 代理模式(静态代理、动态代理{JDK动态代理、JDK动态代理与CGLIB动态代理的区别})

代理模式 代理模式是一种结构型设计模式&#xff0c;它提供了一种替代访问的方法&#xff0c;即通过代理对象来间接访问目标对象。代理模式可以在不改变原始类代码的情况下&#xff0c;增加额外的功能&#xff0c;如权限控制、日志记录等。 静态代理 静态代理是指创建的或特…

深度学习之图像回归(二)

前言 这篇文章主要是在图像回归&#xff08;一&#xff09;的基础上对该项目进行的优化。&#xff08;一&#xff09;主要是帮助迅速入门 理清一个深度学习项目的逻辑 这篇文章则主要注重在此基础上对于数据预处理和模型训练进行优化前者会通过涉及PCA主成分分析 特征选择 后…

利用分治策略优化快速排序

1. 基本思想 分治快速排序&#xff08;Quick Sort&#xff09;是一种基于分治法的排序算法&#xff0c;采用递归的方式将一个数组分割成小的子数组&#xff0c;并通过交换元素来使得每个子数组元素按照特定顺序排列&#xff0c;最终将整个数组排序。 快速排序的基本步骤&#…

照片模糊怎么变清晰?图生生AI修图-一键清晰放大

当打开手机相册时&#xff0c;那些泛着噪点的合影、细节模糊的风景照、像素化的证件图片&#xff0c;让珍贵时刻蒙上遗憾的面纱。而专业级图像修复工具的门槛&#xff0c;让多数人只能无奈接受这些"不完美的记忆"。AI技术的发展&#xff0c;让普通用户也能轻松拥有专…

Linux 网络与常用操作(适合开发/运维/网络工程师)

目录 OSI 七层协议简介 应用层 传输层 Linux 命令&#xff01;&#xff01;&#xff01; 1. ifconfig 命令 简介 1. 查看网络地址信息 2. 指定开启、或者关闭网卡 3. 修改、设置 IP 地址 4. 修改机器的 MAC 地址信息 5. 永久修改网络设备信息 2. route 路由命令 …

PID控制学习

前言 本篇文章属于PID控制算法的学习笔记&#xff0c;来源于B站教学视频。下面是这位up主的视频链接。本文为个人学习笔记&#xff0c;只能做参考&#xff0c;细节方面建议观看视频&#xff0c;肯定受益匪浅。 PID入门教程-电机控制 倒立摆 持续更新中_哔哩哔哩_bilibili 一…