LearningFlow:大语言模型城市驾驶的自动化策略学习工作流程

25年1月来自香港科技大学广州分校的论文“LearningFlow: Automated Policy Learning Workflow for Urban Driving with Large Language Models”。

强化学习 (RL) 的最新进展表明其在自动驾驶领域具有巨大潜力。尽管前景光明,但诸如手动设计奖励函数和复杂环境中的低样本效率等挑战,仍然阻碍着安全有效的驾驶策略开发。为了解决这些问题,LearningFlow,针对城市驾驶的自动化策略学习,提出一个工作流程。该框架在整个 RL 训练过程中利用多个大语言模型 (LLM) 智体的协作。LearningFlow 包括课程序列生成过程和奖励生成过程,它们协同工作,通过生成定制的训练课程和奖励函数来指导 RL 策略。具体来说,每个过程都由一个分析智体支持,该智体评估训练进度并为生成智体提供关键见解。通过这些 LLM 智体的协作,LearningFlow 可以在一系列复杂的驾驶任务中实现策略学习的自动化,并显著减少对手动奖励函数设计的依赖,同时提高样本效率。在高保真 CARLA 模拟器中进行全面的实验,并与其他现有方法进行比较。

随着人工智能 (AI) 技术的进步,生成模型取得重大突破,其中大语言模型 (LLM) 是最突出的应用之一 [1],[2]。LLM 在理解和生成文本方面表现出色,同时与其他专用模块的集成可实现多模态功能,例如处理和生成图像和视频。这种固有的多功能性展示在各个领域应用的巨大潜力 [3]。与此同时,自动驾驶技术取得长足的进步,成为人工智能和交通研究的焦点 [3],[4],[5]。一般而言,城市驾驶场景的特点是道路结构和任务类型多样,例如多车道超车、匝道合并和交叉路口穿越。这些驾驶场景需要与表现出不同驾驶风格的周围车辆 (SV) 进行频繁交互。驾驶环境的多样性和 SV 行为的不确定性,共同对实现安全高效的闭环城市驾驶系统提出了重大挑战 [6],[7]。因此,自动驾驶系统需要增强预防潜在碰撞风险的能力,并在不同场景中优化任务效率。从这个角度来看,城市自动驾驶需要强大的交互感知决策和规划能力,以便安全地与 SV 交互,同时高效地完成各种驾驶任务。

强化学习 (RL) 已显示出自动驾驶解决方案的巨大潜力。它使策略能够通过与环境的交互以及从这些交互中获得的反馈来优化决策 [4]、[8]、[9]、[10]。尽管 RL 在自动驾驶社区取得了重大进展,但它仍然面临两大挑战。第一个挑战在于奖励函数的设计,RL 依靠它来指导智体探索环境和改进策略。然而,在自动驾驶等现实世界的任务中,奖励信号通常很稀疏,这严重阻碍有效的策略学习 [11]。奖励塑造是一种提供增量学习信号以缓解此问题的常用方法 [12]。然而,为复杂的自动驾驶任务设计合适的奖励函数仍然极具挑战性。传统的手工设计方法不仅受限于设计者的主观经验,而且耗时繁琐 [13],[14],[15]。由于不同任务的特点不同,能够有效指导强化学习策略去学习好行为的奖励函数,可能会有很大差异。此外,奖励函数通常在策略训练开始时就固定下来,无法在训练过程中实时调整。因此,手工设计的奖励函数往往无法囊括所需的细微行为,也无法在动态城市驾驶场景中为强化学习状态提供有效的指导,导致策略收敛性差。第二个挑战是在线探索过程中的样本效率。城市驾驶任务的复杂性涉及多样化的道路结构、不同的任务目标、交通密度和 SV 的驾驶风格。依靠强化学习策略从目标任务中随机探索收集的样本中学习效率极低,可能需要大量的训练集,并导致性能不稳定 [16]。课程学习 (CL) 是一种受人类学习启发的结构化方法,通过从简单到复杂的渐进顺序分解任务来提高训练效率 [17],[18]。这种方法最终使智体能够获得复杂任务的有效策略。虽然 CL 为解决 RL 中复杂任务的训练效率低下提供一个有前途的框架,但在评估和动态切换训练课程方面仍然存在挑战。已经提出几种自动化 CL 算法来评估训练进度和质量,并在适当的阶段动态调整训练课程 [19],[10]。训练任务被建模为多臂老虎机(bandit)问题,具有一组具有不同难度级别的课程以实现课程转换。然而,更新多臂老虎机算法需要加入新的监督信号,并且参数调整是特定于任务的。这个问题可能会导致处理不同场景时效率低下。

