Q-learning智能体

news2024/7/6 17:32:04

Q-learning智能体

  Q-learning算法是一种无模型、在线、非策略的强化学习方法。Q-learning算法是一种基于价值的强化学习算法,它训练一个评价网络去估计回报或未来奖励。对于给定的观测值,智能体选择并输出估计收益最大的动作。
注:Q-learning算法不支持循环网络。
Q-learning智能体可以在具有以下观察和动作空间的环境中进行训练。
在这里插入图片描述Q-learning使用如下的评价网络:
在这里插入图片描述   在训练过程中,智能体使用贪心策略探索来探索动作空间。在每个控制区间内,agent随机选择一个概率为 ϵ \epsilon ϵ的动作,否则选择值函数最大的动作,概率为 1 − ϵ 1-\epsilon 1ϵ

评价函数逼近器

  为了估计值函数,一个Q-learning智能体维持一个评价函数 Q ( S , A ; ϕ ) Q(S,A;\phi ) Q(S,A;ϕ),它是一个带参数 ϕ \phi ϕ的函数逼近器。评价网络将观察S和行动A作为输入,并返回对长期回报的相应期望。
  对于使用基于表的值函数的评价网络, ϕ \phi ϕ中的参数是表中实际的 Q ( S , A ) Q(S,A) Q(S,A)值。
  在训练过程中,智能体调整参数值 ϕ \phi ϕ。训练后,参数保持在它们的调整值和训练值函数逼近器的参数被存储在评价网络 Q ( S , A ) Q(S,A) Q(S,A)中。

创建智能体

创建一个Q-learning智能体:

  • 使用rlQValueFunction对象创建评价网络。
  • 使用rlQAgentoptions对象指定代理选项。
  • 使用rlQAgent对象创建代理。

训练算法

Q-learning智能体使用如下的训练算法。要配置训练算法,请使用rlQAgentOptions对象指定选项。

  • 用随机参数值 ϕ \phi ϕ初始化评价网络 Q ( S , A ; ϕ ) Q(S,A;\phi ) Q(S,A;ϕ).

  • 对于每一个训练集:
    1.从环境中得到初始观测值 S S S.
    2. 对于迭代的每一步重复以下步骤,直到S是最终状态。
     a. 对于当前观测值S,选择概率为 ϵ \epsilon ϵ的随机动作A。否则,选择评价值函数最大的动作。 y = R + γ max ⁡ A Q ( S ′ , A ; ϕ ) y=R+\gamma \max _{A} Q\left(S^{\prime}, A ; \phi\right) y=R+γAmaxQ(S,A;ϕ)要指定 ϵ \epsilon ϵ及其衰减率,请使用EpsilonGreedyExploration选项。
     b.确定动作A,观察奖励 R R R和下一个观测值 S ′ S' S
     c.如果 S ′ S' S 是一个最终的状态,将值函数目标设置成R,否则,设置它为 y = R + γ max ⁡ A Q ( S ′ , A ; ϕ ) y=R+\gamma \max _{A} Q\left(S^{\prime}, A ; \phi\right) y=R+γAmaxQ(S,A;ϕ)要设置折扣因子 γ \gamma γ,请使用DiscountFactor选项。
     d.计算值函数目标和当前$Q(S,A;\phi )值的差值。
    Δ Q = y − Q ( S , A ; ϕ ) \Delta Q=y-Q(S, A ; \phi) ΔQ=yQ(S,A;ϕ)
     e.使用学习率 α \alpha α更新critic,在创建critic时,通过在智能体选项对象的rlCriticoptimizerOptions属性中设置LearnRate选项来指定学习率。

    • 对于基于表的评价网络,更新表中相应的 Q ( S , A ) Q(S,A) Q(S,A)值。
      Q ( S , A ) = Q ( S , A ; ϕ ) + α ⋅ Δ Q Q(S, A)=Q(S, A ; \phi)+\alpha \cdot \Delta Q Q(S,A)=Q(S,A;ϕ)+αΔQ
    • 对于所有其他类型的评价网络,计算损失函数相对于参数 φ φ φ的梯度 Δ φ Δφ Δφ。然后,根据计算得到的梯度更新参数。在这种情况下,损失函数是 Δ Q ΔQ ΔQ的平方。 Δ ϕ = 1 2 ∇ ϕ ( Δ Q ) 2 ϕ = ϕ + α ⋅ Δ ϕ \begin{array}{c}\Delta \phi=\frac{1}{2} \nabla_{\phi}(\Delta Q)^{2} \\ \phi=\phi+\alpha \cdot \Delta \phi\end{array} Δϕ=21ϕ(ΔQ)2ϕ=ϕ+αΔϕ

     f. 将观测值 S S S设置成 S ′ S' S


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

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

相关文章

PL/SQL工具下载地址

https://www.allroundautomations.com/registered-plsqldev/ 选择需要下载的版本即可

Shopee、Lazada卖家不得不看的提升销量技巧,自养号测评打造权重

近年来,大部分虾皮、Lazada卖家开始通过测评补单的方式来提升店铺权重和产品排名,以吸引更多流量。这种方式可以有效提高产品的销售转化率,对店铺的运营起到推动作用。然而,测评补单并非简单的购买过程,其中涉及到许多…

网页提示证书错误 怎么办

随着网站使用SSL证书来加密网站信息,SSL证书的应用也越来越广泛,那么有时候我们进入网站,明明安装了SSL证书,为什么也会提示证书错误呢? SSL证书错误可能是由以下原因导致的: 1. 证书过期: SSL证…

推荐一个假数据接口网页 适用于示例项目

DummyJSON - Fake REST API of JSON data for development

全面分享‘’找不到msvcp140.dll无法继续执行代码修复教程

