论文解读:Reward criteria impact on the performance ofreinforcement learning...

Reward criteria impact on the performance ofreinforcement learning agent for autonomous navigation

译文:

奖励准则对自主导航强化学习agent性能的影响

摘要:

在强化学习中,主体在环境中的每个时间步采取行动(遵循策略)以最大化期望的累积奖励。因此,奖励函数的形成对智能体的学习起着至关重要的作用。设计一个最优的奖励函数不是一项简单的任务。在这篇文章中,我们提出了一个奖励标准,并利用这个标准建立了不同的奖励函数。所选择的奖励标准基于代理所接收的正面和负面奖励的百分比。这个奖励标准进一步产生了三个不同的类,“平衡类"、”偏正类“和”偏负类“。我们使用不同的奖励等级来训练深度Q网络代理执行基于点目标的导航任务。我们还将所提出的类与基准类进行了性能比较。基于实验,偏负类通过实现非常小的方差而优于基准类。另一方面,基准类比偏斜负类收敛得相对更快。

关键词: 深度强化学习,奖励评估,自主导航,机器学习与人工智能

第一部分、引言

近年来,深度强化学习,(DRL)已经在许多游戏中实现了最先进的性能,即“星际争霸2”游戏[1]、"围棋“游戏[2]、”雅达利“游戏[3]等。DRL算法在这些游戏中的成功激励人们将最先进的算法应用于大量不同的领域,如”自动驾驶汽车“[4]、“无人驾驶航空器”[5]、“可再生能源”[6]等。日间行车灯算法在所有这些领域的性能优于几乎所有现有方法。因此,在几乎各行各业中遇到日间行车灯算法是迫在眉睫的。

几乎每个日间行车灯代理(算法)的核心思想是使其从环境中获得的预期贴现回报(V值函数)最大化,如公式(1),[7]。这一核心思想驱使任何DRL代理在每个时间步选择最优动作,从而遵循最优策略。与许多深度学习算法一样,没有单一的优化方法来定义应该给予什么奖励值以及正面奖励和负面奖励的比例应该是多少。因此,这提出了一个关键问题,特别是在奖励稀少的情况下。为了克服这个问题,人们通常通过塑造奖励函数来使用密集奖励[8]。

如前所述,日间行车灯代理人的主要目标是最大化其折现回报,所以最关键的问题是如何形成奖励函数?在这篇文章中,我们没有直接提出一个奖励函数,而是提出了一个奖励准则,并利用它来建立奖励函数。所提出的奖励标准是基于奖励塑造函数中正面奖励和负面奖励的比例。该奖励标准进一步产生三个不同的等级:“平衡类”、“偏正类”和“偏负类”。然后,我们分析了这些类别中的每一个对强化学习代理在自主导航任务中的性能的影响。我们使用“深度Q网络”训练我们的智能体执行基于点目标的导航任务,并在Gazebo模拟器中进行所有实验。我们还将提议的奖励函数与最先进的奖励函数进行了比较[9]。

本文进一步安排如下:第2节讨论了之前在此方向上所做的工作,第3.1节讨论了培训中使用的深度学习模型,第3.2节讨论了使用的各种奖励函数,第5节讨论了实验设置,第6节显示了结果,最后,我们在第8节中以结论结束了本文。

第二部分、相关工作

如前一节所述,奖励分配在训练RL代理中起着至关重要的作用。如果奖励分配是稀疏的,则这种训练可能变得缓慢或陷入次优。一些工作已经集中于通过塑造奖励函数来提供密集奖励以克服稀疏奖励的这个问题。A.Laud等人[8]解释了最优政策对回报水平的强依赖性,也说明了回报塑造的潜力。M.Grez等[10]提出了使用潜在函数作为奖励函数,并分析了正潜在函数和负潜在函数的影响。使用高斯函数作为报酬函数是由L.Matignon等人[11].