深度强化学习的奖励设计。奖励函数在引导强化学习状态与环境交互方面起着至关重要的作用。高质量的奖励函数可以显著提高强化学习策略的性能。因此,奖励函数的设计(通常称为奖励工程)在强化学习中起着至关重要的作用。为自动驾驶和机器人等现实世界任务设计合适的奖励函数是一项挑战,因为长期来看奖励稀疏,并且需要平衡探索和开发。在现有研究中,手动设计是构建奖励函数最常用的例程,然后通过反复试验进行微调 [10]、[20]、[21]。这种方法不仅使奖励函数的有效性依赖于专家经验,而且使整个训练过程耗时费力。此外,在处理复杂的多任务问题时,仅依靠专家经验往往无法产生令人满意的奖励函数。多任务强化学习技术是通过共享策略或设计特定任务的策略引入的 [22]、[23]、[24],但仍然没有考虑奖励设计问题。

为了应对奖励设计带来的挑战,逆强化学习 (IRL) 用于通过观察状态与环境交互的行为从收集的数据中提取奖励函数 [25]、[26]。具体来说,采用深度 IRL 方法通过从收集的专家演示中提取学习的奖励模型来推断驾驶行为,以对自动驾驶任务中的轨迹进行评分和评估 [27]、[28]。然而,由于奖励函数的非唯一性,推断出的奖励函数无法完全捕捉智体的真实动机。另一方面,IRL 依赖于大量的专家数据,而在复杂和动态的环境中收集高质量的数据具有挑战性,甚至不切实际。这种奖励推理方法通常涉及复杂的优化过程,导致计算负担重、训练时间长以及环境建模的限制。此外,还引入了用于奖励塑造的进化算法来进化奖励函数[12],[29]。随着基础模型技术的进步,可以通过向LLM提供相关提示来完成RL任务的奖励函数设计[30],[31],这为解决RL中奖励设计的挑战提供了一个有希望的解决方案。

深度强化学习的训练效率。RL策略通过与环境交互来收集经验,从而提高性能。然而,低样本效率仍然是将RL应用于复杂任务的重大挑战。直接采用随机策略在复杂环境中收集样本信息效率极低,这会大大延长策略收敛所需的时间,甚至导致无法实现收敛。为了解决这个问题,引入环境模型来生成虚拟样本以提高样本效率,从而加速训练过程[32]。然而,训练策略的有效性在很大程度上取决于模型的准确性。
CL 提供一种有希望的解决方案来缓解上述挑战 [17]、[33]。阶段-衰减 CL 方法来指导 RL 智体的策略学习 [34]。尽管如此,课程转换的预定手动安排严重依赖于专家知识,这限制训练结果的稳健性和有效性。为了应对上述挑战,已经提出各种自动化 CL 方法 [35]、[36]。然而,这些方法是在假设周围车辆(SV) 不会对自车 (EV) 行为做出反应的情况下设计的。此外,EV 可以访问 SV 的未来轨迹。

这些简化可能会危及驾驶安全并降低 RL 策略的泛化能力。在现实世界中,人类驾驶员会根据 SV 的行为动态调整他们的驾驶动作,这对于确保道路上安全高效的互动至关重要。本质上,由于大多数当前研究没有全面考虑 SV 的交互行为,这些简化可能会限制自动驾驶技术在现实场景中的部署。

大语言模型应用。随着 LLM 的快速发展,它们在各种任务中的潜力引起了广泛关注 [3]。目前,LLM 主要以两种方式使用。第一种是 LLMs-在-任务-环解决方案,它利用 LLM 进行具身推理。第二种是 LLMs-在-训练-环解决方案,它结合 LLM 进行策略学习。

