轨迹规划中优化预测:学习多个初始解的优化器

news2024/11/26 15:49:16

Abstract

在许多应用中,如机器人控制、自动驾驶和投资组合管理,需要在严格的运行时间限制下连续地解决相似的优化问题。在这种情况下,局部优化方法的性能对初始解的质量非常敏感:不良的初始化可能会导致收敛缓慢或得到次优解。为应对这一挑战,我们提出了一种学习预测多个多样化初始解的方法,以给定定义问题实例的参数为基础。我们介绍了两种使用多初始解的策略:(i) 单优化器方法,通过选择函数选择最优的初始解;(ii) 多优化器方法,其中多个优化器被分别初始化,最终选择最佳解。我们在三个优化控制基准任务上验证了此方法:倒立摆、目标到达和自动驾驶,并使用了不同的优化器:DDP、MPPI 和 iLQR。我们发现该方法在所有评估设置中均显著且一致地提高了性能,并证明了其随着初始解数量的增加而有效扩展。

代码获取:https://github.com/EladSharony/miso

 欢迎加入自动驾驶实战群

Introduction

许多应用,如机器人和自动驾驶中的轨迹优化以及金融中的投资组合管理,需要在紧张的运行时间约束下连续解决类似的优化问题 。在这些情况下,局部优化器的性能通常高度依赖于提供的初始解,而不良的初始化可能导致次优解或无法在限定时间内收敛 。因此,始终生成高质量初始解对于保证性能和安全性非常重要。

传统的初始解选择方法通常依赖启发式方法或“热启动”技术,即重复使用先前已解问题实例的解。最近,还提出了基于学习的解决方案,使用神经网络来预测初始解。然而,在更具挑战性的情况下,例如当优化景观高度非凸或连续的问题实例快速变化时,预测单一优质初始解变得困难。

图片

为此,我们提出了学习多个初始解的方法 (MISO)(如图 1 所示),通过训练神经网络来预测多个初始解。我们的方法适用于两种关键设置:(i) 单优化器方法,使用选择函数利用问题实例的先验知识来识别最优的初始解,并将其提供给优化器;(ii) 多优化器方法,生成多个初始解以支持多个优化器的执行,这些优化器可能并行运行,最后选择最佳解。

具体来说,我们的神经网络接收一个参数向量,用于表征问题实例,并输出 𝐾个候选初始解。网络在问题实例与(近)最优解配对的数据集上进行训练,并在此前未见过的实例上进行评估。网络不仅旨在预测接近最优解的初始解,还确保这些解具有足够的多样性,以覆盖问题中的所有潜在模式。为积极鼓励这种多模态性,我们在训练中实施了一些策略,如赢家通吃损失(仅惩罚损失最低的候选解)、基于分散的损失项(促进解的分散性),以及两者的结合。

我们在三个局部优化算法上评估了 MISO,这些算法被应用于不同的机器人控制任务:用于倒立摆任务的第一阶 Box 差分动态规划(DDP)、用于目标到达任务的基于采样的模型预测路径积分控制(MPPI)、以及用于自动驾驶任务的迭代线性二次调节器(iLQR)。结果显示,MISO 显著优于依赖启发式方法的现有初始化方法、学习单一初始解的方法以及独立学习模型的集合方法。

3.3. 初始化优化器

问题设定。在最一般的形式下,我们需要求解一个参数化优化问题的实例,

图片

其中 

图片

 是要优化的变量向量,J是目标函数,g和 h是不等式和等式约束的集合,而 

图片

 是定义问题实例的参数向量,例如目标函数和约束的参数,这些参数在不同的问题实例中有所不同。局部优化算法 Opt 试图找到 J 的最优解,即

图片

其中

图片

是提供给优化器的初始解,是运行时间限制。

启发式方法。初始解 的常见选择是先前已解决的类似问题实例的解,这被称为热启动。例如,在最优控制中,热启动通常是前一个时间步的解,该解经过平移并用零填充,即

图片

。这种启发式方法在实践中通常效果较好,但当问题实例在连续的时间步中发生较大变化时,可能会出现问题,导致最优解显著变化。例如,在自动驾驶中,诸如红绿灯突然变化或行人突然出现等突发事件,可能会大幅改变参考轨迹或约束。在这种情况下,先前的解成为一个较差的初始化,优化器可能无法在规定时间内找到良好的解。

4. 学习多个初始解 (MISO)

