RL — 强化学习算法概述

news2024/10/7 16:21:54

一、说明

         在本系列中,我们检查了许多强化学习(RL)算法,例如,MoJoCo任务的策略梯度方法,Atari游戏的DQN和机器人控制的基于模型的RL。虽然许多算法都是针对特定领域引入的,但这种联系只能是遗留的。在本文中,我们将概述这些算法,并讨论它们在选择使用什么方法时的一般权衡。

二、无模型算法

        RL 算法可分为基于模型的算法和无模型算法。在无模型RL中,我们不知道也不想学习系统动力学

        或者,我们只是不在乎,因为该方法不需要状态转换的知识。我们对行动进行抽样并观察相应的奖励,以优化政策或拟合价值函数。

        无模型 RL 分为策略优化或价值学习:

        以下是每个类别中的一些高级说明:

  • 值迭代 — 值迭代使用动态规划以迭代方式计算值函数。

从源代码修改

  • 策略迭代 — 我们计算价值函数,并在替代步骤中优化策略。

  • 价值学习/Q-学习(例如DQN,Q学习,TD,拟合值迭代)- 如果没有明确的策略,我们将价值函数或Q值函数迭代拟合,与非策略采取的行动下观察到的奖励,例如ε贪婪策略,它根据Q值函数选择操作,有时选择随机操作进行探索。

  • 策略梯度(例如 REINREINFORCEMENT、TRPO、PPO) — 我们使用奖励的梯度上升来优化策略,w.r.t. 策略参数 θ。直观地说,它逐渐改进了政策,使特定状态下的高回报行动更有可能。

  • 参与者-批评者(例如 A3C、SAC)—策略梯度方法中的梯度可以由参与者来决定采取什么操作,批评者来估计值或 Q 函数。参与者-批评者方法主要是一种政策梯度方法,其优势函数由观察到的奖励和批评者网络计算。在这种方法中,我们迭代拟合批评者(值函数或Q函数)和参与者。

  • 进化 — 我们从随机策略开始。我们采取行动并观察奖励。我们进行许多猜测(行动),并保留那些奖励更高的猜测(行动)。通过重复这个过程,我们允许更有前途的解决方案发展和成熟。

三、基于模型的强化学习

对于基于模型的RL,我们从系统动力学(模型)和成本函数开始,以做出最佳决策。

  • 轨迹优化(例如 iLQR)— 使用模型和成本函数规划最佳操作(最佳策略)的最佳控制器。

  • 蒙特卡罗树搜索 (MCTS) — MCTS 是离散控制空间中的轨迹优化。MCTS 搜索可能的移动并将结果记录在搜索树中。它使用 Q 值函数来利用有希望的行动,并添加探索加成以实现更好的探索。最终,它会在确定下一步行动时构建本地策略。

  • 反向传播(例如PILCO) — 如果成本函数和模型已知,我们可以通过成本函数和模型使用反向传播来改进策略。

  • 模仿最优控制(例如引导策略搜索)—我们使用类似于轨迹优化的概念训练最优控制器。但与此同时,我们使用最优控制器生成的采样轨迹来创建策略π(下面的红框)。

从源代码修改

  • 规划(例如 Dyna)— Dyna 使用真实经验来拟合价值函数(步骤 d),并在步骤 e 的“模型”中记录动态过渡和奖励。现在,我们可以随机重播“模型”的经验(步骤 f)以进一步训练值函数。

四、目的

        无模型和基于模型的强化学习都会优化操作,以最大化预期奖励。

五、价值学习

        价值学习使用监督学习来拟合抽样奖励中的 Q 值或 V 值。

        局限性:

  • 最小化错误拟合:不直接优化最终策略。
  • 当使用值函数的非线性近似器时,不能保证收敛。
  • 如果值函数是近似的,而不是精确计算它,则存在稳定性问题。它可以通过像 DQN 中的方案那样来缓解。
  • 许多超参数:目标网络延迟、重放缓冲区大小以及对学习速率的敏感性。

六、策略梯度

        策略梯度使获得高回报的行动的可能性最大化。

        为了稳定训练,我们用基线减去预期奖励以减少方差。

基线的一个常见选择是 V(S)。以下是定义:

强度:

  • 直接优化策略。
  • 与深度学习模型(包括 RNN)配合良好的梯度下降解决方案。
  • 可以轻松地为目标函数添加约束和激励。

局限性

  • 高方差。策略梯度是干扰的 - 若要缓解问题,请使用更大的批大小或信任区域。
  • 难以调整的学习率 - 使用亚当或自然政策梯度方法,如PPO。
  • 样品效率差 — 需要大量样品。
  • 预期奖励的基线设计可能很复杂。
  • 没有将问题完全定义为优化问题。

蒙特卡洛政策梯度

以下是策略梯度的算法,它使用完整的剧集推出(蒙特卡罗方法)来评估总奖励。

七、TRPO

        策略梯度可能会进行激进的策略更改,从而破坏训练进度。TRPO是一种使用自然政策梯度的策略梯度方法。它使用信任区域来限制每次迭代中的策略更改,以实现更安全、更好的决策。