1)LLM 用于具身推理:将 LLM 技术应用于自动驾驶任务的最直接方法之一是将 LLM 作为决策或规划模块嵌入到自动驾驶系统中。根据嵌入方法的不同,主要有两种方法:串行 LLM 解决方案和并行 LLM 解决方案 [37]、[38]、[39]。例如,DiLu 通过将基于 LLM 的推理模块集成到自动驾驶系统中来实现基于常识知识的决策 [37]。然而,由于 LLM 的推理延迟,这种顺序结构限制了自动驾驶系统的响应速度,对满足实时性要求提出了挑战。为了解决这个问题,DriveVLM-Dual 将传统的端到端管道与基于 LLM 的推理系统以并行方式连接起来,形成一个快慢系统,缓解了基于 LLM 的自动驾驶解决方案的实时性能挑战 [40]。

2)用于策略学习的 LLM:除了在自动驾驶系统中直接部署 LLM 之外,LLM 还应用于训练阶段 [31]、[41]、[42]、[43]。最近的研究探索使用 LLM 设计强化学习中的奖励函数并协助 CL 进行任务分解。已经提出了一种通用的 RL 训练框架,利用 LLM 的上下文学习能力和先验知识来生成智体奖励函数 [30]。Auto MC-Reward 通过引入三个自动奖励模块自动设计密集奖励函数,从而提高学习效率 [31]。Eureka 被提出[14]、[44],作为一种由 LLM 驱动的人类级奖励生成方法,用于顺序决策任务 。CurricuLLM 被提出用于将复杂的机器人技能分解为一系列子任务,从而促进复杂机器人控制任务的学习 [45]。然而,整个训练课程序列在训练之前就已经预先确定,课程转换的时间被忽略,这可能会影响样本效率。AutoReward 利用 LLM 和基于 CoT 模块实现自动驾驶的闭环奖励生成 [46]。然而,这种方法需要访问模拟环境的内部代码,这可能会导致环境动态的泄露。它没有考虑交通密度,需要在同一驾驶环境中针对不同交通状况的驾驶任务进行重新训练。此外,AutoReward 会在整个训练周期后调整奖励函数,这会增加训练时间并可能导致不必要的计算成本。

为了应对上述挑战,本文研究课程 RL(CRL)和 LLM 的整合,开发策略训练框架 LearningFlow,旨在实现城市驾驶任务的课程转换和奖励设计的自动化。训练范式如图所示:

请添加图片描述

本研究旨在应对为各种城市驾驶场景(例如多车道超车和匝道合并)开发安全、有效且具有交互感知能力的驾驶策略的挑战。电动汽车和自动驾驶汽车的初始位置和目标位置都是随机生成的,同时确保遵守交通法规。自动驾驶汽车的数量也是随机的,其交互行为由不同的驾驶风格驱动。在这种情况下,电动汽车需要在包含交互式自动驾驶汽车的环境中完成各种驾驶任务。由于不同的驾驶任务具有不同的特点和要求,因此在设计适当的奖励函数和合适的训练课程方面提出了重大挑战。

目标是自动生成奖励函数和训练课程来训练 RL 策略,以推断决策序列,指导电动汽车在不同场景中安全高效地完成驾驶任务。这里假设电动汽车可以准确地访问自动驾驶汽车的确切位置和速度信息,但目标任务和驾驶意图是未知的。这些配置为驾驶场景注入相当大的随机性,使任务具有挑战性,但接近真实世界的情况。

目标任务被表述为马尔可夫决策过程 (MDP)。在这里,将 MDP 表示为多元组 E = ⟨S,A,P,R,γ⟩,每个元素定义如下:状态空间 S 包括电动汽车观察范围内驾驶车辆的运动学特征;动作空间 A 是 RL 智体采用三个离散子动作空间组成的多离散动作空间;状态转换动力学 P(S_k+1|S_k, a_k) 描述环境状态的转换,同时满足马尔可夫特性,由外部环境隐式确定,并且 RL 智体无法访问;奖励函数 R 在 RL 中起着至关重要的作用,它通过提供奖励来强化智体的正确操作,并惩罚不正确的操作,从而指导智体在环境中的探索;(本文用 LLM 的广泛知识库来设计和迭代改进 RL 智体的有效奖励函数);折扣因子 γ ∈ (0, 1) 用于折扣未来累积的奖励。