在更近的时间,在深度强化学习的时代,已经采取了几种不同的方法来解决稀疏奖励的问题。Zijian HU等人[12]使用了奖励突变,即上一个动作的奖励与当前奖励相差很大的现象。奖励函数也已经从不同的轨迹中成形,这些轨迹是使用工作Q中的匹配网络从类似的任务中采样的。Zhang等[13].N的。Botteghi等人[14]提出使用环境地图的在线知识来使用Rao-Blackwellized形成奖励。H。van Seijen等人[15]使用混合奖励体系结构,该体系结构将奖励函数分解为更小的分量,并学习与每个分量相关联的单独的价值函数。在另一种方法中,奖励函数由专家的示范来形成。H。B.Suay等人[16]使用逆强化学习从所收集的演示数据中恢复线性函数。该线性函数进一步用于形成基于潜力的奖励函数。A.提出了另一种类似的方法。Hussein等人[17],其中深度监督卷积神经网络被训练以根据所展示的数据来形成基于潜力的奖励函数。D.Kimura等人[18]提出了从专家演示的状态轨迹观察中学习内部模型,以估计奖励函数。奖励函数也是使用H.Zou等人[19]。B.de Villiers等人[20]在情节环境中情节结束后及时向后发送折扣的终末期状态奖励值。这些成形的奖励然后被存储在体验重放缓冲器中。

RL代理还交互地接收来自人类专家的奖励。W.B.Knox等人[21]使用基于人的奖励、贴现率、发作性、任务表现和最终目标之间的关系进行了讨论。A. Najar等人[22]提出了一个新的框架,使用无标签的人类指令来塑造奖励。A. Camacho等人[23]提出了一种新的奖励规范形式化语言。

上述所有工作都使用不同的方法来解决稀疏报酬问题,但是最优报酬准则仍然没有被探索。为了克服这一问题,本文提出了一个报酬准则,并利用该准则建立了报酬函数。

在这里插入图片描述

第三部分、方法

在本节中,我们深入分析了基于奖励标准开发的奖励函数如何影响强化学习(RL)代理的性能。我们考虑了六种不同的奖励函数,每一种属于不同的奖励准则,并在Gazebo模拟器上对基于点目标的导航任务进行了实验。整个拟议方法的顶层视图如图1所示

3.1 模型

我们训练深Q网络(DQN)代理,其灵感来自[24],基于点目标的导航任务。该任务是间歇性的,DQN代理的主要目标是使其预期折扣回报最大化,(Q值函数)如公式(2),这是"V-值函数"(“V π”)的变体,根据等式(1).在方程式中(1)和(2),"γ"是折扣因子,"T"是终端步骤,"R"是代理在每个时间步骤收到的报酬,"s"是环境的状态,"a"是代理采取的行动,"π"是代理遵循的策略。DQN代理由两个主要模块组成:感知和学习模块。

3.1.1感知模块

在该模块中,代理使用三层完全连接的神经网络来从所提供的输入数据(状态空间)中提取学习的表示。对于基于点目标的导航任务,输入数据包括28个维度、24个光检测和测距(LiDAR)数据值以及4个任务特定值。模型架构如图2所示,并在表1中进行了描述。

在这里插入图片描述

3.1.2学习模块

感知模块输出5 Q值的每个对应五离散行为可能为给定的任务。然后我们使用这些“Q值”来训练我们的代理根据贝尔曼方程(3),损失函数和更新规则DQN代理使用的方程式所示。(4)和(5),分别。

在这里插入图片描述

在等式(3)、(4)和(5)中,Q函数由θ和θ ′,参数化,s是代理在每个时间步接收的输入数据,a是代理在每个步骤采取的动作,s′是代理在采取动作之后到达的下一个状态,ai是DQN代理在状态s′中可以采取的所有可能动作。用于折扣的γ值为0.995。我们使用学习率为0.0025的RMSProp优化器来训练我们的模型。我们还使用了0.99的“ε衰减”,它控制了代理探索环境的速率。整个学习过程如图3所示

3.2奖励评估标准