限度:

  • TRPO中的共轭梯度很复杂,计算成本很高。
  • H 的计算用于测量政策模型参数 θ 的曲率,它不能很好地与表达性政策模型(如 CNN 和 RNN)相适应。它在Atari基准测试中表现不佳。

八、PPO

        PPO类似于TRPO。它稍微放宽了策略更改限制,因此可以使用更快的一阶优化器,而不是计算二阶导数。

九、演员兼评论家

        参与者-批评者方法是一种具有价值学习的策略梯度方法,以最小化预期奖励的方差。此更改稳定了训练。

十、基于模型的强化学习

        基于模型的强化学习从系统动力学(模型)和成本函数开始,以找到最佳控制。控制与此处的操作具有相同的含义。一旦训练了最佳控制器,我们仅使用它来采取行动。但有时,任务的策略可能比模型更简单。如果这是真的,我们可以使用模型和进一步规划来创建示例来训练策略(引导式策略搜索)。我们还可以使用经过训练的模型生成样本来学习价值函数(Dyna)。

        基于模型的 RL(无显式策略)

        我们使用采样轨迹拟合模型,并使用轨迹优化来规划进行最佳控制的控制器

        在规划中:

  • 对于连续空间,请使用轨迹优化。
  • 对于离散空间,请使用蒙特卡罗树搜索等方法。

        局限性

  • 专注于构建更好的模型。但更好的模式并不等同于更好的政策。

        基于模型的RL(通过反向传播进行策略学习)

弱点

  • 轨迹内的状态和操作高度相关。因此,计算出的梯度往往会自我放大。它可能会严重遭受消失和爆炸问题。

        引导式策略搜索全球定位系统

        GPS 使用轨迹优化来优化控制器。然后,我们运行控制器来生成轨迹,以便我们可以使用监督学习来学习策略。

从源代码修改

        强度

  • 在某些问题域中,策略比模型更容易学习。

        动态

        我们使用真实经验训练模型。稍后,我们使用经过训练的模型生成样本,以更好地学习 Q 值函数。

        使用基于样本的计划进行基于模型的 RL(来源)

参考文章:

RL — Reinforcement Learning Algorithms Overview | by Jonathan Hui | Medium

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

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

相关文章

BKTEM-3A型热电材料性能测试仪(动态法)

