[PyTorch][chapter 66][强化学习-值函数近似]

前言

                现实强化学习任务面临的状态空间往往是连续的,无穷多个。

这里主要针对这种连续的状态空间处理。后面DQN 也是这种处理思路。

目录:

   1: 原理

   2: 梯度更新

   3: target 和 预测值

   4     流程


一 原理

       强化学习最重要的是得到 值函数,或者动作-状态值函数,

  根据值函数可以得到最优策略。

   当状态空间为连续的时候,表达为状态的线性函数

     V_{\theta}(x)=\theta^{T}x

     x:状态向量

    \theta: 向量参数

        我们希望通过上面公式学得的值函数尽可能接近真实的V^{\pi},近似度经常用最小二乘误差度量

   E_{\theta}=E_{x \sim \pi}[V^{\pi}(x)-V_{\theta}(x)]^2

  E_{x \sim \pi}  表示由策略采样得到的状态上的期望


二  梯度更新

     为了使得误差最小,采用梯度下降法,对误差求梯度导数

      \frac{\partial E}{\partial \theta}=E_{x \sim pi}[2(V^{\pi}(x)-V_{\theta}(x))x]

     于是可得到对于单个样本的更新规则

     \theta= \theta+\alpha(V^{\pi}(x)-V_{\theta}(x))x


三 预测值 和  target 

     我们并不知道策略的真实值函数 V^{\pi},可以借助时序差分学习,

基于 v^{\pi}(x)=r+\gamma V^{\pi}(x^{'}) 用当前估计的值函数替代真实的值函数,

 则

   \theta =\theta +\alpha(r+\gamma V_{\theta}(x^{'})-V_{\theta}(x))x

       =\theta+\alpha(r+\gamma \theta^{T}x^{'}-\theta^{T}x)x

       在时序差分学习中,需要 状态-动作函数以获取策略,这里一种简单的做法

是令\theta 作用于状态和动作的联合向量上,例如给状态向量增加一维用于存放

动作编号,(x,a),另一种做法是对动作变量a 进行one-hot 编码,再合并到x.

 

   训练的时候:

     预测值: v_{\theta}(x)

     target:   r+\gamma V_{\theta}(x^{'})


四  流程

   

 

   

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二阶线性微分算子

求导算子:,相当于 二阶线性微分算子 符号: 性质:设函数yy(x),,,二阶可导,C、C1,C2为常数,则有 叠加原理 设函数 ,都是L[y]的解, C1,C2是常数,则c1y1c2y2,也是L[y]的解 函数线性…

每日一题(LeetCode)----链表--链表最大孪生和

每日一题(LeetCode)----链表–链表最大孪生和 1.题目&#xff08;2130. 链表最大孪生和&#xff09; 在一个大小为 n 且 n 为 偶数 的链表中&#xff0c;对于 0 < i < (n / 2) - 1 的 i &#xff0c;第 i 个节点&#xff08;下标从 0 开始&#xff09;的孪生节点为第 (n…

相机设置参数:黑电平(Black Level)详解和示例

本文通过原理和示例对相机设置参数“黑电平”进行讲解&#xff0c;以帮助大家理解和使用。 原理 相机中黑电平原理是将电平增大&#xff0c;可以显示更多暗区细节&#xff0c;可能会损失一些亮区&#xff0c;但图像更多的关注暗区&#xff0c;获取完图像信息再减掉。只是为了…

VMware安装windows操作系统

一、下载镜像包 地址&#xff1a;镜像包地址。 找到需要的版本下载镜像包。 二、安装 打开VMware新建虚拟机&#xff0c;选择用镜像文件。将下载的镜像包加载进去即可。

Java枚举详解

一、什么是枚举类型 枚举类型是一种特殊的数据类型&#xff0c;用于定义一组固定的命名常量。枚举类型提供了一种更强大、更安全和更易读的方式来表示一组相关的常量。 在Java中&#xff0c;枚举类型是通过使用enum关键字来定义的。枚举类型可以包含一个或多个枚举常量&#xf…

DELL MD3600F存储重置管理软件密码

注意&#xff1a;密码清除可能会导致业务秒断&#xff0c;建议非业务时间操作 针对一台控制器操作即可&#xff0c;另一控制器会同步操作 重置后密码为空&#xff01; 需求&#xff1a;重置存储管理软件密码 管理软件中分配物理磁盘时提示输入密码(类似是否了解风险确认操作的提…

【网易云商】构建高效 SaaS 系统的技术要点与最佳实践

SaaS 是什么 定义 相信大家都对云服务中的 IaaS、PaaS、SaaS 早就有所耳闻&#xff0c;现在更是衍生出了 aPaaS、iPaaS、DaaS 等等的类似概念。对于 SaaS 也有各种各样的定义&#xff0c;本文给出的定义是&#xff1a; SaaS 是一种基于互联网提供服务和软件的交付模式&#xf…

Wireshark的捕获过滤器

Wireshark的过滤器&#xff0c;顾名思义&#xff0c;作用是对数据包进行过滤处理。具体过滤器包括捕获过滤器和显示过滤器。本文对捕获过滤器进行分析。 捕获过滤器&#xff1a;当进行数据包捕获时&#xff0c;只有那些满足给定的包含/排除表达式的数据包会被捕获。 捕获过滤器…

什么是轻量应用服务器?可以从亚马逊云科技的优势入手了解

什么是轻量应用服务器&#xff1f; 随着如今各行各业对云计算的需求越来越多&#xff0c;云服务器也被越来越多的企业所广泛采用。其中&#xff0c;轻量应用服务器是一种简单、高效、可靠的云计算服务&#xff0c;能够为开发人员、企业和个人提供轻量级的虚拟专用服务器&#x…

MeterSphere | 接口测试请求体中,int类型的入参实现动态化变量

项目场景&#xff1a; 在接口自动化的时候&#xff0c;要把上一个接口的 Int 变量传入到 下一个接口中进行使用&#xff0c;但编译器会出现 红色的 X 符号 问题描述 如何实现 int 类型的入参实现动态化变量&#xff1f; 解决方案&#xff1a; 忽视掉这个红色 X 号&#xff0…

使用 JavaScript 进行 API 测试的综合教程

说明 API 测试是软件测试的一种形式&#xff0c;涉及直接测试 API 并作为集成测试的一部分&#xff0c;以确定它们是否满足功能、可靠性、性能和安全性的预期。 先决条件&#xff1a; JavaScript 基础知识。Node.js 安装在您的计算机上。如果没有&#xff0c;请在此处下载。npm…

深度学习之基于Tensorflow银行卡号码识别系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介银行卡号码识别的步骤TensorFlow的优势 二、功能三、系统四. 总结 一项目简介 # 深度学习基于TensorFlow的银行卡号码识别介绍 深度学习在图像识别领域取得…