基于集成网络的离线到在线强化学习

强化学习(ReinforcementLearning,RL)有两种基础的训练范式:在线强化学习(OnlineRL)和离线强化学习(OfflineRL)。在线强化学习需要让智能体和环境进行交互,利用收集到的数据同步进行训练,但在环境中进行探索的开销很大;离线强化学习不需要和环境交互,直接利用已有的离线数据进行训练,但这种范式训练的智能体会受限于离线数据的质量和覆盖范围。

基于此,研究者提出了离线到在线强化学习(Offline-to-onlineRL)训练范式,先利用已有的离线数量训练得到离线策略,然后将其应用到在线环境进行少量步数的微调。这种范式相比于前两者,一方面通过收集少量的在线数据,能够突破离线数据的限制,更贴近实际场景;另一方面在线阶段的微调是以离线策略为起点,相比于从零开始的在线强化学习,只需要非常少量的交互就能快速收敛。这一研究领域主要研究两个问题,一个是分布偏移引起的性能下降,就是如果直接将离线策略应用到在线环境进行微调,会在微调初期出现性能的急剧下降;另一个是在线优化效率,由于在线交互的开销很大,需要用尽可能少的交互次数实现尽可能大的性能提升,这两者可以归结于稳定性和高效性。

在IJCAI2024上,哔哩哔哩人工智能平台部联合天津大学将集成Q网络(Q-ensembles)引入到离线到在线强化学习训练范式中,提出了基于集成网络的离线到在线强化学习训练框架(ENsemble-basedOffline-To-OnlineRL,ENOTO)。ENOTO以集成Q网络为基础,充分利用其衡量的不确定性来稳定两个阶段的过渡和鼓励在线探索,可以结合多种强化学习算法作为基线算法,在离线到在线强化学习设定下提升稳定性和学习效率,具有较好的泛用性。团队在强化学习的经典环境MuJoCo、AntMaze任务和多种质量的数据集上对ENOTO进行了广泛的实验验证,和以往的离线到在线强化学习算法相比,很大程度地提升了稳定性和学习效率,在大部分数据集上的累积收益提升约有10%-25%。

02动机

对于早期的离线强化学习算法,如ConservativeQ-Learning(CQL)[1],会显式惩罚分布外样本的Q值,鼓励策略选择数据集内的动作,而这种思想在DoubleDQN中就有提到。因此我们可以将这里的Q网络从2个增加到N个,这就是集成Q网络。令人惊讶的是,这种简单的改变对于离线到在线强化学习的提升却是非常明显的。我们首先进行了一项验证性实验,使用CQL这个被广泛认可的代表性离线强化学习算法作为基线算法,在经典的强化学习环境MuJoCo上进行实验,实验结果如图1所示。离线到在线强化学习训练有两种很简单的方法,一个是在线阶段继续复用离线强化学习算法,也就是这里的CQL→CQL,但由于离线强化学习算法的保守性,在线优化效率会很低,即图1(a)中的红线;另一个是切换到在线强化学习算法,也就是CQL→SAC[2],但是这种目标函数的切换会导致性能波动,即图1(a)中的橙线。而引入集成Q网络后,CQL-N→SAC-N算法可以在确保稳定性的同时,提升一定的学习效率,即图1(a)中的黑线。

图1集成Q网络在离线到在线强化学习训练框架中的验证性实验

我们还可以通过可视化的方式来分析集成Q网络的优势。首先我们将CQL→SAC和CQL-N→SAC-N在在线微调阶段的Q值变化过程进行可视化,如图1(b)所示,CQL→SAC这样直接切换优化目标的方式确实会导致Q值的高估并且非常不稳定,而引入集成Q网络之后,由于SAC-N仍然具有保守低估Q值的能力,其相比于SAC算法的Q值也就会偏小并且保持相对稳定的变化。

值得注意的是,CQL-N→SAC-N不仅能够相比于CQL→SAC提升稳定性,实现稳定的离线到在线强化学习训练,而且相比于CQL→CQL还能提升一定的学习效率。针对这一现象,我们通过分析SAC-N和CQL在在线微调阶段的动作选择区间来进行解释说明。具体来说,我们比较了SAC-N、CQL和随机策略在在线微调过程中采取的动作相比于离线数据集内动作的距离。结果如图1(c)所示,SAC-N能够比CQL选择更广范围的动作,这意味着CQL-N→SAC-N能够在在线微调过程中进行更充分的探索,也就有着更高的学习效率。

