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

news2024/10/5 15:22:26

前言

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

这里主要针对这种连续的状态空间处理。后面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.coloradmin.cn/o/1247725.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

给虚拟机配置静态id地址

1.令人头大的原因 当连接虚拟机的时候 地址不一会就改变,每次都要重新输入 2.配置虚拟机静态id地址 打开命令窗口执行 : vim /etc/sysconfig/network-scripts/ifcfg-ens33 按下面操作修改 查看自己子网掩码 3.重启网络 命令行输入 systemctl restart netwo…

基于opencv+ImageAI+tensorflow的智能动漫人物识别系统——深度学习算法应用(含python、JS、模型源码)+数据集(二)

目录 前言总体设计系统整体结构图系统流程图 运行环境爬虫模型训练实际应用 模块实现1. 数据准备1)爬虫下载原始图片2)手动筛选图片 相关其它博客工程源代码下载其它资料下载 前言 本项目通过爬虫技术获取图片,利用OpenCV库对图像进行处理&a…

2023/11/24JAVAweb学习

age只会执行成立的,show其实都展示了,通过display不展示 使用Vue,必须引入Vue.js文件 假如运行报错,以管理员身份打开vscode,再运行 ------------------------------------------------------------------- 更改端口号

C# 读写FDX-B(ISO11784/85)动物标签源码

本示例使用的发卡器:EM4305 EM4469 ISO11784/85协议125K低频FXD-B动物标签读写发卡器-淘宝网 (taobao.com) using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using S…

客户案例:保障高校邮件安全,守护教育信息安全堡垒

客户背景 电子科技大学(以下简称“电子科大”),位于四川省成都市,是一所历史悠久、实力雄厚的综合性工业大学。作为我国重点建设的双一流高校,电子科大在国内外均享有盛誉,其学科涵盖了理、工、管、文等多…

list的总结

目录 1.什么是list 1.1list 的优势和劣势 优势: 劣势: 2.构造函数 2.1 default (1) 2.2 fill (2) 2.3 range (3) 2.4 copy (4) 3.list iterator的使用 3.1. begin() 3.2. end() 3.3迭代器遍历 4. list容量函数 4.1. empty() 4.2. siz…

拒绝大厂重回OpenAI?秋招学一波奥特曼的选offer思路

大家好,我是鱼皮。最近 编程导航 很多同学秋招上岸了,我收到最多的鱼友提问就是:秋招的 offer 应该怎么选? 今年的大厂秋招行情和去年比起来转暖了不少,特别是在一些关键的技术岗位上,大厂们拿出了一种「砸…

Excel表中合并两个Sheet的方法?

按AltF11,调出Visual Basic 界面。 在左侧窗口中,右键选择“插入”—“模块”: 将如下代码粘贴进去,点击运行按钮,完成数据表合并。 Sub MergeAllSheetsInThisWorkbook() On Error Resume Next Application.ScreenU…

CPU+GPU多样化算力,ZStack Cloud助力游戏精酿核心业务上云

游戏精酿通过ZStack Cloud云平台提供高性能、高可用的云主机、云存储和云网络;前期通过超融合架构快速构建云基础设施,来支持Jira、Redis等关键业务;并实现对原有私有云平台业务的替代,按需将原有私有云业务滚动迁移到ZStack Clou…

企业海外分部,如何实现安全稳定的跨境网络互连?

如今,众多企业广泛采取数字化业务系统,如OA、ERP及CRM等,来提升其业务运营效率。同时,私有云与公有云混合架构也逐渐普及化。 具体来说,很多企业选择将研发系统部署在公司本地的私有云环境,以此确保数据安全…

气膜厂家如何确保质量?

气膜厂家是专门生产和销售气膜产品的企业,需要对产品的质量进行有效管理和控制,以确保产品能够满足客户的需求和期望。下面将从生产过程、质量控制手段和售后服务等方面介绍气膜厂家如何确保产品质量。 起初,气膜厂家需要建立完善的质量管理…

7.5 Windows驱动开发:监控Register注册表回调

在笔者前一篇文章《内核枚举Registry注册表回调》中实现了对注册表的枚举,本章将实现对注册表的监控,不同于32位系统在64位系统中,微软为我们提供了两个针对注册表的专用内核监控函数,通过这两个函数可以在不劫持内核API的前提下实…

Grafana实现下拉列表 、动态传参

程序员的公众号:源1024,获取更多资料,无加密无套路! 最近整理了一份大厂面试资料《史上最全大厂面试题》,Springboot、微服务、算法、数据结构、Zookeeper、Mybatis、Dubbo、linux、Kafka、Elasticsearch、数据库等等 …

手表出行之腕上畅玩—支付宝篇

线上支付己经成为我们生活中不可或缺的一部分,手表的支付功能又进一步提升了购物的便捷度,将手表与支付宝App绑定后就能够快速体验抬腕支付、抬腕乘车以及抬腕收集支付宝能量等玩法!

yolov5从英伟达平台移植到华为昇腾开发板上的思路

作者:朱金灿 来源:clever101的专栏 为什么大多数人学不会人工智能编程?>>> 最近需要将yolov5代码从英伟达平台移植到华为昇腾开发板上。搜了一些代码和资料,大致明白了二者的差别。 1.二者使用的模型文件不一样 yolov…

oracle的debjob挂載及查詢

背景 有一個需求需要定時去執行一個produce,可以使用oracle的dbjob定時執行,相比較之前的vbs更加絲滑 --傳遞produce 開始的時間 頻率 declarea number;beginDBMS_JOB.SUBMIT(a,xx_warehouse_daliy_record_p;,to_date(202311230800,yyyymmddhh24mi),…

物联网AI MicroPython学习之语法 实时时钟RTC

学物联网,来万物简单IoT物联网!! RTC 介绍 模块功能: 实时时钟RTC驱动模块 接口说明 RTC - 构建RTC对象 函数原型:RTC()参数说明: 无 返回值: 构建的RTC对象。 datetime - RTC时钟操作 函数原型&a…

RevCol:可逆的柱状神经网络

文章目录 摘要1、简介2、方法2.1、Multi-LeVEl ReVERsible Unit2.2、可逆列架构2.2.1、MACRo设计2.2.2、MicRo 设计 2.3、中间监督 3、实验部分3.1、图像分类3.2、目标检测3.3、语义分割3.4、与SOTA基础模型的系统级比较3.5、更多分析实验3.5.1、可逆列架构的性能提升3.5.2、可…

UNETR++:深入研究高效和准确的3D医学图像分割

论文:https://arxiv.org/abs/2212.04497 代码:GitHub - Amshaker/unetr_plus_plus: UNETR: Delving into Efficient and Accurate 3D Medical Image Segmentation 机构:Mohamed Bin Zayed University of Artificial Intelligence1, Univers…

从Redis反序列化UserDetails对象异常后中发现FastJson序列化的一些问题

最近在使用SpringSecurityJWT实现认证授权的时候,出现Redis在反序列化userDetails的异常。通过实践发现,使用不同的序列化方法和不同的fastJson版本,异常信息各不相同。所以特地记录了下来。 一、项目代码 先来看看我项目中redis相关配置信息…