建立了以下的两-层课程集合。第一层考虑交通密度,第二层考虑 SV 的运动模式。具体来说,设计的课程集由 N_td 个子集组成,每个子集包含 N_mm 个元素。在 CRL 中,需要一系列的训练课程来建立优化 RL 策略的环境,课程的顺序是通过使用 LLM 来制定的,LLM 具有强大的生成能力来指导学习过程。

所提出的 LearningFlow 的详细架构如图所示。首先,分别生成与自动驾驶任务相关的常识提示,发送给课程分析智体和奖励分析智体,以分析训练任务。然后将形成的课程生成和奖励生成关键点以及 CL、奖励生成和代码生成的常识提示,输入到课程生成智体和奖励生成智体中,以促进训练课程选择和奖励生成。随后,从 LLM 的响应中提取相关的训练课程和奖励函数代码,以初始化 RL 智体和交互环境。最后,下游 RL 执行器在 LLM 智体设计的环境和奖励函数内进行探索和学习。LLM 智体的响应以及训练历史记录保留在记忆模块中;在经过指定数量的情节后,它们被反馈给 LLM 智体以更新训练课程和奖励函数。

请添加图片描述

LearningFlow 框架由推理模块、反思模块和用于课程生成和奖励生成的记忆模块组成。通过向所提出的框架提供适当的提示,系统能够针对各种自动驾驶任务执行自动策略学习。

LLM 天生缺乏持久记忆能力,这意味着它们在处理新查询时无法保留来自先前小节的交互信息。因此,LLM 无法在后续的推理任务中回忆起与用户的过去交流。因此,引入一个记忆模块来存储来自训练过程的历史信息,以实现整个训练过程的闭环在线调整工作流。这包括来自各种 LLM 智体的推理结果、生成的训练课程、设计的奖励函数、记录的总奖励和训练期间的各个奖励成分以及训练指标。提取的信息通过提取模块以文本或矢量形式存储,并通过反思模块集成到下一个小节的提示中。通过整合记忆模块,LLM 可以保留和利用跨小节的历史训练数据,实现闭环推理和自动训练调整,从而显着提高策略学习的效率和适应性。

课程序列生成的迭代过程如下:

1)上下文描述子:鉴于 LLM 的通用性,有必要提供相关的上下文信息以帮助它们理解任务目标。本研究采用上下文描述子,以自然语言全面描述当前训练任务。考虑到任务的复杂性,描述包括驾驶场景的特征和策略学习的目标。对于课程生成LLM智体,精心设计的两-层课程集合和课程描述作为上下文的一部分。然后将生成的描述集成到不同智体的系统提示中,以促进课程分析和生成的任务特定推理。

2)课程分析智体:目标场景复杂且具有挑战性,不仅涉及具有不同驾驶风格的SV,还涉及不同的交通密度。为了提高样本效率,设计的两-层课程集合不仅结合这些因素,还结合具有不同SV运动模式的课程子集。不同场景中驾驶难度的不可量化性对传统课程选择算法提出挑战,并提高对课程生成智体的要求。

直接生成训练课程可能会导致 LLM 产生低质量的 LLM 输出,例如课程过渡不适当或遗漏关键课程。为了解决这个问题,引入一个课程分析智体。在课程分析智体的提示中,提供 CL 的基础知识,以及两-层课程集合的结构和每层的设计目标。具体而言,课程集合旨在指导策略逐步探索环境。它从较简单的任务开始,逐渐过渡到更复杂的任务,从而提高样本效率。在生成训练课程之前,该智体会考虑当前的训练上下文,逐步分析两-层课程集合。它利用来自上下文描述子、课程集合信息、历史课程序列、当前训练进度和 RL 策略历史训练数据的上下文信息。基于此分析,智体确定在设置下一轮 CRL 训练时需要考虑的关键方面,并为课程生成智体提供做出明智推断的理由。

3)课程生成智体:课程分析智体完成推理后,将分析结果传递给课程生成智体作为参考。具体来说,提示生成器利用课程集合的定义和分析、CL 原则和输出格式提示作为训练课程生成的文本背景。然后,它指示 LLM 进行推理并返回推断结果,其中包括选定的训练课程。然后从 LLM 的响应中解码选定的课程。通过设计的提示和与课程分析智体的协作,课程生成智体可以在初始化阶段和整个训练过程中有效地选择合适的课程任务。

