DistributionalSoftActor

开通VIP,畅享免费电子书等14项超值服

首页

好书

留言交流

下载APP

联系客服

2020.08.12

作者:DeepRL

一、摘要

近年来,强化学习在围棋、游戏等领域的应用取得巨大成功。然而,现有算法在学习过程中值函数的近似误差会造成严重的过估计问题,导致策略性能极大地降低。智能驾驶课题组(iDLab)提出一种可减少过估计的DistributionalSoftActor-Critic(DSAC)算法,通过学习连续状态-动作回报分布(state-actionreturndistribution)来动态调节Q值的更新过程,并证明引入该分布降低过估计的原理。本文基于异步并行计算框架PABAL来实施DSAC算法,Mujoco环境的验证表明:相比于目前最流行的强化学习算法,如:SAC、TD3、DDPG等,所提出的DSAC算法在不引入额外值网络或者策略网络的前提下能够更加有效地降低Q值的估计误差,并在各项任务中获得最好的性能。

二、介绍

三、DistributionalRL框架

DSAC是基于MaximumEntropy架构设计的,该学习过程不仅试图最大累积的回报,同时最大化策略的熵以提高策略的探索性:

此版本下的最优策略的求解仍然由策略评估和策略提升两步构成,在策略迭代中,基于以下的贝尔曼自洽算子来更新值函数:

策略提升环节通过最大化值函数对策略进行更新:

以上两步交替迭代直到达到最终的最优策略。

DistributionalRL直接对回报分布进行建模,而并非学习其期望值(Q值),其定义为:

此时其均值为Q函数:

很显然,上式等号两端都是分布,因此表示两个分布具有相同的概率形式。而此时的策略提升环节仍然和MaximumEntropyRL类似,我们把这种结合最大熵和分布式回报的策略迭代称之为‘DistributionalSoftPolicyIteration(DSPI)’,并且证明DSPI也会收敛到最优的策略。

四、减小过估计的原理

本节对returndistribution学习的过估计误差进行定量分析。为方便起见,假设熵的权重系数为0。在Q学习算法中,定义其目标函数值为,每一步Q值的更新都是最小化目标值和当前值的平方误差,即:

可以看到,此时的过估计误差随着的增大呈平方下降趋势。另一方面,通常正比于系统的不确定性,回报函数的随机性以及后续return分布的随机性,这些不确定性和随机性越显著,那么就越大,分布式回报学习对误差的降低作用也更加显著。同时,如果则有。通过方差剪枝技术和reward缩放技术,是很容易得到满足的。

五、DSAC算法设计

在前文中,我们提出了DSPI的框架并证明了策略的收敛性,本节以此为基础提出一种具体的算法:DistributionalSoftActor-Critic,简写为DSAC。考虑return和策略服从参数化的高斯分布和,它们的均值和方差都由神经网络拟合。

在策略评估阶段,我们选择KL散度为分布距离的度量,优化当前策略对应的return的分布:

关于参数的梯度为:

以上梯度公式面临两个问题:当分布的标准差和时,将分别发生梯度爆炸或消失。这里我们采用截断技术(clip)解决这一问题,将标准差限制在一个合理范围内,同时为了防止目标分布变化过大造成学习的不稳定,将目标分布限制在当前return分布的期望附近:

在策略改进阶段,可以直接最大化softQ值:

为了减小策略的方差,我们使用重参数化技术求解策略的梯度。如果中显含,则可以将随机动作表示为:

这里是从某个分布采样的辅助变量,此时梯度为:

如果中不显含,还需要对return的分布进行重参数化:

此时得到的梯度为:

此外,熵系数更新方式参考了SAC论文的更新:

整个算法伪代码如图1所示:

图1DSAC算法伪代码

本文基于parallelasynchronousbuffer-actor-learnerarchitecture(PABAL)这一异步并行计算架构(如图2)来部署各强化学习算法,以提高采样、探索和更新效率。每个actor异步地与环境交互并将产生的经验数据随机发送至buffer,buffer随机选取经验并发送至随机的learner计算梯度,更新共享值网络与策略网络参数。为了方便对比,论文中所有的算法均在PABAL架构下实现。

图2PABAL架构

六、实验结果