03方法

ENOTO框架可以细化为三步渐进式的优化,仍然在经典的强化学习环境MuJoCo上进行实验,但这里展示的是在所有任务和数据集上的综合结果,如图2所示。

图2ENOTO的三步渐进式优化

第一步,在已有离线强化学习算法的基础上,我们使用集成Q网络连接离线训练阶段和在线微调阶段,将离线阶段算法和在线阶段算法中使用的Q网络拓展为N个,然后选择所有Q网络中的最小值作为最终的目标Q值进行更新。这一步的主要目的是利用集成Q网络提升过渡阶段的稳定性,当然也提升了一定的学习效率。

第二步,在确保稳定性的基础上,我们考虑提升在线优化效率。第一步的目标Q值计算方法使用的MinQ,也就是N个Q网络选最小值作为目标Q值,但是这种方法对于在线强化学习来说还是太过保守,因此我们又研究了另外几种目标值计算方法,经过实验比较最终选择WeightedMinPair作为ENOTO的目标Q值计算方式。

第三步,我们还可以利用集成Q网络的不确定性来鼓励在线阶段的探索,进一步提升学习效率。具体来说,我们使用集成Q网络的标准差来衡量不确定性,在选择动作时不仅会考虑Q值的大小,还会考虑不确定性的大小,通过超参数调整权重来选择出最终的动作。因为见得少的动作的Q值估计不准,不确定性也会更大,这就是ENOTO中基于不确定性的在线探索方法。

图3ENOTO框架

如图3所示,ENOTO框架和经典离线到在线强化学习训练范式的框架相同,也分为离线训练和在线微调两个阶段。首先在离线训练阶段,以离线强化学习算法为基础,通过引入集成Q网络,利用已有的离线数据集训练得到1个策略网络和N个Q网络;然后在线阶段迁移离线阶段的策略网络和Q网络作为在线微调的起始状态,在确保稳定性的同时,仍然基于集成Q网络进行设计,通过使用新的目标Q值计算方法和基于不确定性的在线探索方法来提升在线微调阶段的学习效率。整个ENOTO框架以集成Q网络贯穿始终,通过多种训练机制的设计实现了稳定高效的离线到在线强化学习训练。

04实验

我们首先选择强化学习领域广泛使用的MuJoCo(Multi-JointdynamicswithContact)[3]作为验证算法的实验环境,在其中的三种运动控制任务HalfCheetah、Walker2d、Hopper进行实验验证。作为离线到在线强化学习训练范式的第一阶段,离线训练需要有离线数据,我们使用离线强化学习领域广泛使用的D4RL(DatasetsforDeepData-DrivenReinforcementLearning)[4]数据集用于离线训练,并且为了证明方法的泛用性,我们选择了不同质量的离线数据集进行实验验证,包括medium、medium-replay、medium-expert这三类离线数据集。对于baseline,我们选择了离线到在线强化学习研究领域中的经典算法、性能优异算法以及一些在线强化学习算法进行比较。

图4MuJoCo实验结果

然后,我们在难度更高的导航任务AntMaze上进行实验验证。具体来说,我们使用AntMaze任务中三种不同难度的迷宫进行实验,包括umaze、medium、large,三种迷宫从易到难,能够从不同层面检验算法的各项指标。而作为用于离线训练的离线数据集,我们同样使用D4RL数据集。在D4RL数据集中收集了两类的AntMaze数据:play和diverse。因此,我们在AntMaze任务的large-diverse、large-play、medium-diverse、medium-play、umaze-diverse和umaze这6个数据集上进行实验验证。同时,为了验证ENOTO对于多种基线算法的适配性,我们在这里使用ENOTO-LAPO(ENOTO在LAPO[10]上的实例化)进行实验。由于Antmaze是一个更具挑战性的任务,大多数离线强化学习方法在离线阶段难以取得令人满意的结果,因此我们仅将我们的ENOTO-LAPO方法与三个有效的基线方法(IQL、PEX和Cal-QL)在此任务上进行比较。