鉴于环境规则和状态转换的复杂性,以及 LLM 生成的选择中潜在的次优性,结合 ε-greedy 策略,该策略通常用于解决 RL 中的探索-开发困境 [13],以配置最终的训练环境。该策略有助于 RL 智体更好地理解环境特征并适应环境变化。

4)课程评估与反思模块:在训练初始阶段,通过分析智体和选择智体的协同,实现开环的自动课程生成,为处于不同训练阶段的强化学习智体提供合适的训练环境。同时,记忆模块记录策略训练过程中产生的交互数据。为了能够根据历史信息及时进行课程切换,需要用语言表达当前课程是否适合后续训练。为此,引入课程反思模块,为课程分析和选择模块提供反馈,实现闭环的自动课程智体工作流程。具体而言,课程反思智体总结历史课程序列的特征、策略奖励的轨迹和任务绩效指标,并生成反思提示,指导下一阶段课程的分析和选择。

奖励生成的迭代过程如下:

1)上下文描述子:与课程智体类似,提供适当的上下文信息以指导 LLM 理解奖励生成的目标至关重要。在这里,还使用上下文描述子以自然语言全面表达奖励生成任务的要求。考虑到奖励设计过程的复杂性,描述子既包括奖励函数的一般原则,也包括特定于任务的目标,例如驾驶交互的特征和 RL 智体训练的预期结果。这些描述被纳入不同智体的系统提示中,以实现针对特定任务的奖励分析和生成推理。

2)奖励分析智体:在研究中,自动驾驶任务的复杂性不仅来自不同的驾驶场景,还来自不同的交通密度。这增加了对奖励函数设计的需求。直接生成奖励函数可能会导致 LLM 的输出无效。

为了解决这个问题,引入一个奖励函数分析智体,它在设计奖励函数之前分析任务。对于标准的 RL 任务,手工编写的奖励函数通常包含可访问的环境状态变量、动作变量和常量。因此,为奖励分析智体提供带有注释的代码段(其中包含可访问的环境变量)作为上下文是合理的。这种方法可以防止暴露环境的内部机制,并且无需显式的状态转换动态。LLM 智体利用来自上下文描述子、可访问变量的代码段、课程智体确定的下一个训练环境、当前训练进度和反馈数据的上下文信息。该智体提供奖励生成过程中的关键考虑因素,并为奖励组件提供参考值范围和分析依据,从而支持奖励生成智体的推理过程。

3)奖励生成智体:奖励分析智体完成推理后,将分析结果和参考值范围传递给奖励生成智体。此外,还提供可访问变量、奖励函数签名、奖励函数构建原则和输出格式规范作为设计奖励函数的文本上下文。具体而言,奖励函数的生成需要输出总奖励和设计子奖励的各个组成部分。鉴于上述全面的信息作为背景,设计一个通用的奖励生成提示,将其输入到LLM中。然后,奖励生成智体调用LLM进行推理,利用其庞大的知识库和涌现能力生成包含设计奖励函数的响应。随后,从响应内容中提取奖励函数的可执行代码并添加到环境程序中。通过精心设计的提示和与奖励分析智体的协作,奖励生成智体可以在整个训练过程中有效地构建合适的奖励函数。

4)奖励评估与反思模块:通过多个智体的协作,实现开环奖励生成过程,为 RL 智体提供初始奖励函数。然后,RL 智体可以在生成的奖励函数指导下探索环境,并收集相关数据以进行策略更新和记忆存储。

为了便于根据历史数据及时细化奖励函数,必须评估并阐明当前的奖励函数是否与训练目标一致。为此,引入奖励反思模块来为奖励分析和生成智体生成反馈提示,共同形成闭环奖励生成流程和在线调整工作流。此反思工作流生成反思提示,根据反馈信息和之前的奖励函数,重塑和变异当前奖励函数,以供后续训练阶段使用。

为了实现有效的闭环迭代,需要对设计的奖励函数进行全面评估,作为后续改进的基础。它包括来自 RL 智体交互的信息,例如有关奖励函数及其组件的历史数据、成功率、碰撞率和超时率。根据这些指标,奖励智体可以整合不同粒度级别的信息。这包括整个奖励函数和成功率的粗粒度数据,以及各个奖励组件的细粒度细节。这包括整个奖励函数和成功率的粗粒度数据,以及单个奖励组件的细粒度细节。这些功能可以更有效地优化奖励函数设计并提出更有针对性的奖励组件。然后向分析和生成智体提供有关基于上下文奖励改进的提示,以根据先前设计的奖励函数提出新的、增强的奖励函数生成。此提示包括闭环反馈的描述和改进建议,例如添加或删除奖励组件或修改奖励系数。