如前所述,DQN代理的主要目标是最大化其在每集的预期回报。因此,代理人如何获得奖励是至关重要的,并会影响代理人的行为。代理人在我们的任务中获得两个奖励的算术和,即"距离奖励"和"角度奖励"。"距离奖励"帮助代理人获得以米为单位测量的与目标的接近程度的反馈,而"角度奖励"告诉代理人以相对于目标的程度为单位测量的方向。本文根据正报酬和负报酬在报酬函数中所占的百分比定义了一个报酬准则。基于这个标准,我们可以将任何报酬函数分为三类:“平衡类”、“偏正类"和"偏负类”。使用这个奖励标准,我们开发了六个不同的奖励函数,每个类两个。

3.2.1平衡类

在这个类别中,代理人在每集获得等量的正面和负面奖励(各50%)。为了表示这种行为,我们选择下面的等式(6)和(7)分别作为“距离奖励”和“角度奖励”的奖励函数。

在这里插入图片描述

在方程式(6),“Dc"是从代理的位置到目标的坐标的当前欧几里德距离。'Dg’是代理的位置和目标的坐标之间的初始欧几里得距离。“Dc"在每次发作开始时等于"Dg”,并迭代更新其值,直到达到最终时间步长。公式中的x值(6)值域为(0,α]。在我们的任务中,我们设α的值等于2。因此,距离奖励遵循公式(6)在直径为"α”(2 ※ Dg)的圆内,在该圆外等于"-1",如图4所示。在方程式(7),‘θ t’是每个时间步的主体方向(如图5所示的’Ω’)与连接主体位置和目标坐标的直线的角度(如图5所示的’φ’)之间的差值。公式中x的范围(7)为[0,1]

3.2.2斜正类

在这个类别中,代理人收到的奖励是积极的多于消极的(28%的积极奖励和72%的消极奖励)。为了概括这种行为,我们选择两个等式(8)和(9)分别作为“距离奖励”和“角度奖励”的奖励函数。

在这里插入图片描述

如图4所示的距离奖励遵循公式(8)在直径“α”等于2的圆内和圆外,接收的奖励是“-1”。公式中x的范围(8)和(9)分别是(0,α)和[0,1]。

3.2.3斜负类

在这个类别中,代理人收到的负面奖励多于正面奖励。为了捕捉这种行为,我们选择两个等式(10)和(11)分别作为“距离奖励”和“角度奖励”的奖励函数。为了保持正奖励与负奖励之比类似于斜正类之比的倒数,我们将等式(10)和(11)当它们各自的“z”值大于或等于0时乘以2。在这个乘法之后,这个类的正奖励和负奖励的百分比分别是22%和78%。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

奖励如图4所示的距离遵循Eq。(10)内圆直径的α等于2,给一个奖励’ -1 '外圆。方程式的x值。(10)和(11)的范围(0,α]和[0,1]。

在这里插入图片描述
在这里插入图片描述

用于“距离奖励”和“角度奖励”的所有奖励函数如图6所示。表2中示出了每个类别的正面和负面奖励的百分比。因此,对于给定的任务,奖励系统遵循等式:(12)和(13)

在这里插入图片描述

在方程式(12),“Rd"是"距离奖励”,“Ra"是"角度奖励”,"yd"和"ya"值取决于所使用的奖励函数。

在这里插入图片描述

第四部分、基准模型

在本文中,我们使用[9]中提出的报酬函数作为基准模型。本文提出了一种在无地图环境下训练的导航模型。它们还激发了在现实场景中以及当提供给代理的映射被破坏时对这样的代理的需求。基准测试论文的实验设置与我们的设置类似,因为这两个环境都不使用任何地图来导航代理。无地图的奖励函数如(14)所示。

在这里插入图片描述

在上述等式(14)中,Rb是基准奖励,dmin是最小距离,低于该距离则认为代理到达目标,d是当前位置和目标位置之间的欧几里德距离,如(15)所示。

在(15)中,p x,y t是主体在时间t的当前位置,g是目标位置。

在这里插入图片描述

第五部分、实验