图5AntMaze实验结果

图5展示了ENOTO-LAPO和基线方法在在线微调阶段的性能表现。首先,LAPO在离线阶段表现优于IQL,为在线阶段提供了更高的起点,特别是在umaze和mediummaze环境中,它几乎达到了性能上限。而在线微调阶段由于离线策略的约束,IQL表现出较慢的渐近性能。基于IQL,PEX通过引入从头训练的新策略增强了探索程度,但这些策略在早期在线阶段的强随机性导致了性能下降。需要注意的是,尽管IQL和PEX具有相同的起点,PEX在大多数任务中表现出更严重的性能下降。关于Cal-QL算法,类似于原始论文中描述的结果,它在Antmaze环境中表现出强劲的性能,显著优于其在MuJoCo环境中的表现。值得注意的是,与基线方法IQL和PEX相比,Cal-QL展示了更好的稳定性和学习效率。对于我们提出的ENOTO框架,我们证明了ENOTO-LAPO不仅可以提升离线性能,还能在保持离线性能不下降的情况下,实现稳定且快速的性能提升。

05总结

本项工作在离线到在线强化学习中引入了集成Q网络作为训练机制,通过构建多个Q值估计网络来捕捉不同数据分布偏移情况下的多样性,提出了ENOTO训练框架。在离线训练阶段,ENOTO让集成Q网络从离线数据中学习多个Q值估计,以适应不同数据分布偏移情况,然后在在线微调阶段整合多个Q值估计,生成稳健的在线策略。在确保稳定性的基础上,我们重新设计了目标Q值计算方法,以在保持稳定性的同时提升学习效率。此外,我们利用Q值的不确定性信息,鼓励智能体探索不确定性较高的动作,从而更快地发现高性能策略。实验结果表明,ENOTO在强化学习经典环境MuJoCo和AntMaze上不仅可以提升离线性能,还能在保持离线性能不下降的情况下,实现稳定且快速的性能提升。这种方法使得离线智能体能够快速适应现实环境,提供高效且有效的在线微调。

