RL — 强化学习算法概述

2023-08-03 16:19:22

一、说明

         在本系列中,我们检查了许多强化学习(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

更多推荐

白鲸开源 X SelectDB 金融大数据联合解决方案公布!从源头解决大数据开发挑战

业务挑战与痛点随着互联网技术的发展、云计算技术的成熟、人工智能技术的兴起和数字化经济的崛起,数据已成为企业的核心资产。在金融行业中,数字化已成为了支撑各类业务场景的核心力量,包括个人理财、企业融资、股票交易、保险理赔、贷款服务、支付结算、投资咨询、资产管理等等。然而,在基于大数据分析与处理技术的业务建设中,当下的金融企

微信小程序——事件监听

微信小程序是一种轻量级的应用程序,它在移动设备上提供了丰富的用户体验。在开发微信小程序时,事件监听是一项重要的技术,它允许开发者捕捉和处理用户的各种操作。本文将介绍微信小程序事件监听的概念、用法和一些实用示例。1.什么是事件监听?事件监听是一种编程技术,通过在应用程序中注册监听器来捕捉和处理特定事件的发生^1。在微信小

Java手写Prim算法和Prim算法应用拓展案例

Java手写Prim算法和Prim算法应用拓展案例1.算法思维导图以下是使用Mermanid代码表示的Prim算法实现原理:#mermaid-svg-W6cUKRD3qrphQAun{font-family:"trebuchetms",verdana,arial,sans-serif;font-size:16px;fi

IP代理安全吗?如何防止IP被限制访问?

你是否遇到过可以正常上网,但访问某个网站却被禁止?注册某个网站账号,却被封号?那都是因为IP出现问题!您的IP地址透露很多关于您的信息,包括您的位置和互联网活动。在本文中,我们将一起了解IP地址,网站如何利用它来跟踪您,以及与IP代理如何帮助您更好的推进业务。什么是IP地址?IP地址是互联网协议地址(InternetP

hive 中正则表表达式使用

一概念概念:正则表达式(RegularExpression),又称规则表达式,是记录文本规则的代码。通常被用来检索、替换那些符合某个模式(规则)的文本。特性:最初是由Unix中的工具软件(例如sed和grep)普及开的,现在许多程序设计语言都支持利用正则表达式。常见缩写:正则表达式在代码中,通常缩写成regex、reg

etcd实现大规模服务治理应用实战

导读:服务治理目前越来越被企业建设所重视,特别现在云原生,微服务等各种技术被更多的企业所应用,本文内容是百度小程序团队基于大模型服务治理实战经验的一些总结,同时结合当前较火的分布式开源kv产品etcd,不仅会深入剖析ectd两大核心技术Raft与boltdb的实现原理,也会披露服务治理真实实践的经验,希望帮助大家在服务

怒刷LeetCode的第8天(Java版)

目录第一题题目来源题目内容解决方法方法一:双指针和排序​编辑第二题题目来源题目内容解决方法方法一:双指针方法二:递归方法三:快慢指针方法四:栈第三题题目来源题目内容解决方法方法一:栈方法二:字符串替换方法三:链表方法四:栈和正则表达式第一题题目来源18.四数之和-力扣(LeetCode)题目内容解决方法方法一:双指针和

设计模式之抽象工厂

抽象工厂模式结构图抽象工厂模式,提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类工厂方法模式,定义一个用于创建对象的接口,让子类决定实例化哪一个类。抽象工厂模式是围绕一个超级工厂创建其他工厂。该超级工程又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式产品族:一个工

常用设计模式—

一、设计模式简介23种设计模式1.1、设计模式七大原则1.开闭原则对扩展开放,对修改关闭。2.依赖倒置原则(面向接口编程)依赖关系通过接口、抽象类。3.单一职责原则一个类、接口、方法只负责一项职责或职能。4.接口隔离原则客户端不需要多余的接口,一个类对另一个类的依赖建立在最小的接口上。5.迪米特法则(最少知道原则)一个

Stream

文章目录1.概述2.创建3.使用案例使用的员工类3.1遍历/匹配(foreach/find/match)3.2筛选(filter)3.3聚合(max/min/count)3.4映射(map/flatMap)3.5归约(reduce)3.6收集(collect)3.6.1归集(toList/toSet/toMap)3.6

AI独角兽第四范式开启招股:或将成为今年港股IPO最大赢家!

国内最大的以平台为中心的决策类人工智能公司第四范式,在9月18日至9月21日招股,并计划于9月28日正式以“6682”为股票代码在香港联交所主板挂牌上市。第四范式即将成为近两年来第一家登陆港交所的AI独角兽企业,同时也将是近一年来第一家完成港股IPO的硬科技企业。和这些响亮称号相对应的火爆的认购,目前展现出来的孖展已超

热文推荐