本工作采用集成的决策-规划-控制策略,以 RL 策略作为下游执行器。具体来说,RL 策略根据观察结果生成决策变量,然后将其用作模型预测控制器(MPC)的参考来计算控制信号。

RL 策略由一个神经网络 π 表示,参数为 θ。给定时间步骤 k 的 RL 观测 O_k,生成 RL 智体的动作。

路径点由预定义路线图和多种路径搜索方法提供,例如 A∗ 搜索算法。在任务开始时生成参考路径点集。最靠近 EV 的 5 个路径点 (WP′_i ,i = 0, 1, …, 4) 被添加到路径点子动作 5-D 空间 A_1。另外,还有参考速度子动作 5-D 空间 A_2 和换道子动作 3-D 空间 A_3。

上述三个子动作空间的协调可以使电动汽车与表现出不同行为的电动汽车交互时具有灵活的运动模式。当需要快速朝目标移动时,RL 智体可以选择较远的航点和高速;而对于紧急制动,它可以选择最近的航点和低速。车道变换子动作增加进一步的灵活性。选择相邻车道上较近的航点表示紧急变道,而较远的航点可以更平稳地变道以避免碰撞或超车。奖励函数和训练环境由 LLM 智体提供。在 RL 策略根据观察生成动作输出后,这些动作被解码并传递给模型预测控制器(MPC),后者将它们转换为要应用于电动汽车的执行轨迹和控制命令。

一旦从 LLM 智体的答案中解码出训练课程和奖励函数,RL 智体就会探索所选课程配置设置的环境。相关的历史训练信息记录在重放缓冲区中。一旦收集到一定数量的 episodes,RL 策略就会接受训练,优化与生成的训练课程序列 (C_0、C_1、…、C_N_max+1) 相关的累积目标函数。

在两种城市驾驶场景中实现自动化策略学习工作流程。实验是在配备 Intel® Core™ i9-14900K CPU 和 NVIDIA GeForce RTX 3090 GPU 的 Ubuntu 18.04 系统上进行的。实验中涉及的所有自动驾驶场景均在 CARLA 模拟器 [47] 上构建。在这里,选择特斯拉 Model 3 作为电动汽车和自动驾驶汽车。为了验证 LearningFlow 在不同驾驶任务中自动化策略学习的能力,选择 Town06 地图中的匝道合并场景和多车道超车场景进行验证。这两个场景是城市驾驶必不可少的经典组成部分,每个场景都有不同的操作特点。超车任务,要求电动汽车与并行行驶的自动驾驶汽车进行多轮交互式决策,确保安全超车,而不会干扰其他车辆。相比之下,合并任务需要准确评估主干道上车辆之间的间隙大小和 SV 的驾驶意图,以便 EV 在有限的时间和距离内从狭窄的坡道进入。如果不能在这个时间窗口内合并,可能会迫使车辆突然减速甚至停在车道尽头,这会使决策过程复杂化。

由于该任务涉及选择课程并根据来自多个信息源的上下文信息设计奖励函数,因此需要 LLM 具有强大的推理能力。此外,与 LLM 在任务循环方法中的任务不同,LearningFlow 框架仅在课程生成和奖励设计过程中调用 LLM,这意味着 LLM 调用的频率相对较低。考虑到这一点,为实验选择 GPT-4o 模型,它在推理能力和性能要求之间取得了平衡。

具体来说,近端策略优化 (PPO) [48] 被选为 RL 策略训练算法,因为它能够平衡训练稳定性和数据利用效率。这一特点使其特别适合所研究的驾驶任务。此外,PPO 非常适合多维离散动作空间,这在本研究中至关重要。PPO 算法的裁剪目标函数用于更新 RL 策略。