MISO 的主要思想是训练一个神经网络来预测优化问题的多个初始解,使得这些初始解能够覆盖优化景观中有潜力的区域,从而使局部优化器找到接近全局最优解的解。关键问题在于如何设计多输出预测器、如何在现有优化器中利用多个初始解,以及如何训练预测器输出多样化的初始解。在以下部分中,我们讨论了这些问题的解决方案,使用一个简单的例子说明多模态的需求,并探讨其在最优控制中的应用。

4.1 多输出预测器

我们的多输出预测器是一个神经网络,它以问题实例作为输入,并为该优化问题输出 K 个初始解,

图片

其中 θ是网络学习的参数。我们在包含问题实例及其对应的(近)最优解的数据集 

图片

上训练网络。此类数据集可以离线生成,例如通过运行一个较慢但全局最优的求解器,或允许相同的局部优化器在更长的时间限制下从不同的初始解多次运行以生成。

4.2 使用多重初始解的优化

我们提出了两种利用多个初始解的不同设置:单优化器和多优化器。生成的框架如图1所示。

单优化器。在单优化器设置中,我们使用最有潜力的初始解运行一个优化器实例,计算公式为 

图片

。我们引入一个选择函数,该函数在给定一组候选解和问题实例 ψ的情况下,返回最有潜力的候选解 

图片

。在实验中,我们使用的是选择能够最小化目标函数的候选解,即 

图片

。其他可能的选择包括基于风险评估、性能稳定性、稳健性、探索性,或与总体任务目标一致的领域特定指标。

多优化器。在多优化器设置中,我们假设可以并行执行多个优化器实例。然后用不同的初始解初始化每个优化器,计算公式为 

图片

,其中

图片

。从优化器的输出中选择一个单一解,我们可以使用与前述相同的选择函数 ,例如选择能够最小化目标函数的解。

我们的框架可以很容易地推广到允许使用不同数量的优化器和初始解预测,以及使用一组异构的优化方法。此外,为了保持性能保证,可以将默认解(例如热启动)作为考虑的初始解之一,这确保了即使预测结果较差,最终解的质量也不会下降。

4.3 训练策略

最终目标是预测多个初始解,以便下游优化器能够找到接近全局最优的解,即 

图片

。通常,直接为此目标训练神经网络并不可行。因此,我们提出了结合两个项的代理训练目标:一个回归项,鼓励输出接近全局最优,例如 

图片

,其中 是距离度量;另一个是多样性项,鼓励输出彼此不同,从而覆盖解空间的不同区域。在第4.4节中有一个示例说明。以下我们介绍三种简单的训练策略,以促进多样性并防止模式崩溃。我们在第7节讨论概率建模和强化学习等替代方案。

成对距离损失。一种鼓励模型输出彼此不同的简单方法是惩罚所有输出之间的成对距离。整体损失将此分散性提升项与回归损失相结合:

图片

其中  是平衡准确性与分散性权衡的超参数。

赢家通吃损失。一种更有趣的促进多模态的方法是在训练时选择最佳预测输出,并仅对该特定预测的回归损失进行最小化:

图片

直观上,模型只需要其一个输出接近真实值,而其他预测偏离则不受惩罚,可能会对齐到基础分布的不同区域。类似的损失已在多选学习中使用。这种方法的一个优势是它不需要超参数。

混合损失。最后,我们考虑结合前两种方法,以可能提高性能,因为它提供了一些可调节的分散度:

图片

其中 是一个有上限的函数,例如 min或 tanh⁡,旨在限制成对距离项的贡献。

除了上述损失,MISO 还可以与其他训练范式(例如强化学习或概率建模)结合。我们在第7节讨论了这些选项,但将调查留待未来的工作中。

4.4 示例说明

图片

上图展示了一维成本函数 c(x),具有在 A 和 C 处的全局最小值及在 B 处的局部最小值。下图则展示了不同方法预测的初始解,显示了为何明确促进多模态性十分重要。为了说明单一多模态输出模型的优势,我们考察了一个简单的一维优化问题,目标是最小化图2顶部所示的成本函数 c(x)。该函数在 A 和 C 处有两个全局最小值,并在二者之间的 B 处存在一个局部最小值。

将我们的学习框架应用于此简单问题时,最优解的数据集包括了 A 和 C 的实例。单输出回归模型无法区分这两种模式,不可避免地会预测数据集实例的平均值,大致位于 B 附近。因此,局部优化器很可能会收敛到次优的局部最小值 B。构建此类模型的集成方法来生成多个初始解也无法缓解这一问题,因为每个集成成员往往偏向于位于 B 附近的两种模式的均值。我们在图2底部展示了不同训练策略的预测结果。确实,单输出预测器集成未能预测出全局最优,而我们的多输出预测器通过赢家通吃和混合损失方法成功实现了这一目标。