我们训练我们的代理基于点目标的导航任务。在这个任务中,在每一个情节中,随机生成一个目标,并且代理的目标是导航到该目标以避免所有碰撞。代理的完整培训是在Gazebo模拟器中完成的。我们使用了一个Turtlebot3 Waffle Pi机器人作为RL代理。该机器人配备了“1D LiDAR”,它使用激光束扫描整个环境(360 °)。LiDAR扫描的输出是维度24的向量,其包括与以米为单位测量的机器人周围的物体的距离相对应的值。我们可以从这些值中提取以下两个与任务相关的信息:“最小障碍距离”和“最小障碍角度”。这26个值(24个LiDAR值和两个任务相关值)进一步与“到目标的距离”和“到目标的方位”值级联,并且最后的28个值被用作全连接神经网络的输入。在训练期间,RL代理必须在每一步从五个可能的动作中选择离散动作。所有五个动作都与机器人的角速度有关,并且线速度对于所有时间步长保持恒定在0.15m/s。对于此任务,表3中列出了代理可以采取的可能操作。

在这里插入图片描述

对于给定的任务,表4定义了代理在每个情节中可以接收的可能的奖励值,每个情节由至多500个时间步长组成。如果发生以下事件之一,则认为情节完成:代理与任何障碍物碰撞,代理到达目标坐标附近至少0.4m,或者代理完成500个时间步长。

代理的整个训练是在Nvidia Jetson AGX Xavier硬件设备上完成的,这是Jetson GPU加速设备家族中发布的最新版本。Jetson AGX Xavier拥有16 GB可共享RAM、512核Volta GPU和8核ARM CPU。图7示出了用于训练RL代理的Gazebo模拟的设置。在图7中,白色的圆柱形物体是障碍物,红色的圆形区域是目标坐标。

第六部分、结论

DQN Agent使用所提出的三个奖励函数进行训练,并与基准奖励函数进行比较。我们使用两个指标比较奖励函数:累积奖励的变化和奖励收敛之前所需的episode数量。

6.1方差

在这里插入图片描述

此度量表示训练期间代理性能的噪声程度。我们计算每个奖励函数的移动方差。方差的存在是因为我们如何让我们的代理人学习。如(3)中所示,我们基于在该时间步长收集的奖励和对状态未来状态的估计来更新状态的Q值。估计的未来状态本身不是最优的,因此组合多个这样的未来状态来预测当前状态值导致噪声估计。此外,我们将折扣因子"γ“设置为0.99,这也会增加噪声。此因子指示要展望多远的未来,值高表示应考虑许多未来状态。所有奖励函数的移动方差如图8所示。我们可以通过计算观察到的最大和最小方差之间的比例差来量化这个度量。如(16)所示完成此操作。

在这里插入图片描述

在(16)中,Varp是方差的比例增加,Maxvar和Minvar分别是观察到的最大和最小方差。

6.2episode的数量

在这里插入图片描述

机器学习中的收敛通常被定义为当模型的进一步训练没有改善其性能时。在本节中,我们通过绘制所有奖励函数的累积奖励与情节计数的关系图来定义一个类似的指标。尽管我们证明了所有报酬函数的收敛性,但代理收敛的值并不是最优的。这将在局限性部分进一步解释。我们在图9中画出了所有奖励函数在每集获得的累积奖励。

如两个图8和图9所示,我们报告了表5所示的以下观察结果。

在表5中,对于平衡类,虽然我们观察到最小方差和可比较数值的episode次数,直到收敛,但我们不认为这是博学的代理。这是因为与其他职业相比,该职业的移动平均累积奖励是一致的。这在第1500集中也很明显,其中平均值再次下降。在剩余的三个类中,尽管“基准类”收敛最快,但它也具有最高的方差。类似地,尽管“偏负类”具有非常小的方差,但与“基准类”相比,其收敛相对较慢。

image-20230102225557549

第七部分、限制

虽然我们在这项工作中显示了不同类别的收敛性,但代理收敛的回报不是最优值。这是由于所采用的学习算法。DQN代理学习缓慢,通常由于样本复杂性或者代理学习好策略所需的样本数量限制。这是由于两个因素:目标网络的延迟更新和较大的重放缓冲器大小[25]。

第八部分、结论