本研究采用 A-C 架构来实现强化学习执行器的 PPO 策略。通过 PyTorch 将演员网络和评论家网络设置为具有 2 个隐藏层(每个层有 256 个单元和 128 个单元)的全连接网络,并使用 Adam 优化器进行训练。迭代次数设置为 50。演员网络和评论家网络的学习率分别设置为 5 × 10−4 和 1 × 10−3。γ 设置为 0.99。η 设置为 0.2。更新频率参数 N_P 、 N_C 和 N_R 分别设置为 50、100 和 1000。低级的模型预测控制(MPC)优化问题由 CasADi [49] 解决,采用 NLP 求解器的 IPOPT 选项和单次射击(single-shooting)方法。在实验场景中使用提出的 LearningFlow 方法训练 RL 策略,其中仅对不同场景中任务特征的文本描述进行修改。

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

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

相关文章

大语言模型多代理协作(MACNET)

大语言模型多代理协作(MACNET) Scaling Large-Language-Model-based Multi-Agent Collaboration 提出多智能体协作网络(MACNET),以探究多智能体协作中增加智能体数量是否存在类似神经缩放定律的规律。研究发现了小世界协作现象和协作缩放定律,为LLM系统资源预测和优化…

【OpenCV】双目相机计算深度图和点云

双目相机计算深度图的基本原理是通过两台相机从不同角度拍摄同一场景,然后利用视差来计算物体的距离。本文的Python实现示例,使用OpenCV库来处理图像和计算深度图。 1、数据集介绍 Mobile stereo datasets由Pan Guanghan、Sun Tiansheng、Toby Weed和D…

PT8032 3 通道触摸 IC

1. 概述 PT8032 是一款电容式触摸控制 ASIC ,支持 3 通道触摸输入 ,2 线 BCD 码输出。具有低功耗、 高抗干扰、宽工作电压范围、高穿透力的突出优势。 2. 主要特性 工作电压范围: 2.4~5.5V 待机电流约 9uAV DD5V&CMOD10nF 3 通道触…

像指针操作、像函数操作的类

像指针一样的类。把一个类设计成像一个指针。什么操作符运用到指针上? 使用标准库的时候,里面有个很重要的东西叫容器。容器本身一定带着迭代器。迭代器作为另外一种智能指针。迭代器指向容器里的一个元素。迭代器用来遍历容器。 _list_iterator是链表迭…

Pikachu–XXE漏洞

Pikachu–XXE漏洞 一、XML基础概念 XML文档结构由XML声明&#xff0c;DTD(文档类型定义)&#xff0c;文档元素三部分构成&#xff01; #XML是可扩展标记语言(Extensible Markup Language),是设计用来进行数据的传输与存储。 #eg: <!--XML声明--><!--指明XML文档的版…

matlab-simulink

1、信号到对象解析指示符 代表的意义是&#xff1a;信号名称必须解析为信号对象 2、input inport 双击空白区域输入模块名字&#xff0c;自动联想显示相关模块 没看出太大的差别 3、Stateflow 双击空白区域输入stateflow、或者chart或者常用库里面去查找 4、离散时间积分…

简单几个步骤完成 Oracle 到金仓数据库(KingbaseES)的迁移目标

作为国产数据库的领军选手&#xff0c;金仓数据库&#xff08;KingbaseES&#xff09;凭借其成熟的技术架构和广泛的市场覆盖&#xff0c;在国内众多领域中扮演着至关重要的角色。无论是国家电网、金融行业&#xff0c;还是铁路、医疗等关键领域&#xff0c;金仓数据库都以其卓…

网络安全概论——网络安全基础

一、网络安全引言 信息安全的四个属性&#xff08;信息安全的基本目标 &#xff09; 保密性:信息不会被泄露给非授权用户完整性&#xff1a;保证数据的一致性可用性&#xff1a;合法用户不会被拒绝服务合法使用&#xff1a;不会被非授权用户或以非授权的方式使用 二、网络安全…

数据结构-链式二叉树

文章目录 一、链式二叉树1.1 链式二叉树的创建1.2 根、左子树、右子树1.3 二叉树的前中后序遍历1.3.1前(先)序遍历1.3.2中序遍历1.3.3后序遍历 1.4 二叉树的节点个数1.5 二叉树的叶子结点个数1.6 第K层节点个数1.7 二叉树的高度1.8 查找指定的值(val)1.9 二叉树的销毁 二、层序…