虽然该问题本身故意简化,但局部最小值的存在是大多数优化问题中的主要挑战。

4.5 最优控制中的应用

MISO 适用于广泛的序列优化问题;不过,为了评估,我们专注于最优控制问题。最优控制在机器人、自动驾驶以及许多具有严格运行时要求的领域中有广泛应用。由于约束和非凸成本带来的复杂性,本地优化算法对初始解高度敏感。

在最优控制中,优化变量 x 表示一个由离散时间步的状态和控制输入序列定义的轨迹

图片

图片

分别表示时间步

图片

 的状态和控制输入,

图片

是优化的时域。约束条件包括满足系统动力学 

图片

起始于初始状态 

图片

,其中 表示系统的当前状态。问题实例的参数 ψ包括初始状态和其他参数,如目标状态、参考轨迹、障碍物位置、摩擦系数、温度等。

最优控制问题的一个特性在于,优化变量状态和控制之间的关系由动力学约束定义,并且初始状态是已知的。因此,控制序列唯一地定义了(初始)解。我们可以利用这一特性,只预测控制序列而非状态-控制序列的完整优化变量。此外,可以在控制、状态或状态-控制序列上定义训练损失,并在动力学约束可微的情况下通过它进行梯度回传。在我们的实验中,我们默认使用状态-控制损失,因为我们发现这对我们和基线学习方法都有所改进。

5.Experiment

我们在不同初始解下的优化主要结果分别在表1和表2中报告,适用于单优化器和多优化器设置。图4展示了预测初始解数量的效果。图5提供了定性结果。

图片

图片

单优化器:在单优化器设置中(见表1),我们首先观察到,甚至一个学习初始化在几乎所有设置中(尤其在最具挑战性的自动驾驶任务中)都优于启发式解(即回归与热启动)。接下来我们考察了生成多个初始解的影响。基于扰动的方法在多数情况下比单一初始化方法有一定改进,而独立训练的模型集成始终优于单模型。最终,我们提出的多输出方法在所有基线上表现出显著的提升,因为这些方法能够学习预测多样的多模态初始解。具体来说,MISO赢家通吃或MISO混合在所有任务中都实现了最低的平均成本。仅考虑成对距离项不足以确保充分的多样性,而与MISO赢家通吃结合通常能提高性能,但其效果不一,这突显了选择最优超参数的难度。正如预期,在更重要的序列优化设置中改进更为显著,因为误差会随着时间累积。

多优化器:在多优化器设置中,观察到相同的趋势。基于学习的方法优于启发式方法,多输出方法进一步提升了效果。正如预期的那样,由于增加了对解空间的探索,使用多个优化器相比于单优化器设置带来了持续更好的结果。

随着初始解数量的扩展:图4显示了我们的方法在预测初始解数量 KKK 上的有效扩展能力,并在不同的 KKK 值下始终优于其他方法。重要的是,随着 KKK 的增加,集成方法的推理时间增加,而MISO几乎保持不变(见附录A.6)。我们进一步在附录A.8中评估了模式多样性,结果表明符合我们的结论,即使 KKK 增加,所有MISO输出依然有效。

图片

定性结果:图5(左)展示了在自动驾驶任务中,使用不同初始解得到的优化器输出轨迹。在这一场景中,高级规划器突然改变了参考路径,这可能由于新检测到的行人而发生。参考路径的改变使得之前的解(热启动)成为一个较差的初始化,优化器收敛到控制努力最小但偏离目标路径的局部最小值。回归模型和模型集成也未能预测出好的初始解。相比之下,MISO赢家通吃适应了这一突如其来的参考变化,紧跟参考路径。图5(右)展示了MISO在倒立摆任务中的初始解。不同的输出捕获了解空间中的不同模式(直立移动、左摆移动、右摆移动),显示了MISO生成多样和多模态解的能力。

图片

总体而言,我们的方法在两种设置中都显著优于其他基线。MISO混合和MISO赢家通吃方法在不同任务和配置中的持续优越性突显了使用基于学习的多输出策略生成初始解的优势。这些发现表明,在多个初始解中促进多样性对于优化结果的改善至关重要,尤其在与多个优化器结合时更为显著。

结论

本文的主要贡献如下:

1.提出了一种用于预测多个初始解的全新框架。
2.引入了两种使用预测初始解的策略:(i) 单优化器方法,通过选择函数选择最优解;(ii) 多优化器方法,通过初始化多个优化器后选择最佳解。
3.设计并实现了具体的训练目标,以防止模式崩塌,并确保预测解保持多模态性。
4.将该框架应用于三个连续优化任务,并进行了广泛的评估。

文章引用:LEARNING MULTIPLE INITIAL SOLUTIONS TO OPTI-MIZATION PROBLEMS

最后别忘了,帮忙点“在看”。  

您的点赞,在看,是我创作的动力。

AiFighing是全网第一且唯一以代码、项目的形式讲解自动驾驶感知方向的关键技术。

长按扫描下面二维码,加入知识星球。

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

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

相关文章

05 SQL炼金术:深入探索与实战优化

文章目录 SQL炼金术:深入探索与实战优化一、SQL解析与执行计划1.1 获取执行计划1.2 解读执行计划 二、统计信息与执行上下文2.1 收集统计信息2.2 执行上下文 三、SQL优化工具与实战3.1 SQL Profile3.2 Hint3.3 Plan Baselines3.4 实战优化示例 SQL炼金术&#xff1a…

JS封装随机生成一个颜色值工具函数

本文给大家带来的是封装的一个随机生成一个颜色值的工具函数。案例中提供了4个不同的调用函数,但实现的功能本质上都是一样的,开箱即用,随调随用。 //方法一 function getRandomColor() { //随机颜色return #${Math.floor(Math.random() * …

CESS 正式加入政府区块链协会 (GBA) ,出席 Blockchain Infrastructure 大会

北京时间 11 月 6 日,特朗普赢得 2024 年美国总统大选。与此同时,我们很高兴地宣布,CESS 已正式加入政府区块链协会 (GBA)。GBA 是一个全球性协会,致力于将区块链专业人士汇聚在一起,共同推动区块链技术在政府、金融和…

ARXML汽车可扩展标记性语言规范讲解

ARXML: Automotive Extensible Markup Language (汽车可扩展标记语言) xmlns: Xml name space (xml 命名空间) xsd: Xml Schema Definition (xml 架构定义) 1、XML与HTML的区别,可扩展。 可扩展,主要是…

数据结构_哈夫曼树及其应用

构造算法的例子 构造算法的实现 初始化&#xff0c;置权值 int i, m, s1, s2;m 2 * n - 1;for (i 1; i < m; i){HT[i].lch 0;HT[i].rch 0;HT[i].parent 0;}for (i 1; i < n; i){cin >> HT[i].weight;}合并结点 // 创建哈夫曼树for (i n 1; i < m; i){s1…

基于AI深度学习的中医针灸实训室腹针穴位智能辅助定位系统开发

在中医针灸的传统治疗中&#xff0c;穴位取穴的精确度对于治疗效果至关重要。然而&#xff0c;传统的定位方法&#xff0c;如体表标志法、骨度折量法和指寸法&#xff0c;由于观察角度、个体差异&#xff08;如人体姿态和皮肤纹理&#xff09;以及环境因素的干扰&#xff0c;往…

esp32学习:利用虫洞ESP32开发板,快速实现无线图传

我们的虫洞开发板&#xff0c;能够完美运行esp who AI代码&#xff0c;所以实现无线图传那是非常容易的&#xff0c;我们先看看examples目录&#xff1a; 里面有比较多的web例程&#xff0c;在这些例程下&#xff0c;稍作修改&#xff0c;就可以快速实现我的图传无线功能&#…

力扣排序455题(分发饼干)

假设你是一位很棒的家长&#xff0c;想要给你的孩子们一些小饼干。 但是&#xff0c;每个孩子最多只能给一块饼干。 对每个孩子 i&#xff0c;都有一个胃口值 g[i],这是能 让孩子们满足胃口的饼干的最小尺寸;并且每块饼 干j&#xff0c;都有一个尺寸 s[j]。如果 s[j]> g[i]&…

【论文复现】基于深度学习的手势识别算法

本文所涉及所有资源均在这里可获取。 &#x1f4d5;作者简介&#xff1a;热爱跑步的恒川&#xff0c;致力于C/C、Java、Python等多编程语言&#xff0c;热爱跑步&#xff0c;喜爱音乐、摄影的一位博主。 &#x1f4d7;本文收录于论文复现系列&#xff0c;大家有兴趣的可以看一看…

ChatGPT键盘快捷键(按ctrl + /呼出)