实验任务为经典的MuJoCo连续控制任务平台,共做了Humanoid-v2、HalfCheetah-v2、Ant-v2、Walker2d、InvertedDoublePendulum-v2等5个任务。比较的算法包括DDPG,TD3与SAC,以及本文提出的SAC两种变体Double-QSAC和Single-QSAC。另外,我们将传统TD3算法引入分布式return提出一种新的算法,称为TD4算法。所有算法采用相同的神经网络结构、训练超参数、PABAL进程数与输入输出。绘制训练曲线如图3所示,实验结果表明本文所提出的DSAC算法在5个MuJoCo连续控制任务中均能取得最好的效果。此外,TD4的表现超越了基础版本TD3与DDPG,也验证了分布式return的引入也能提升确定性策略的性能。DSAC和SAC的控制效果比较见视频。由于mujoco环境的reward往往与智能体速度成正比,DSAC控制下的智能体具有更好的行走姿态因此其回报更高。

图3MuJoCo连续控制任务训练曲线(实线表示均值,阴影区域表示5次运行95%置信区间)

图4MuJoCo练习控制任务的平均Q值估计偏差曲线(实线表示均值,阴影区域表示5次运行的95%置信区间)

总结而言,DSAC在不需要引入额外值网络和策略网络的前提下,可以很好地抑制过估计误差并提高策略性能。