SpringCloud系列教程:微服务的未来(二十三)SpringAMQP快速入门、Work Queues、Fanout交换机

前言 Spring AMQP是Spring框架中用于与消息中间件&#xff08;如RabbitMQ&#xff09;进行交互的一个项目&#xff0c;它简化了消息发送、接收以及消息处理的过程。通过Spring AMQP&#xff0c;开发者可以快速实现基于RabbitMQ的消息传递系统。本文将介绍Spring AMQP的快速入门…

单片机简介

一、单片机简介 电脑和单片机性能对比 二、单片机发展历程 三、CISC VS RISC

Java中面向对象的三大特性 -- 有关多态

学习目标 理解多态掌握instanceof了解抽象类&#xff0c;抽象方法 1.多态(向上转型) ● 现在我们已经学会了继承&#xff08;类与类之间的&#xff09;关系&#xff0c;并且能够在子类继承父类的基础上进一步对子类的数据及操作进行扩展&#xff0c;增加新的成员变量和方法或…

在本地校验密码或弱口令 (windows)

# 0x00 背景 需求是验证服务器的弱口令&#xff0c;如果通过网络侧校验可能会造成账户锁定风险。在本地校验不会有锁定风险或频率限制。 # 0x01 实践 ## 1 使用 net use 命令 可以通过命令行使用 net use 命令来验证本地账户的密码。打开命令提示符&#xff08;CMD&#xff0…

蓝桥杯嵌入式备赛(四)—— 中断 + UART

目录 一、STM32 NVIC中断系统1、NVIC介绍2、Cortex-M4优先级设置 二、UART介绍1、原理图介绍2、原理图介绍及编程步骤&#xff08;1&#xff09;CubeMX设置&#xff08;2&#xff09;UART 发送&#xff08;3&#xff09;UART 接收 一、STM32 NVIC中断系统 1、NVIC介绍 STM32G4…

AI前端开发的学习成本与回报——效率革命的曙光

近年来&#xff0c;人工智能技术飞速发展&#xff0c;深刻地改变着各行各业。在软件开发领域&#xff0c;AI写代码工具的出现更是掀起了一场效率革命。AI前端开发&#xff0c;作为人工智能技术与前端开发技术的完美结合&#xff0c;正展现出巨大的发展潜力&#xff0c;为开发者…

AI前端开发的持续学习策略:拥抱变化,精进技艺

在飞速发展的科技浪潮中&#xff0c;AI前端开发领域正经历着日新月异的变化。作为一名AI前端开发者&#xff0c;你是否感到技术更新迭代之快&#xff0c;对自身持续学习能力提出了更高的要求&#xff1f; 想要在竞争激烈的行业中保持领先地位&#xff0c;持续学习不再是一种选择…

sql盲注脚本

在sqli-labs中的第8题无回显可以尝试盲注的手法获取数据 发现页面加载了3秒左右可以进行盲注 布尔盲注数据库名 import requestsdef inject_database(url):datanamefor i in range(1,15):low 32high 128mid (low high) // 2while low < high:path "id1 and asci…

DeepSeekR1 苹果macbook M1本地可视化运行!

过年了&#xff0c;就带了一台 macbook air 8g&#xff0c;DeepSeekR1的消息还是铺天盖地的来&#xff0c;我就想着在这台电脑上也装一个吧。 经过简单的配置&#xff0c;最终也运行起来了&#xff0c;速度还可以。 我这是首款M系列笔记本&#xff0c;也是现在最低配的 M 系列…

centos 10 离线安装dnf 和 设置dnf镜像源

离线安装dnf可用kimi搜索, centos 使用curl 下载dnf 的rpm包 mkdir ~/dnf_packages cd ~/dnf_packages# CentOS 7 示例 curl -O http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/dnf-0.6.4-2.sdl7.noarch.rpm curl -O http://springdale.math.ias.edu/data/pu…

Vivado生成edif网表及其使用

介绍如何在Vivado中将模块设为顶层&#xff0c;并生成相应的网表文件&#xff08;Verilog文件和edif文件&#xff09;&#xff0c;该过程适用于需要将一个模块作为顶层设计进行综合&#xff0c;并生成用于其他工程中的网表文件的情况。 例如要将fpga_top模块制作成网表给其它工…