计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是“msvcp140.dll缺失”。这个错误通常会导致某些应用程序无法正常运行。为了解决这个问题,我们需要找到合适的解决办法。本文将介绍5种解决msvcp140.dll缺失问题的方法,帮…

【实战】硅基物语.AI写作高手:从零开始用ChatGPT学会写作

文章目录 从零开始使用ChatGPT学习写作一、简介二、ChatGPT写作的优势1. 提高效率2. 丰富的素材库3. 语言多样性4. 智能纠错 三、如何使用ChatGPT学习写作1. 确定写作目标和受众2. 了解ChatGPT的原理和特点3. 选择合适的模型和训练数据4. 制定写作计划和流程5. 不断实践和优化 …

管理员|顾问必看!8个Salesforce权限集的最佳实践

Salesforce中的权限一直始终是热门话题。权限集是简档的附加。它们通常具有相同的设置,用于增加用户的权限,使其超过简档提供的权限。可以将简档视为许多用户共有的基本权限集,而权限集是部分用户需要的额外权限。 本篇文章将介绍Salesforce…

Altium Designer元件库封装

资料 立创商城:https://www.szlcsc.com/ 立创EDA:https://pro.lceda.cn/ 库创建项目 项目创建 文件→新建→项目→PCB 新建原理图库 项目(反键)→添加新的…到工程→Schematic Library 新建PCB库 项目(反键&…

【注意!水群需谨慎】手把手教你使用Python实时监测QQ群消息

文章目录 1. 写在前面2. 下载源码构建3. 通过release部署4. 运行本地服务5. 通过API获取数据6. 完整代码实现 1. 写在前面 前段时间写了一个QQ群消息监测的自动化机器人,需求则是加入到某些特定的群组,对群内对话消息进行实时监测与分析。当然&#xff0…

uniapp:谷歌地图,实现地图展示,搜索功能,H5导航

页面展示 APP H5 谷歌地图功能记录,谷歌key申请相对复杂一些,主要需要一些国外的身份信息。 1、申请谷歌key 以下是申请谷歌地图 API 密钥的流程教程: 登录谷歌开发者控制台:打开浏览器,访问 Google Cloud Platform Console。 1、创建或选择项目:如果你还没有创建项目…

智能低代码洪流涌动程序员节 华为云Astro触发1024的乘法效应

从人工智能至量子计算,再到最新的云原生技术,越来越多的荣耀被程序员斩获。今年1024程序员节,华为云Astro向全民致敬:「低代码高产出 拓荒数字化版图——人人皆是程序员」,为全球工程师及开发爱好者呈现智能化开发的魅…

北京筑龙发声炼化企业大会,助力央国企采购供应链数字化转型

10月25日,以“科技创新引领高质量发展,夯实炼化自立自强根基”为主题的第四届炼化企业创新发展大会暨新技术与解决方案交流会”在浙江省宁波市盛大召开。北京筑龙智能化业务部高级咨询顾问王良受邀出席,带来主题为“智能物料——企业采购供应…

FreeRTOS学习day1任务创建(动态创建)

顾名思义 免费的实时操作系统 用法基本和Linux下的多线程编程类似 探索者开发版实验 动态创建4个任务start_task task1 task2 task3 优先级依次为1 2 3 4 (注意优先级不能为0,0是空闲任务) 我的理解:主线程start_task 主线程 task1 ta…

uniapp接口请求api封装,规范化调用

封装规范和vue中的差不多,都是统一封装成一个request对象,然后在api.js里面调用。 先创建一个utils文件夹,然后里面创建一个request.js,代码如下: export const baseURL 基础url地址const request (options) > …

k8s-----25、资源调度-ResourceQuota资源配额、资源限制limitrange、服务质量QoS

1、ResourceQuota资源配额 1.0 作用 命名空间资源配额。防止公司内部人员对资源的不合理利用。 1.1、为什么需要资源配额 1、作为k8s集群的管理员,知道集群的规模,会合理规划资源,但是使用侧不知道,会导致很多不合理的使用场景…

ffmpeg的下载和编译(vs2022)

感谢大佬的二创,直接提供了sln编译 ffmpeg二创地址 创建如下目录 build存放代码(build最好改成source,因为作者这么建议,编译完才发现) msvc存放第三方依赖的头文件,这里固定叫msvc,因为大佬的sln里查找的路径是这个,不嫌麻烦也可以自己改 下载代码和编译器 下载源码…

Qt5 Python-docx库的使用,Qt python混合编程,qt 读写word,不依赖office

解决方案的选择 参考: https://www.jianshu.com/p/be68884849c3 因为项目要求不能使用模板方案,不能依赖Office,网上找了一些解决方案进行调研,以下几个方案: OpenOffice: 兼容性差,集成调用难度大LibOffi…

Mac怎么删除文件和软件?苹果电脑删除第三方软件方法

Mac删除程序这个话题为什么一直重复说或者太多人讨论呢?因为如果操作不当,可能会导致某些不好的影响。因为Mac电脑如果有太多无用的应用程序,很有可能会拖垮Mac系统的运行速度。或者如果因为删除不干净,导致残留文件积累在Mac电脑…

产品经理的秘密武器:提高效率的 6 种软件工具

在进入产品坑之前,你被这些假象“欺骗”过吗? 你认为产品经理是这样的:早上喝咖啡,听音乐,看数据报告,处理电子邮件,写一些产品需求,提交给各部门;午餐休息后&#xff0…

Java——Spring的控制反转(一文详解IOC)

Spring,Spring MVC,Spring Boot 三者比较 答: 这三者专注的领域不同,解决的问题也不一样;总的来说,Spring 就像一个大家族,有众多衍生产品例如 Boot,Security,JPA等等。…