THE END
1.算法设计课程简介算法课设一般做什么学习算法设计,不仅是为了掌握具体的编程技巧,更是为了培养一种解决问题的思维方式。 推荐几款学习编程的免费平台 免费在线开发平台(https://docs.ltpp.vip/LTPP/) 探索编程世界的新天地,为学生和开发者精心打造的编程平台,现已盛大开启!这个平台汇集了近4000道精心设计的编程题目,覆盖了C、C++、JavaScript、TypeScripthttps://blog.csdn.net/m0_52796585/article/details/142836840
2.初学者指南:算法设计思路详解本文详细介绍了算法的基本概念、常见的算法设计方法及优化技巧,涵盖递归、分治法、贪心算法和动态规划等核心内容。文章深入讲解了算法设计思路,包括理解问题、分析问题、设计算法和编写伪代码等步骤,帮助读者系统掌握算法设计的全过程。此外,文章还提供了具体的案例解析和优化技巧,并推荐了常用的算法学习平台和资源。 算法https://www.imooc.com/article/358042
3.2020届计算机科学方向毕业设计(论文)阶段性汇报深度学习在视频分析中的应用 在本次汇报中,我将介绍毕设课题选定的视频分析具体任务:时序动作检测(Temporal Action Proposal)的相关内容,包括任务背景、最近研究成果、数据情况以及切入点等。我还将汇报过去一阶段的工作内容和下一阶段的工作计划。 范舟 基于强化学习的推荐与广告合并算法设计 https://zhiyuan.sjtu.edu.cn/html/zhiyuan/announcement_view.php?id=3709
4.路径规划中的DRL与OR算法:对比与展望引入机器学习的期望之一就是提高其泛化能力,即训练完的模型可以有效地应用于未曾见过的问题实例。为了提高泛化能力,对于图这种非欧几里得数据来说,通过图嵌入(Graph embedding)来抽取数据中的有效特征,通过低维的向量来表征图的节点及拓扑结构等信息,再作为后面机器学习算法的输入。而图神经网络(Graph neural network,GNNhttps://www.51cto.com/article/757803.html
5.算法教学设计算法教学设计1 【教材分析】 本节教材的地位、作用等分析。 本节教材位于高中信息技术必修模块第三章中:“算法及其实现”部分内容,本节课的学习目的是使学生体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;体验信息技术中算法的魅力,为学生选修算法模块奠定基础。 https://www.ruiwen.com/jiaoxuesheji/7729127.html
6.机器学习/人工智能大作业:手写数字识别系统(5)通过实验的锻炼,使学生进一步掌握基于卷积神经网络的图像分类问题,也进一步领会学习机器学习知识的重要意义。 二、大作业设计内容 大作业1 :手写数字识别系统。 本项目要求选择机器学习算法设计实现手写数字识别系统。手写数字识别在日常生活中有重要应用,例如汇款单、银行支票的处理,以及邮件的分拣等。手写数字识别通常https://developer.aliyun.com/article/1168621
7.机器学习算法备忘单设计器“Azure 机器学习算法备忘单”可帮助你从设计器为预测分析模型选择正确的算法。 备注 设计器支持两种类型的组件:经典预生成组件 (v1) 和自定义组件 (v2)。 这两种类型的组件不兼容。 经典预生成组件主要为数据处理和传统的机器学习任务(如回归和分类)提供预生成组件。 此类型的组件将继续受支持,但不会增加任何新https://docs.microsoft.com/zh-cn/azure/machine-learning/algorithm-cheat-sheet
8.《算法设计与分析基础(C++版)学习和实验指导》(李春葆陈良臣当当网图书频道在线销售正版《算法设计与分析基础(C++版)学习和实验指导》,作者:李春葆、陈良臣、喻丹丹,出版社:清华大学出版社。最新《算法设计与分析基础(C++版)学习和实验指导》简介、书评、试读、价格、图片等相关信息,尽在DangDang.com,网购《算法设计与分析http://product.dangdang.com/29583939.html
9.基于深度强化学习的水面无人艇路径跟踪方法表示温度参数的学习率;表示温度参数α的梯度;θi表示q网络的网络参数;表示目标q网络的网络参数。 [0174] 具体实施过程中,在基于强化学习的路径跟踪控制算法设计中,将问题建模为马尔可夫决策过程是十分重要的一步,状态空间、动作空间和奖励函数的选取对策略模型性能和收敛速度都有很大的影响。 https://www.xjishu.com/zhuanli/54/202210772926.html/
10.算法设计与分析习题解答与学习指导·第2版/21世纪大学本科计算机专长期从事离散数学、算法分析与计算复杂性等方向的教学和研究工作,参与完成多项国家研究课题,撰写多部教材与译著,其中包含国家规划教材、教育部高等教育精品教材、北京市精品教材等。获得北京市教学成果奖一等奖,被评为北京大学十佳教师,并获得北京市优秀教师称号,系国家精品课“离散数学”课程主持人,“算法设计与分析”https://www.jd.com/zxnews/0db039b2d80e0d1a.html
11.科学网—[转载]基于容器云技术的典型遥感智能解译算法集成模型开发根据预先设计的深度学习算法,基于深度学习框架,进行智能解译算法的代码编写和镜像构建。其基本流程如图8所示,具体如下。 图8 模型开发流程 (1)从私有仓库或开源仓库使用Docker pull操作获取所需的基础环境镜像。基于基础环境镜像,添加OpenCV、GDAL、SciPy等Python包。对基础镜像统一设置SSH登录端口,以便后期调试https://blog.sciencenet.cn/blog-3472670-1339282.html
12.算法设计与分析清华大学信息时代,算法为王,和我一起进入算法的世界。 开课时间: 2021-08-09 教学时长 学习投入 详细介绍 本课程系统介绍算法设计与分析的方法和理论,包括算法基础、图、贪婪算法、分治、动态规划、网络流、计算复杂性初步、近似算法及随机算法等。同时,本课程还包含算法领域的一些前沿课题和最新进展。本课程可以作为数学、https://www.xuetangx.com/course/THU08091001409/7754812
13.《算法》教学设计优秀教案.pdf教学重点: 理解并学会利用算法分析问题并形成描述 教学重点: 理解并学会利用算法分析问题并形成描述 重点与难 重点与难 、用流程图表示算法 1、用流程图表示算法 1 点 点 教学难点: 教学难点: 、算法设计与分析 2 、算法设计与分析 2 本节课的学习对象是八年级的学生,在前面的学习中,学生对程序设计有了一定 https://m.book118.com/html/2021/1205/8012022013004052.shtm
14.支持C++,Java,Python,Go,JavaScript等多语言版本,从此算法学习《代码随想录》LeetCode 刷题攻略:200道经典题目刷题顺序,共60w字的详细图解,视频难点剖析,50余张思维导图,支持C++,Java,Python,Go,JavaScript等多语言版本,从此算法学习不再迷茫! 来看看,你会发现相见恨晚!https://gitee.com/yuandreams/leetcode-master
15.算法导论公开课笔记(一)算法分析与设计算法分析 算法分析是关于计算机程序性能和资源利用的理论研究;性能研究主要是学习如何让算法或者应用程序 运行的更快; 资源利用主要指的是诸如通信、存储器(无论是RAM Memory还是disk Memory)等的使用情况。 算法是关注性能问题的学科,因此这部分内容很重要。 https://www.jianshu.com/p/bb39d65af94e