THE END
1.离线消息处理:基于消息队列的离线存储以电商系统为例,当用户下单支付时,订单消息需要被及时处理。但在高并发情况下,消息队列系统可能会出现延迟或者消息丢失的情况。为了确保订单消息的可靠性和顺序性,我们可以将订单消息存储到消息队列中,等待处理。一旦消费者重新上线,就可以从消息队列中获取订单消息,并进行处理,保证订单不会遗漏。这样就实现了离线存储,https://www.jianshu.com/p/6ed18be0ac63
2.离线任务已支持复用任务参数ModelWhale版本更新如果你的数据处理、模型训练需要持续运行较长时间,可以使用 ModelWhale「离线任务」进行代码的云端托管运行。 (1)新增复用任务参数 创建任务时,你可以复用某个离线任务的参数配置,快捷创建任务。 (2)新增“每分钟”定时任务 用户可以通过左侧面板配置定时任务规则,配置后可在右侧预览执行序列。 https://blog.51cto.com/u_16154940/12790673
3.LDD在线版重塑数字时代的用户体验体验升级之旅摘要:LDD在线版致力于重塑数字时代的用户体验,通过优化界面设计、提升功能实用性和增强用户体验等方面,为用户提供更加便捷、高效、智能的数字化服务。该版本注重用户体验的个性化需求,提供更加丰富的功能和更加流畅的操作体验,以满足用户在数字时代的需求和期望。 https://www.hnjwwzy.cn/post/539.html
4.发现应用服务网络功能托管客户工作负荷的角色称为辅助角色。 应用服务部署中的所有角色均存在于多租户网络中。 由于同一应用服务缩放单元中包含许多不同的客户,因此无法将应用服务网络直接连接到你的网络。在不连接网络的情况下,你需要使用相应的功能来处理应用程序通信的各个方面。 处理向应用发出的请求的功能不可用于解决从应用发出调用时https://learn.microsoft.com/zh-cn/training/modules/introduction-to-azure-app-service/6-network-features
5.?人间无事人然后回到改工作负载的伸缩界面,应该是可以看到伸缩记录。改为用6台,2个用户的密码用考试中指定的密码。solo-1-solo-3都需要操作。配置前可以先去主机上执行。 2024-07-29 20:31:031205 原创详细谈谈负载均衡的startupProbe探针、livenessProbe探针、readnessProbe探针如何使用以及使用差异化https://blog.csdn.net/cuichongxin/article/list/1
6.php如何判断用户在线还是离线判断用户离线在线的方法有很多,这里和大家说一个比较简单和常用的逻辑.思路: 一:首先获得用户最后一次保存的session_id //这里可以保存到数据库中获取 //假设 $memberSessionId = getMemberSessionId(); 二:用第一步获得的session_id 去查找当前session是否存在 //只要开启了session_start() ; 那么每个用户只要https://www.thinkphp.cn/code/383.html
7.360杀毒如果您的电脑无法在线自动升级,可以下载离线病毒库进行升级.适用于已安装本地病毒库的用户。下载后直接运行,可以将360杀毒的病毒库升级到最新版本。 增量病毒库更新包 发布:2024-12-17 大小:122M 64位下载32位下载 全量病毒库更新包 发布:2024-12-17 https://sd.360.cn/
8.环球网校在线网络课程辅导服务条款备注:如有辅导课程学习期限与上述期限不同,最终应当以环球网校在线(www.hqwx.com)对应的课程频道辅导方案介绍为准。 9、“环球网校在线”离线课件使用规定: (1)一个注册用户最多可以在三台终端上注册环球网校在线离线课件播放器。同一台电脑如果硬件没有变化不限制注册次数 https://www.hqwx.com/help/article.htm
9.设备接入IoTDA物联网平台如何切换设备的在线/离线状态?NB-IoT设备上报数据后为状态为在线,距离上次上报数据25小时内未上报数据,会刷新状态为异常。超过49小时未上报数据,平台会将设备置为“离线”状态。 MQTT设备连接到平台后状态为在线,断开连接后平台1分钟内会自动刷新状态为离线。如果手动点击状态刷新按钮,则可实时刷新为离线状态。https://ecloud.10086.cn/op-help-center/doc/article/43631
10.订阅用户在线状态用户在线状态订阅是即时通讯服务端提供的回调服务,采用 Webhook 机制。您需要提前在控制台注册您的回调地址。注册完成后,即时通讯服务端会在每一次用户状态变更(上线、离线、登出)时,将用户状态变化事件实时通知您的服务器。在应用中需要实时展示用户在线、离线状态时,可利用该 Webhook 返回的事件修改用户状态。如需直接https://doc.rongcloud.cn/imserver/server/v1/user/onlinestatus
11.JavaScript检测用户是否在线的6种方法总结javascript技巧navigator.onLine是一个布尔值,表示用户是否与互联网连接。当用户在线时,该属性的值为true,当用户离线时,该属性的值为false。可以通过监听online和offline事件来检测用户的在线状态变化。 1 2 3 4 5 6 7 8 9 10 11 if (navigator.onLine) { console.log("用户在线"); } else { console.log("用户离线")https://www.jb51.net/javascript/296680xtq.htm
12.授权软件—ArcGISCityEngine资源文档使用此向导完成在线或离线授权过程。 授权用户 授权用户许可 (NUL) 允许 CityEngine 使用保存到 ArcGIS Online 或ArcGIS Enterprise 组织的许可。 要使用 NUL 登录,请在 ArcGIS Administrator 向导中选择 CityEngine 授权用户选项,然后单击确定。 启动 CityEngine 2023.0。 系统将提示您提供 ArcGIS Online 或ArcGIS Enterprihttps://doc.arcgis.com/zh-cn/cityengine/2023.0/install/linux/authorizing-your-software.htm
13.流媒体入门指南:轻松学会观看和管理流媒体:用户可以根据需要随时开始或暂停播放,无需考虑文件下载进度。 下载视频:用户必须等待文件下载完成才能开始播放,如果中途停止下载,则需要重新开始下载。 流媒体服务的选择 流媒体平台的种类 流媒体平台主要分为以下几类: 在线视频平台: YouTube:全球最大的在线视频平台,提供各种类型的视频内容。 爱奇艺:专注于中https://www.imooc.com/article/363569
14.安全问题如何破解?网络安全运营公司哪家好业界资讯网御星云弱口令检测系统支持管控平台提供的连接设备的网络通道和权限通道,采集各类主机、数据库、中间件的口令文件,支持在线直连设备采集和人工导入离线核查等方式,满足用户不同网络环境。 良好的开放性和扩展性 网御星云弱口令检测系统采用了J2EE v6.0的最新技术进行架构,能够支持大多数软硬件平台和相关网络协议,具有很高https://news.zol.com.cn/805/8056383.html
15.websocket如何判断用户是否在线问答在websocket中,通常无法直接判断用户是否在线,因为websocket是一种持久连接,用户连接成功后会保持连接状态直到断开或超时。但可以通过一些方法来判断用户是否在线,例如: 心跳包:可以通过定时向客户端发送心跳包来检测用户是否在线。如果客户端在一段时间内没有收到心跳包,则可以判断用户已经离线。 用户状态标记:在服务端https://www.yisu.com/ask/77950691.html
16.腾讯QQ会员3、下载完成后,用户在线登录到在线空间,取回下载的文件。其间也可以采用QQ旋风自己的P2P方式,从已下载或正在下载相同文件的用户那里取得数据。 操作说明 第一步:下载QQ旋风,并充值QQ会员。 第二步:运行QQ旋风,提交下载任务,选择离线下载即可。 好友上限(2000人) 将QQ好友人数从500人上限提高至2000人上限!扩大您的https://baike.sogou.com/v57414345.htm
17.手机QQ的离线请留言状态究竟意味着什么?手机QQ的“离线请留言”状态表示该用户当前不在线,无法即时接收和回复消息。您可以给该用户发送留言,待其上线后查看并回复。 在现今这个数字化时代,即时通讯软件如QQ扮演着人们日常沟通的重要角色,QQ的“离线请留言”功能是一个常见的状态显示,它不仅涉及到用户网络连接的实际状态,还关联到软件设定和用户体验,具体如下https://www.shiwaiyun.com/article/post/309103.html
18.用户指南数据中心收到数据申请后会根据数据的需求情况及时与用户联系,明确用户的需要。 3、签署共享使用责任书 数据中心与数据申请者确认数据需求后,数据申请者需签署数据共享使用责任书。 4、数据提供及反馈 数据中心根据数据申请表中的内容对用户申请的数据进行授权和数据加工处理,从在线下载和离线拷贝、邮寄的方式提供给用https://www.phsciencedata.cn/Share/jsp/PublishManager/userGuide.jsp
19.UM20200609SIA3000(COD)化学需氧量在线分析仪用户手册(COD)化学需氧量在线分析仪 用户手册 目录 6 在线监测 31 6.1 量程配置 31 6.2 监测模式 33 6.3 在线离线切换 35 6.4 断电重启的处置 35 6.5 水样适用性 35 7 维护操作 37 7.1 仪表急停 37 7.2 仪表复位 37 7.3 设备监控 38 7.4 信号调整 38 7.5 试剂维护 39 7.6 清洗维护 40 7.7 手动操作 41 7.8https://m.book118.com/html/2022/1026/5142301030010011.shtm
20.EasyNVR视频平台出现视频流不稳定,状态“在线”“离线”之间切换EasyNVR视频边缘计算网关主要功能在于通过RTSP/ONVIF协议,接入前端音视频采集设备,通过EasyNVR软硬件将拉取过来的音视频流转化成适合全平台播放的RTMP、HTTP-FLV、HLS等视频流格式,方便用户进行网页等直播方式,或接入自身业务平台。 近期我们在EasyNVR页面查看时,发现有通道时长在【在线】和【离线】之间切换的情况。 https://cloud.tencent.com/developer/article/1992748
21.php怎么判断app用户是否在线?Worktile社区if(time() – $last_activity < $inactive_time){ echo '用户在线';} else { echo '用户离线';}```3. 使用心跳机制:在app端与服务器建立长连接,定时发送心跳包来维持连接。服务器接收到心跳包后,更新用户最后活动时间,通过判断最后活动时间来确定用户是否在线。以上是几种常见的判断app用户是否在线的方法,https://worktile.com/kb/ask/175086.html