文章目录 ChatGPT键盘快捷键- 打开新聊天: Ctrl Shift O- 聚焦聊天输入: Shift Esc- 复制最后一个代码块: Ctrl Shift ;- 复制最后一个回复: Ctrl Shift C- 设置自定义指令: Ctrl Shift I- 切换边栏: Ctrl Shift S- 删除聊天: Ctrl Shift ⌫- 显示快捷方式: Ctrl …

超详细:Vue入门

Vue(发音为 /vjuː/&#xff0c;类似 view)是近些年比较流行的前端框架之一&#xff0c;和 React、Angular 并称为前端三大框架。其中 Vue 简单易学的特点成为国内主流&#xff0c;很多公司已经把它列为一 个前端开发人员必须要掌握的技术点了。 Vue 简介 Vue2.x官网 Vue3.x …

鸿蒙next打包流程

目录 下载团结引擎 添加开源鸿蒙打包支持 打包报错 路径问题 安装DevEcoStudio 可以在DevEcoStudio进行打包hap和app 包结构 没法直接用previewer运行 真机运行和测试需要配置签名,DevEcoStudio可以自动配置, 模拟器安装hap提示报错 安装成功,但无法打开 团结1.3版本新增工具…

你是我的映射,我是你的值:C++ map 中的心灵共鸣

文章目录 map的概念一、map的使用1. 插入删除相关1&#xff09;插入(1) 插入语法(1) 插入语法 2&#xff09;删除 二. map的遍历三、map重载operator[]四、小试&#x1f402;&#x1f52a;1. 前K个高频单词2. 单词识别 总结 map的概念 map是key_value的模型&#xff1a; 一棵树…

RabbitMQ客户端应用开发实战

这一章节我们将快速完成RabbitMQ客户端基础功能的开发实战。 一、回顾RabbitMQ基础概念 这个RabbitMQ的核心组件&#xff0c;是进行应用开发的基础。 二、RabbitMQ基础编程模型 RabbitMQ提供了很多种主流编程语言的客户端支持。这里我们只分析Java语言的客户端。 上一章节提…

RNA-seq 差异分析的点点滴滴(1)

引言 本系列[1])将开展全新的转录组分析专栏&#xff0c;主要针对使用DESeq2时可能出现的问题和方法进行展开。 为何使用未经标准化的计数数据&#xff1f; DESeq2 工具包在接收输入时&#xff0c;期望得到的是未经处理的原始计数数据&#xff0c;比如从 RNA-seq 或其他高通量测…

RTC精度及校准

RTC精度偏差&#xff1a; RTC的基准时间和精度与石英晶体的频率相关&#xff0c;晶体的谐振频率取决于温度&#xff0c;因此RTC性能与温度相关&#xff0c;晶体的频率偏差是晶体正常频率的温度反转函数。 一、硬件方面&#xff1a; 1.使用高精度振荡器的RTC模块&#xff1b; …

智慧城市路面垃圾识别系统产品介绍方案

方案介绍 智慧城市中的路面垃圾识别算法通常基于深度学习框架&#xff0c;这些算法因其在速度和精度上的优势而被广泛采用。这些模型能够通过训练识别多种类型的垃圾&#xff0c;包括塑料袋、纸屑、玻璃瓶等。系统通过训练深度学习模型&#xff0c;使其能够识别并定位多种类型…

【安当产品应用案例100集】029-使用安全芯片保护设备核心业务逻辑

我国工业企业普遍缺乏数据安全意识&#xff0c;对数据安全保护缺乏基本认识。这导致企业在数据安全方面的投入不足&#xff0c;保护能力基本不具备&#xff0c;难以有效应对数据安全风险。不过随着安全事件越来越多&#xff0c;很多工业企业的安全意识也越来越高&#xff0c;在…

遥控器工作核心技术以及传输信号算法详解!

一、遥控器传输信号算法 无线通信技术&#xff1a;无人机遥控器信号传输算法主要基于无线通信技术&#xff0c;通过特定的调制、编码和信号处理技术&#xff0c;将遥控器的操作指令转化为无线电信号&#xff0c;并传输给被控制设备。被控制设备接收到信号后&#xff0c;再将其…

性能测试|docker容器下搭建JMeter+Grafana+Influxdb监控可视化平台

前言 在当前激烈的市场竞争中&#xff0c;创新和效率成为企业发展的核心要素之一。在这种背景下&#xff0c;如何保证产品和服务的稳定性、可靠性以及高效性就显得尤为重要。 而在软件开发过程中&#xff0c;性能测试是一项不可或缺的环节&#xff0c;它可以有效的评估一个系…