BKTEM-3A型热电材料性能测试仪(动态法) 关键词:塞贝克(seebeck),波尔贴(Peltier)效应,热电系数 BKTEM-3型热电材料性能测试仪热电材料也称温差电材料(thermoelectric materials&…

c语言const修饰的说明

1、const修饰的为常量&#xff0c;不可以直接修改&#xff0c;但是可以通过指针修改 #include "stdio.h" #include <stdlib.h>int main() {//1、constconst int a 10;//a 100;//err 左值不可修改&#xff0c;const修饰的为常量&#xff0c;不可以直接修改&a…

WSL2安装CentOS7和CentOS8

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、下载ZIP包&#xff1f;二、安装1.打开Windows子系统支持2.安装到指定位置3.管理虚拟机4.配置虚拟机1.配置国内源2.安装软件3.安装第三方源 5.配置用户1.创建…

iNav飞控之FAILSAFE机制

iNav飞控之FAILSAFE机制 1. 源由2. 设计2.1 触发场景2.1.1 上锁时触发2.1.2 解锁时触发 2.2 FAILSAFE策略2.2.1 DROP2.2.2 LAND2.2.3 SET-THR2.2.4 RTH2.2.5 NONE 2.3 异常场景2.3.1 救援上锁2.3.2 救援后解锁2.3.3 FAILSAFE地面预判2.3.4 RTH丢失定位2.3.5 RC链路恢复 3. 重要…

怎样做好字幕翻译服务?

我们知道&#xff0c;字幕泛指影视作品后期加工的文字&#xff0c;往往显示在电视、电影、舞台作品中。字幕翻译就是将外国影片配上本国字幕或者是将本国影片配上外国字幕。那么&#xff0c;字幕翻译的主要流程是什么&#xff0c;怎样做好字幕翻译服务&#xff1f; 据了解&…

二进制链表转整数

给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。 请你返回该链表所表示数字的 十进制值 。 示例 1&#xff1a; 输入&#xff1a;head [1,0,1] 输出&#xff1a;5 解释&#xff1a;二进制数 (101) 转化为十进…

IDEA超强XSD文件编辑插件-XSD / WSDL Visualizer

前言 XSD / WSDL Visualizer可以简化XML架构定义(XSD)和WSDL文件编辑过程; 通过使用与IntelliJ无缝集成的可视化编辑器&#xff0c;转换处理XSD和WSDL文件的方式。告别导航复杂和难以阅读的代码的挫败感&#xff0c;迎接流线型和直观的体验。 插件安装 在线安装 IntelliJ IDE…

yxBUG记录

1、 原因&#xff1a;前端参数method方法名写错。 2、Field ‘REC_ID‘ doesn‘t have a default value 问题是id的生成问题。 项目的表不是自增。项目有封装好的方法。调用方法即可。 params.put("rec_id",getSequence("表名")) 3、sql语句有问题 检…

【iOS】App仿写--天气预报

文章目录 前言一、首页二、搜索界面三、添加界面四、浏览界面总结 前言 最近完成了暑假的最后一个任务——天气预报&#xff0c;特此记录博客总结。根据iPhone中天气App的功能大致可以将仿写的App分为四个界面——首页&#xff0c;搜索界面&#xff0c;添加界面&#xff0c;浏…

基金公司最佳实践:如何用价值流分析,洞察研发效能瓶颈?

近日&#xff0c;ONES 受邀参加 QECon 2023 全球软件质量&效能大会&#xff08;北京站&#xff09;。在会上&#xff0c;ONES 高级研发总监&首席解决方案架构师陈亮宇&#xff0c;发表了主题为《聚焦价值流分析&#xff0c;寻找研发效能的「北极星」》的演讲&#xff0…

NSX 4.1中新的网络和高级安全功能介绍

我们很高兴地宣布VMware NSX 4.1全面上市&#xff0c;该版本为私有云、混合云和多云的虚拟化网络和高级安全提供了新功能。该版本的新特性和功能将使VMware NSX客户能够利用增强的网络和高级安全&#xff0c;提高运营效率和灵活性&#xff0c;并简化了故障排除的过程。 领先于…

使用免费MES系统的成功经验

随着科技的发展和数字化时代的到来&#xff0c;越来越多的工厂开始采用生产管理软件来提高生产效率和管理水平。 本文将分享一家工厂在使用免费生产管理软件后的成功经验&#xff0c;希望对广大读者有所帮助。 “之前也是在市面上找了很多厂家咨询报价&#xff0c;少则十几万多…

shell脚本清理redis模糊匹配的多个key,并计算释放内存大小

#!/bin/bash# 定义Redis服务器地址和端口 REDIS_HOST"localhost" REDIS_PORT6380# 获取Redis当前内存使用量&#xff08;以字节为单位&#xff09; function get_redis_memory_usage() {redis-cli -h $REDIS_HOST -p $REDIS_PORT INFO memory | grep "used_memo…

一个页面多触发事件需要共用一个接口处理数据,封装回调函数方法回调处理数据

// 事件共用方法queryData(code,data,callback){let params{code:code, //根据实际情况传入参数data:data //根据实际情况传入参数} // 传入借口参数this.$axios({url:, // 接口url地址method:post, // 接口类型params:params // 接口接收参数}).then((res)>{if(res&am…

有防水性能不错的耳机吗?这几款耳机游泳的时候都可以戴

Hey&#xff0c;朋友们&#xff01;清爽初夏是不是又到了减肥塑形的好时候了呢&#xff1f;不知道有没有喜欢一边运动一边听音乐的小伙伴呢&#xff1f;运动健康的同时又放松心情确实一举多得。不过现在市面上大多数耳机都不适合我们在运动中携带&#xff0c;常常会因为我们运动…

【工具】自动搜索Research网站的学术会议排名

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] Research.com是一个可以搜索学术会议网站的影响因子的网站。 好用是好用&#xff0c;但有一个缺点&#xff1a;得手动选择类目。有这么多类目&#xff0c;一个个手动选也太累了。 所以做了一个自动搜索的小工具&a…

图片资源

1.TextureType&#xff1a; Default&#xff1a;默认图片类型 Normal&#xff1a;法向贴图 Editor GUI&#xff1a;编辑器使用的图片 Sprite&#xff1a;精灵格式图片 Cursor&#xff1a;鼠标贴图 Cookie&#xff1a;灯光Cookie贴图 Lightmap&#xff1a;灯光贴图 Single…

aws的EC2云服务器自己操作记录

亚马逊官网有免费试用1年的服务器 以下内容参考 1. 启动生成实例 1.1 创建实例时需要生成 使用的默认的 Debian 和 一个.pem后缀的秘钥 1.2 网上下一个Mobaxterm ,实例名是公有 IPv4 DNS 地址 ,使用SSH连接,登录名是admin 1.3 登录进去后 输入用户名 admin 后进去,sudo …

【赠书活动|第三期《Spring Cloud Alibaba核心技术与实战案例》】

文章目录 特色内容简介作者简介抽奖方式 特色 不留遗漏&#xff1a;全面覆盖Dubbo核心知识点 直击要害&#xff1a;实战化案例精准定位技术细节 学以致用&#xff1a;精要式演示确保开发、学习不脱节 潜移默化&#xff1a;研磨式知识讲解渗透技术要点 提升效率&#xff1a;垂直…

W5100S-EVB-PICO做DNS Client进行域名解析

前言 在上一章节中我们用W5100S-EVB-PICO通过dhcp获取ip地址&#xff08;网关&#xff0c;子网掩码&#xff0c;dns服务器&#xff09;等信息&#xff0c;给我们的开发板配置网络信息&#xff0c;成功的接入网络中&#xff0c;那么本章将教大家如何让我们的开发板进行DNS域名解…