想象一下,你正试图教一个机器人如何驾驶汽车、飞行火箭或摆动单摆,但你手头没有一本物理教科书,也没有解释机器如何运作的手册。你拥有的只有一段关于该机器过去运动状态的庞大视频库。这就是这篇论文所解决的挑战:如何仅利用过去的影像来控制一个复杂的、扭曲的、非线性的机器,而无需了解其底层的数学原理。
作者提出了一种名为 Select-DPC(选择性数据驱动预测控制)的新方法。以下是该方法的原理拆解,通过简单的概念和类比进行说明。
问题所在:“信息过载”陷阱
标准方法(称为“DeePC”)试图利用来自资料库中的每一段视频片段来预测未来。
- 类比: 想象你正在尝试预测明天的天气。标准方法会查看过去100年里的每一份天气报告,无论那是七月的晴天还是一月的暴风雪。
- 问题: 由于机器是“非线性”的(其行为会随着所处位置的不同而发生剧烈变化),将“晴天”的视频与“暴风雪”的视频混合在一起会产生混乱且不准确的预测。这就像试图通过平均夏季的海滩日和冬季的雪暴来猜测温度一样;结果是毫无用处的。
解决方案:“Select-DPC”(明智的选择)
新方法 Select-DPC 就像一位知道该从书架上抽取哪本书的聪明图书管理员。
- 当前状况: 在机器人需要做出决策的每一个时刻(例如,“我应该向左转还是向右转?”),系统都会观察机器人当前所处的状态。
- 选择: 系统不再使用整个资料库,而是会询问:“哪些过去的视频看起来与我们现在的状态最相似?”
- 如果机器人目前正像石头一样坠落,系统会忽略那些平稳飞行的视频,只抓取那些它坠落时的视频。
- 如果机器人移动得很慢,它就会忽略那些快速移动的视频。
- “线性”技巧: 通过仅挑选出最相似的过去视频,系统可以欺骗自己,让它觉得世界在这一瞬间是简单且笔直的(线性的)。这使得它可以使用快速、简便的数学方法(凸优化)来决定下一步动作。
- 循环: 它做出一个动作,观察结果,然后重复这个过程。它不断地针对新的情况重新选择最佳的“过去记忆”。
寻找“正确”视频的两种方式
论文测试了图书管理员寻找正确片段的两种方法:
- 方法 A:“尺子”(基于范数): 这种方法测量当前状况与过去视频之间的直线距离。它快速且简单,就像测量地图上两点之间的距离一样。然而,在非常复杂、高维的空间中(例如一个拥有许多运动部件的机器人),这种“尺子”会变得混乱(即“维度诅咒”)。
- 方法 B:“变形器”(流形嵌入): 这种方法更聪明。它意识到虽然数据看起来庞大且复杂,但机器人的运动实际上遵循着特定的、低维度的“形状”或路径(就像一张被揉皱的纸,本质上仍是一张平整的纸)。它先将数据简化为这种更简单的形状,然后再测量距离。这种方法的设置计算成本更高,但在复杂环境中通常能更好地找到“真正的”邻居。
结果:他们测试了什么?
作者在三个机器行为难以预测的困难场景中测试了这个“聪明图书管理员”:
- 火箭着陆: 一枚尝试垂直着陆的火箭。
- 结果: 标准方法(使用全部数据)会导致坠毁或偏离航线。Select-DPC 通过仅使用看起来像着陆尝试的过去数据,成功实现了火箭着陆。
- 机械臂: 一个试图到达特定点的机器人手臂。
- 结果: 标准方法无法到达目标。Select-DPC 成功完成了任务。至关重要的是,他们展示了可以在不需要新训练数据的情况下,告诉 Select-DPC“不要进入红区”(一个约束条件)。它只需将规则应用于所选的数据即可。
- 单摆(Cart-Pole): 一个在移动小车上保持平衡的杆。目标是将杆从悬挂状态摆动到直立状态(这是一个非常难的技巧)。
- 结果: 标准方法只是让杆不停晃动。Select-DPC 弄清楚了如何通过摆动使其直立并保持平衡,尽管资料库中没有任何一段视频展示了完美的摆动过程。它通过组合不同视频的片段,创造出了解决方案。
为什么这很重要
- 它更快: 通过使用更少、更好的数据点,计算机解决数学问题的速度比尝试使用整个资料库时要快得多。
- 它更安全: 与仅仅基于随机采样进行猜测的方法相比,它能更好地处理严格的规则(如“不要碰撞”)。
- 它更灵活: 你可以更改目标(例如,“降落在‘这里’”对比“降落在‘那里’”)或添加新规则,而无需重新收集数据。系统只需选择与新目标相关的过去记忆即可。
缺陷(局限性)
论文承认这种方法目前还不是“魔法”。
- 它不够即时: 进行数学计算仍需要零点几秒(200–400毫秒)。对于需要微秒级反应的事物(如风暴中的高速无人机)来说,这太慢了。
- 它需要内存: 存储所有过去的视频需要大量的计算机内存。
- 它需要调优: 你必须仔细调整“旋钮”(超参数)才能使其发挥作用,这需要一定的专业知识。
总结: Select-DPC 是一种通过成为过去数据的“聪明编辑”来控制复杂机器的方法。它不再观看整部电影,而是只观看当前重要的场景,从而使其即使在机器行为怪异、不可预测的情况下,也能做出快速、安全且准确的决策。
技术摘要:明智选择:基于在线数据选择的非线性系统数据驱动预测控制
问题陈述
控制领域致力于管理那些拥有可用数据但缺乏显式系统模型的非线性系统。虽然数据驱动预测控制(DPC)方法(如 Data-enabled Predictive Control, DeePC)通过绕过系统辨识,为传统的模型预测控制(MPC)提供了一种“无模型”的选择,但标准的 DeePC 依赖于线性时不变(LTI)假设。这一假设在通用的非线性系统中被严重违背,从而导致性能的任意损失。现有的非线性扩展 DeePC 面临显著的权衡:
- 特定非线性类别: 为特定非线性结构定制的公式需要极强的先验知识,而这些先验可能并不存在于任意系统中。
- 时间窗口法: 使用近期数据滑动窗口的方法仅适用于具有良性非线性和高信噪比的系统。
- 核函数化/提升法(Kernelized/Lifted Approaches): 使用非线性核或 Koopman 算子重新构建预测器,往往会导致高维、非凸的优化问题,增加了在线计算复杂度并导致次优结果。
- 基于采样的 MPC: 虽然计算成本低且仅需零阶信息,但这类方法缺乏将显式输出约束纳入其中的结构化方式。
核心挑战在于开发一种直接的、针对非线性系统的、数据驱动的预测控制方法,该方法既能保持优化问题的凸性(确保可解性并实现显式约束处理),又能准确捕捉非线性动力学,且无需显式模型。
方法论:Select-DPC
本文提出了 Select-DPC(选择性数据驱动预测控制),该方法通过在每个决策时刻仅选择最相关的数据,在“轨迹空间”中隐式地对系统动力学进行线性化。
核心概念
Select-DPC 以递推时域(receding-horizon)方式运行。它不是在每个控制步都利用一个庞大的预收集数据集 D(这在计算上是不可行的,且假设了全局线性),而是迭代地求解一个凸二次规划(QP)问题。在求解器的每次迭代中,算法会选择一个与当前工作点“相关”的轨迹子集 D~⊂D。
轨迹空间: 定义为一个高维空间,其中每一维对应于离散时间、有限长度轨迹中的一个输入或输出。通过选择在空间上与当前开环解估计值“接近”的轨迹,实现了线性化。
算法工作流
- 初始化: 对开环轨迹进行热启动(例如,通过复制初始测量值)。
- 迭代优化:
- 数据选择: 根据与当前预测值 τ~ 的接近程度,从全量数据集 D 中选择一个规模为 Ncols 的子集 D~。
- QP 求解: 仅使用 D~ 求解标准的 DeePC 优化问题,以生成新的控制动作。
- 收敛: 该过程重复进行,直到满足收敛准则(容差或最大迭代次数)。
- 执行: 应用第一个控制输入,并移动时域。
数据选择策略
论文提出了两种方法并对比了它们在选择相关子集 D~ 时的表现:
基于范数的选择(Norm-Based Selection): 计算当前开环轨迹与 D 中所有轨迹之间的空间距离(例如 L1 或 L2 范数)。选取最接近的 Ncols 条轨迹。
- 优点: 直观,实现高效,便于在线更新。
- 缺点: 在高维轨迹空间中易受“维度灾难”的影响。
基于流形嵌入的选择(Manifold-Embedding-Based Selection): 利用流形学习(具体为 Isomap)将高维轨迹数据投影到能够保持测地距离的低维嵌入空间中。
- 优点: 缓解了维度灾难;嵌入空间中的距离能更好地反映数据的内在非线性结构。
- 缺点: 计算嵌入的离线计算成本较高(尽管是一次性成本);在线阶段需要对查询轨迹进行嵌入处理。
关键属性
- 成本无关性(Cost-Agnostic): 数据集的生成在结构上独立于控制设计。代价函数和约束可以在事后进行修改,从而实现向新任务的零样本应用,而无需重新采集数据。
- 凸性: 通过将预测器限制在局部线性的数据子集内,所得的优化问题仍保持为凸 QP,这与通常变得非凸的核函数化或提升法不同。
- 隐式线性化: 与基于模型的 MPC 中的序列二次规划(SQP)类似,Select-DPC 在轨迹空间中通过数据而非显式模型的雅可比矩阵进行迭代线性化。
主要贡献
- 引入 Select-DPC: 一种针对非线性系统的直接数据驱动预测控制器,通过在线数据选择在轨迹空间实现隐式线性化,并保持凸优化特性。
- 数据选择方法: 提出了两种不同的选择机制——基于范数的方法和基于流形嵌入(Isomap)的方法——用于处理高维非线性数据。
- 实证验证: 通过三个基准非线性系统证明了 Select-DPC 优于标准 DeePC 和时间窗口 DeePC:
- 平面火箭着陆(开环不稳定)。
- 平面机器人机械臂(Reacher)。
- Cart-pole 倒立摆摆起(Swing-up)。
结果与评估
实验在三个模拟器(火箭、机械臂、Cart-Pole)上进行,将 Select-DPC 与使用全量数据集的标准 DeePC 以及时间窗口 DeePC 进行了对比。
1. 可重复使用火箭着陆
- 性能: 标准 DeePC 和时间窗口 DeePC 无法使系统稳定或发生发散。Select-DPC 成功使火箭在目标设定点稳定。
- 数据集: 在“IID 数据”(主要表现为线性行为)和“随机游走数据”(高度非线性激励)上进行了测试。
- 在 IID 数据上,Select-DPC 比标准 DeePC 降低了 1.9 倍的闭环代价。
- 在随机游走数据上,标准 DeePC 无法稳定系统,而 Select-DPC 成功实现了稳定。
- 预测精度: 与使用全量数据集或随机抽样相比,两种选择方法(范数法和 Isomap)在留出验证集上均产生了更低的累积残差。
- 计算量: 通过求解较小的 QP,Select-DPC 的计算成本比标准 DeePC 降低了一个数量级,其求解时间随 Ncols 呈二次方比例缩放。
2. 平面机器人机械臂 (Reacher)
- 性能: Select-DPC 成功实现了末端执行器参考轨迹的跟踪,而标准 DeePC 和时间窗口 DeePC 则未能收敛。
- 约束: 该方法展示了零样本泛化能力,即在无需更改控制器结构或重新采集数据的情况下,能够处理先验未知的输出约束(例如避开特定区域)。
- 消融实验: 随机抽样在这一环境下完全失败,而选择特定的子集规模(Ncols)则揭示了一个性能“甜点区”,平衡了预测精度与计算负载。
3. Cart-Pole 倒立摆摆起 (Swing-Up)
- 任务: 从稳定的向下平衡位置过渡到不稳定的向上平衡位置。
- 性能: 标准 DeePC 在稳定平衡点附近震荡并无法完成摆起。Select-DPC 成功从数据集中的次优演示中学习,完成了摆起并使摆杆稳定。
- 机制: 控制器并非简单地复制单条轨迹,而是在每次求解迭代中通过线性组合多条轨迹段来构建摆起动作。
意义与主张
论文声称 Select-DPC 弥合了凸数据驱动控制的可行性与非线性系统性能需求之间的鸿沟。其重要性在于:
- 显式约束处理: 不同于难以处理结构化输出约束的基于采样的 MPC 或强化学习(RL)方法,Select-DDC 保留了通过凸优化实施硬约束的能力。
- 可扩展性: 通过对相关数据进行子采样,它能很好地扩展到大规模数据集,避免了使用全量数据集带来的超线性求解时间。
- 非线性能力: 它在不需要显式模型、复杂的核函数化或非凸优化的情况下,将 DPC 扩展到了非线性领域。
- 零样本适应性: 数据采集与控制设计之间的解耦使得同一数据集可以被重新用于不同的任务(例如,受限 vs 无约束跟踪),而无需重新训练。
局限性
作者承认存在以下局限性:
- 计算成本: 当前实现每步需要 200–400 ms,限制了其在高度动态应用中的使用。
- 内存占用: 较大的预测时域和数据集可能会违反内存限制。
- 超参数调优: 获得理想性能需要调整超参数(如 Ncols、时域长度),论文指出,针对其在多样化任务中能力的规模化实证研究属于未来的工作。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。