本文分析了在自主导航任务中奖励准则对强化学习Agent性能的影响。所选择的奖励标准是代理所接收的正面和负面奖励的百分比。基于这一准则,我们得到了三个类,并在每个类中选择了两个报酬函数。我们比较了一个代理的表现与各种奖励函数类训练的基准类。我们还使用两个指标比较了每个类的性能:“方差”和“收敛前的发作次数”。该分析发现,斜负类类训练的方差非常小,但与基准类相比,在相对较高的发作次数处收敛。在未来的工作中,我们将实作各种学习算法,例如优势行动者-批判、邻近策略最佳化,以及其他的算法,以改善代理人的平均累积报酬。

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

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

相关文章

glog在vs2022 hello world中使用

准备工作 设置dns为阿里云dns 223.5.5.5,下载cmake,vs2022,git git clone https://github.com/google/glog.git cd glog mkdir build cd build cmake .. 拷贝文件 新建hello world并设置 设置预处理器增加GLOG_USE_GLOG_EXPORT;GLOG_NO_AB…

搜索二维矩阵 II(java)

题目描述 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。每列的元素从上到下升序排列。 代码思路: 用暴力算法: class Solution {public boolean searchMatrix(…

基于vite创建的react18项目的单元测试

题外话 最近一个小伙伴进了字节外包,第一个活就是让他写一个单元测试。 嗯,说实话,在今天之前我只知道一些理论,但是并没有实操过,于是我就试验了一下。 通过查询资料,大拿们基本都说基于vite的项目&…

GY302光照传感器模块详解

目录 一、引言 二、功能特点 三、工作原理 四、引脚功能 五、应用场景 六、使用方法 七、总结 一、引言 在当今科技飞速发展的时代,传感器技术在各个领域都发挥着至关重要的作用。光照传感器作为一种能够感知环境光照强度的设备,广泛应用于农业、…

pip install causal-conv1d==1.1.1报错

Building wheels for collected packages: causal-conv1d Building wheel for causal-conv1d (setup.py) ... error error: subprocess-exited-with-error python setup.py bdist_wheel did not run successfully. │ exit code: 1 ╰─> [8 lines of output]…

【WRF后处理】WRF模拟效果评价及可视化:MB、RMSE、IOA、R

【WRF后处理】模拟效果评价及可视化 准备工作模型评价指标Python实现代码Python处理代码:导入站点及WRF模拟结果可视化图形及评价指标参考在气象和环境建模中(如使用 WRF 模型进行模拟),模型性能评价指标是用于定量评估模拟值与观测值之间偏差和拟合程度的重要工具。 本博客…

facebook欧洲户开户条件有哪些又有何优势?

在当今数字营销时代,Facebook广告已成为企业推广产品和服务的重要渠道。而为了更好地利用这一平台,广告主们需要理解不同类型的Facebook广告账户。Facebook广告账户根据其属性可分为多种类型,包括个人广告账户、企业管理(BM&#…

Scala学习记录,全文单词统计

package test32 import java.io.PrintWriter import scala.io.Source //知识点 // 字符串.split("分隔符":把字符串用指定的分隔符,拆分成多个部分,保存在数组中) object test {def main(args: Array[String]): Unit {//从文件1.t…

FreeRTOS综合代码实例---多级菜单的设计

本文介绍一套基于FreeRTOS的综合代码实例,目标是通过模块化的编程方式实现对多种硬件功能的管理。该实例沿用《FreeRTOS综合代码实例-OLED版本》的框架,重点改进为TFT LCD显示,同时保留了多级菜单的实现。项目链接:FreeRTOS综合代…

OpenMP出现Stack Overflow及其疑问

今天对着《OpenMP核心技术指南》练习OpenMP&#xff0c;其中一个案例: #include <stdio.h> #include <math.h> #include <omp.h>#define ITER 100000000void main() {int i;double A[ITER];for (i 0; i < ITER; i)A[i] 2.0 * i;#pragma omp parallel{/…

PYNQ 框架 - 时钟系统 + pl_clk 时钟输出不准确问题

目录 1. 简介 2. PS 时钟计算 2.1 计算框架 2.2 KV260 的参考时钟 2.3 PL_CLK 设置 3. 测试 3.1 Block design 3.2 引脚绑定 3.3 使用 AD2 测量 3.4 调整分频 4. PYNQ 时钟驱动 4.1 源码解析 4.2 查看 PL_CLK 4.3 配置 PL_CLK 5. 总结 1. 简介 ZYNQ MPSoC 具有…

SQL进阶——C++与SQL进阶实践

在C开发中&#xff0c;SQL数据库的操作是开发者常见的任务之一。虽然前面我们已经介绍了如何在C中通过数据库连接执行基本的SQL查询&#xff0c;但在实际项目中&#xff0c;我们通常需要更加复杂和高效的数据库操作。存储过程与函数的调用、复杂SQL查询的编写、以及动态构造SQL…

【Zookeeper】四,Zookeeper节点类型、通知、仲裁、会话

文章目录 Zookeeper的架构znode的版本Zookeeper的节点类型层级树状结构znode的不同类型 Zookeeper监视与通知通知的类型 Zookeeper的仲裁Zk的会话会话的生命周期 Zookeeper的架构 Zookeeper的服务器端运行两种模式&#xff1a;独立模式&#xff08;standalone&#xff09;和仲…

Mac安装及合规无限使用Beyond Compare

文章目录 Beyond CompareBeyond Compare简介Beyond Compare安装Beyond Compare到期后继续免费使用 Beyond Compare Beyond Compare简介 Beyond Compare 是一款由 Scooter Software 开发的文件和文件夹比较工具。它主要用于对比两个文件或文件夹之间的差异&#xff0c;并支持文…

[极客大挑战 2019]PHP--详细解析

信息搜集 想查看页面源代码&#xff0c;但是右键没有这个选项。 我们可以ctrlu或者在url前面加view-source:查看&#xff1a; 没什么有用信息。根据页面的hint&#xff0c;我们考虑扫一下目录看看能不能扫出一些文件. 扫到了备份文件www.zip&#xff0c;解压一下查看网站源代码…

毫米波雷达技术:(五)距离-多普勒图谱,以及 FMCW 信号帧结构的设计

(一) 距离-多普勒图谱&#xff08; R a n g e − D o p p l e r F F T Range-Doppler~FFT Range−Doppler FFT &#xff08; 2 D − F F T 2D-FFT 2D−FFT&#xff09;的结果&#xff09;: 1&#xff09;range-bins&#xff08;距离单元&#xff09;&#xff1a; 上述步骤②的…

Mybatis:CRUD数据操作之多条件查询及动态SQL

Mybatis基础环境准备请看&#xff1a;Mybatis基础环境准备 本篇讲解Mybati数据CRUD数据操作之多条件查询 1&#xff0c;编写接口方法 在 com.itheima.mapper 包写创建名为 BrandMapper 的接口。在 BrandMapper 接口中定义多条件查询的方法。 而该功能有三个参数&#xff0c;…

18:(标准库)DMA二:DMA+串口收发数据

DMA串口收发数据 1、DMA串口发送数据2、DMA中断串口接收定长数据包3、串口空闲中断DMA接收不定长数据包4、串口空闲中断DMA接收不定长数据包DMA发送数据包 1、DMA串口发送数据 当串口的波特率大于115200时&#xff0c;可以通过DMA1进行数据搬运&#xff0c;以防止数据的丢失。如…

【Flink-scala】DataStream编程模型之窗口计算-触发器-驱逐器

DataStream API编程模型 1.【Flink-Scala】DataStream编程模型之数据源、数据转换、数据输出 2.【Flink-scala】DataStream编程模型之 窗口的划分-时间概念-窗口计算程序 文章目录 DataStream API编程模型前言1.触发器1.1 代码示例 2.驱逐器2.1 代码示例 总结 前言 本小节我想…

vue3使用monaco编辑器(VSCode网页版)

vue3使用monaco编辑器&#xff08;VSCode网页版&#xff09; 文章说明参考文章核心代码效果展示实践说明源码下载 文章说明 一直在找网页版的编辑器&#xff0c;网页版的VSCode功能很强大&#xff0c;这个monaco就是VSCode样式的编辑器&#xff0c;功能很强大&#xff0c;可以直…