当前位置: 首页 > web >正文

【读论文】Closed-loop Diffusion Control of Complex Physical Systems 闭环扩散控制系统

  • 摘要
  • 1 引言
  • 2 相关工作
  • 3 背景
    • 3.1 问题设定
    • 3.2 预备知识:扩散控制模型
  • 4 方法
    • 4.1 异步去噪框架
    • 4.2 从初始化分布中采样
    • 4.3 从过渡分布中采样
    • 4.4 闭环控制
  • 5 实验
    • 5.1 基准线
    • 5.2 1D 伯格斯方程控制
  • 6 结论
  • D 1D Burgers 方程控制的详细信息
    • D.1 数据集
    • D.2 实验设置
    • D.3 实现
  • E 1D 可视化结果

摘要

复杂物理系统的控制问题在科学和工程中具有广泛的应用。先前的研究表明,基于扩散模型的生成式控制方法在解决这些问题方面具有显著优势。然而,当将现有的生成式控制方法扩展到闭环控制场景时(这对实现有效控制至关重要),其性能和效率均面临挑战。在本文中,我们提出了一种高效的物理系统闭环扩散控制方法(CL-DiffPhyCon)。通过为不同物理时间步引入异步去噪框架,CL-DiffPhyCon 在采样过程中显著降低了计算成本,同时根据环境的实时反馈生成控制信号。此外,通过引入快速采样技术(如 DDIM),控制过程可以进一步加速。我们在两个任务上对 CL-DiffPhyCon进行了评估:一维 Burgers 方程控制和二维不可压缩流体控制。结果表明,CL-DiffPhyCon 在控制性能和采样效率方面均表现优越。

1 引言

复杂物理系统的控制问题是一个关键研究领域,涉及通过优化一系列控制动作来实现特定目标。其在科学和工程领域具有广泛的应用,例如流体控制(Verma等,2018)、等离子体控制(Degrave等,2022)和粒子动力学控制(Reyes Garza等,2023)。控制此类系统的难点在于其高维、高非线性以及随机特性。因此,为了实现良好的控制性能,闭环控制是必不可少的。具体来说,每次控制决策都应基于环境的最新状态反馈,以便能够根据任何变化持续调整控制输入。对于存在额外挑战(如部分观测或间接控制)的控制任务,这种要求尤为重要。

过去几十年中,为解决该问题开发了多种方法,包括经典控制方法、近年的强化学习方法以及最新的生成式方法。其中,扩散模型(如 DiffPhyCon,Wei 等,2024)在复杂物理系统控制中表现出竞争力,通常优于经典控制和强化学习方法。扩散模型在一般决策问题上的优越性也已被广泛证明(Ajay等,2022;Janner等,2022a)。然而,由于依赖同步去噪策略,这些扩散控制方法在处理闭环控制问题时面临显著挑战。扩散模型从纯噪声开始,为模型时域内的所有物理时间步生成去噪样本。在每个物理时间步执行完整的采样过程可以实现闭环控制,但采样成本较高。此外,这可能破坏控制信号的一致性,从而影响整体性能(Kaelbling & Lozano-Perez,2011)。另一方面,每隔几个物理时间步进行完整采样可以提高采样效率,但不再符合闭环要求,因而由于系统状态的滞后导致较差的控制决策。尽管最近提出了一种在线重新规划策略(Zhou 等,2024),用于自适应地确定重新规划的时机,但它并未建立完全的闭环框架。此外,这种方法涉及额外的似然估计或从头采样计算,并依赖于任务特定的超参数阈值,需要通过实验或大量调整确定。

在本文中,我们提出了一种新颖的 物理系统闭环扩散控制方法,命名为 CL-DiffPhyCon。其 关键思想是 将模型时域内的同步去噪解耦允许不同物理时间步呈现不同的噪声水平。通过这种方式,自然实现了在线闭环控制序列生成:异步扩散模型按物理时间步递增的噪声水平逐步输出控制信号,使得在不等待时域内所有后续控制信号完全去噪的情况下,可以实现环境与采样控制信号的实时交互。然后,环境反馈作为后续控制信号采样的初始条件,确保生成基于可靠状态的控制信号。我们的方法也可以看作是一种 无缝的重新规划方法,以最小的采样成本利用环境的新鲜观测。因此,与现有基于扩散的控制方法相比(Wei 等,2024;Zhou 等,2024),我们的方法不仅实现了闭环控制,还显著加速了采样过程。本文方法的优势在图 1 中进行了说明。

在这里插入图片描述
图 1:CL-DiffPhyCon 相较以往扩散控制方法的优势。图中展示了我们的 CL-DiffPhyCon 方法(右侧)相较于以往扩散控制方法(左侧和中间)的优势。通过采用异步去噪框架,我们的方法不仅能够实现闭环控制,还能显著加速采样过程。图中的符号 DiffPhyCon-h 表示每 h h h 个物理时间步执行一次包含 T T T 个去噪步骤的完整采样过程。

总结而言,我们的贡献包括:(1)开发了一种新颖的复杂物理系统闭环扩散控制方法 CL-DiffPhyCon。通过对目标分布的理论分析,提出了一种闭环框架内加速扩散控制的方法。此外,通过引入快速采样技术(如 DDIM,Song 等,2020),进一步加速了控制过程。(2)我们在一维 Burgers 方程控制和二维不可压缩流体控制任务中对 CL-DiffPhyCon 进行了评估。结果表明,CL-DiffPhyCon 在控制性能和采样加速方面表现出显著优势。

2 相关工作

经典控制方法(如 PID,Li 等,2006)以其高效性、稳定性能和良好的可解释性著称,但在应用于高维复杂物理系统的控制时,在性能和效率方面面临显著挑战。近年来,模仿学习和强化学习(Pomerleau,1988;Zhuang 等,2023)在包括减阻(Rabault 等,2019;Elhawary,2020;Feng 等,2023;Wang 等,2024)、传热(Beintema 等,2020;Hachem 等,2021)以及鱼类游动(Novati 等,2017;Verma 等,2018;Feng 等,2024)等广泛的物理系统中表现出色。另一类监督学习(SL)方法(Holl 等,2020;Hwang 等,2022)通过利用神经代理模型的反向传播规划控制信号。相比之下,我们的方法并不依赖代理模型,而是同时学习物理系统的动力学和相应的控制序列。此外,物理信息神经网络(PINNs)(Willard 等,2020)最近也被用于控制(Mowlavi & Nabi,2023),但它们需要显式的偏微分方程(PDEs)。相比之下,我们的方法是数据驱动的,只要环境可访问,就能够解决范围更广的复杂物理系统控制问题。

扩散模型(Ho 等,2020)在学习高维分布方面表现优异,并在图像和视频生成领域取得了显著成功(Dhariwal & Nichol,2021;Ho 等,2022)。它们还展示了在解决科学和工程挑战中的卓越能力,例如天气预测(Price 等,2023)、机器人控制(Janner 等,2022b;Ajay 等,2022),以及偏微分方程(PDEs)中的反问题,例如设计初始或边界条件(Wu 等,2024)或规划外部时间控制信号(Wei 等,2024)。然而,由于所有物理时间步都在同一计划下去噪,它们不适合直接应用于高效的闭环控制。一些先前的工作聚焦于改进扩散生成在决策任务中的适应性(Zhou 等,2024),但这些方法并非闭环,且在重新规划的决策中需要额外的超参数和计算。相比之下,我们的方法是一种闭环方法,具有高效的采样策略。

一些最近的研究也为模型时域内的不同帧分配了不同的噪声水平(Wu 等,2023;Ruhe 等,2024)。我们的工作与这些方法的关键区别有两点:(1)我们的方法专注于复杂物理系统的闭环控制任务,而他们的方法则面向不涉及与外部环境交互的顺序内容生成。(2)我们需要学习的扩散模型来源于目标分布(请参见第 4.1 节了解详细信息),而他们的方法是启发式的。

3 背景

3.1 问题设定

我们考虑以下在线复杂物理系统控制问题:

min ⁡ w 1 : N J ( u 0 , w 1 , u 1 , … , w N , u N ) s.t. u τ + 1 = G ( u τ , w τ + 1 ) . (1) \min_{\mathbf w_{1:N}} \mathcal J(\mathbf u_0,\mathbf w_1,\mathbf u_1, \ldots,\mathbf w_N,\mathbf u_N) \quad \text{s.t.} \quad \mathbf u_{\tau+1} = G(\mathbf u_\tau, \mathbf w_{\tau+1}). \tag{1} w1:NminJ(u0,w1,u1,,wN,uN)s.t.uτ+1=G(uτ,wτ+1).(1)

这里, u τ ∈ R d u \mathbf u_\tau \in \mathbb{R}^{d_u} uτRdu w τ ∈ R d w \mathbf w_\tau \in \mathbb{R}^{d_w} wτRdw 分别表示物理时间步 τ \tau τ 的系统状态和外部控制信号; G G G 是由物理动力学(如偏微分方程,PDEs)决定的环境函数。 J ( u 0 , w 1 , u 1 , … , w N , u N ) J(\mathbf u_0, \mathbf w_1,\mathbf u_1, \ldots, \mathbf w_N,\mathbf u_N) J(u0,w1,u1,,wN,uN) 表示 定义在长度为 N N N 的轨迹上的控制目标。例如, J \mathcal J J 可以被设计为衡量系统状态 u N \mathbf u_N uN 向目标状态 u ∗ \mathbf u^* u 收敛的控制性能,并包含代价约束: J = ∥ u N − u ∗ ∥ 2 + ∑ τ = 1 N ∥ w τ ∥ 2 . \mathcal J = \| \mathbf u_N - \mathbf u^*\|^2 + \sum_{\tau=1}^N \|\mathbf w_\tau\|^2. J=uNu2+τ=1Nwτ2. 为简便起见,我们引入变量 z τ = [ w τ , u τ ] \mathbf z_\tau = [\mathbf w_\tau, \mathbf u_\tau] zτ=[wτ,uτ],表示 w τ \mathbf w_\tau wτ u τ \mathbf u_\tau uτ 的拼接。此外,我们假设系统的转移概率具有以下马尔科夫性质:
p ( z τ + 1 ∣ u 0 , z 1 : τ ) = p ( z τ + 1 ∣ u τ ) = p ( w τ + 1 ∣ u τ ) p ( u τ + 1 ∣ u τ , w τ + 1 ) . (2) p(\mathbf z_{\tau+1} | \mathbf u_0, \mathbf z_{1:\tau}) = p(\mathbf z_{\tau+1} | \mathbf u_\tau) = p(\mathbf w_{\tau+1} | \mathbf u_\tau)p(\mathbf u_{\tau+1} | u_\tau, \mathbf w_{\tau+1}). \tag{2} p(zτ+1u0,z1:τ)=p(zτ+1uτ)=p(wτ+1uτ)p(uτ+1uτ,wτ+1).(2)

本文关注闭环控制,即每个时间步的控制信号 w τ + 1 \mathbf w_{\tau+1} wτ+1 是基于当前系统状态 u env , τ \mathbf u_{\text{env}, \tau} uenv,τ 规划的。闭环控制的优势显而易见:环境的实时反馈使算法能够根据环境状态的变化调整控制决策。

3.2 预备知识:扩散控制模型

DiffPhyCon(Wei 等,2024)是最近提出的一种扩散生成方法,用于以开环方式解决小 N N N 情况下的问题(式 1)。本节简要回顾其简化版本的框架。假设我们有一个训练集 D train \mathcal D_{\text{train}} Dtrain,包含来自环境的 M M M 条轨迹 { u 0 ( i ) , z 1 : N ( i ) } i = 1 M \{\mathbf u_0^{(i)}, \mathbf z_{1:N}^{(i)}\}_{i=1}^M {u0(i),z1:N(i)}i=1M。我们在 D train \mathcal D_{\text{train}} Dtrain 上定义以下正向扩散随机微分方程(SDE,Song 等,2021):

d z τ ( t ) = f ( t ) z τ ( t ) d t + g ( t ) d ω τ ( t ) , τ ∈ [ 1 : N ] , t ∈ [ 0 , T ] , (3) \text d \mathbf z_\tau(t) = f(t) \mathbf z_\tau(t)dt + g(t)d\omega_\tau(t), \quad \tau \in [1:N], \, t \in [0, T], \tag{3} dzτ(t)=f(t)zτ(t)dt+g(t)dωτ(t),τ[1:N],t[0,T],(3)

其中 z τ ( 0 ) = z τ \mathbf z_\tau(0) = \mathbf z_\tau zτ(0)=zτ f ( t ) f(t) f(t) g ( t ) g(t) g(t) 是标量函数, ω τ ( t ) \omega_\tau(t) ωτ(t) 是 Wiener 过程。通过式(3),我们将 D train \mathcal D_{\text{train}} Dtrain 的分布 p train ( u 0 , z 1 : N ) = p train ( u 0 ) p train ( z 1 : N ∣ u 0 ) p_{\text{train}}(\mathbf u_0, \mathbf z_{1:N}) = p_{\text{train}}(\mathbf u_0)p_{\text{train}}(\mathbf z_{1:N} | \mathbf u_0) ptrain(u0,z1:N)=ptrain(u0)ptrain(z1:Nu0) 扩展为扩散过程的分布 p t ( u 0 , z 1 : N ( t ) ) = p train ( u 0 ) p t ( z 1 : N ( t ) ∣ u 0 ) p_t(\mathbf u_0, \mathbf z_{1:N}(t)) = p_{\text{train}}(\mathbf u_0)p_t(\mathbf z_{1:N}(t) | \mathbf u_0) pt(u0,z1:N(t))=ptrain(u0)pt(z1:N(t)u0)。终端条件为 p 0 ( z 1 : N ( 0 ) ∣ u 0 ) = p train ( z 1 : N ( 0 ) ∣ u 0 ) p_0(\mathbf z_{1:N}(0) |\mathbf u_0) = p_{\text{train}}(\mathbf z_{1:N}(0) | \mathbf u_0) p0(z1:N(0)u0)=ptrain(z1:N(0)u0) p T ( z 1 : N ( T ) ∣ u 0 ) ≈ N ( z 1 : N ( T ) ∣ 0 , σ T 2 I ) p_T(\mathbf z_{1:N}(T) |\mathbf u_0) \approx \mathcal{N}(\mathbf z_{1:N}(T) | 0, \sigma_T^2 \mathbf I) pT(z1:N(T)u0)N(z1:N(T)∣0,σT2I)

式(3)的反向时间 SDE 为:

d z 1 : N ( t ) = [ f ( t ) z 1 : N ( t ) − g ( t ) 2 ∇ log ⁡ p t ( z 1 : N ( t ) ∣ u 0 ) ] d t + g ( t ) d ω 1 : N ( t ) , t ∈ [ T , 0 ] . (4) \text d \mathbf z_{1:N}(t) = [f(t) \mathbf z_{1:N}(t) - g(t)^2 \nabla \log p_t(\mathbf z_{1:N}(t) | \mathbf u_0)]dt + g(t)d\omega_{1:N}(t), \quad t \in [T, 0]. \tag{4} dz1:N(t)=[f(t)z1:N(t)g(t)2logpt(z1:N(t)u0)]dt+g(t)dω1:N(t),t[T,0].(4)

一旦获得分数函数 ∇ log ⁡ p t ( z 1 : N ( t ) ∣ u 0 ) \nabla \log p_t(\mathbf z_{1:N}(t) | \mathbf u_0) logpt(z1:N(t)u0),便可以通过式(4)从 z 1 : N ( T ) ∼ N ( 0 , I ) \mathbf z_{1:N}(T) \sim \mathcal{N}(0, I) z1:N(T)N(0,I) 采样得到 z 1 : N ( 0 ) ∼ p train ( z 1 : N ( 0 ) ∣ u 0 ) \mathbf z_{1:N}(0) \sim p_{\text{train}}(\mathbf z_{1:N}(0) | \mathbf u_0) z1:N(0)ptrain(z1:N(0)u0)。根据 DiffPhyCon,通过解决反问题(Song 等,2021;Chung 等,2023),可实现控制目标 J ( z 1 : N ( 0 ) ) \mathcal J(\mathbf z_{1:N}(0)) J(z1:N(0))

d z 1 : N ( t ) = [ f ( t ) z 1 : N ( t ) − g ( t ) 2 ∇ z 1 : N ( t ) log ⁡ p t ( z 1 : N ( t ) ∣ u 0 ) + g ( t ) 2 λ ⋅ ∇ z 1 : N ( t ) J ( z ^ 1 : N ( 0 ) ) ] d t + g ( t ) d ω 1 : N ( t ) . (5) \text d \mathbf z_{1:N}(t) = [f(t) \mathbf z_{1:N}(t) - g(t)^2 \nabla_{\mathbf z_{1:N}(t)} \log p_t(\mathbf z_{1:N}(t) | \mathbf u_0) + g(t)^2 \lambda \cdot \nabla_{\mathbf z_{1:N}(t)} \mathcal J(\hat{\mathbf z}_{1:N}(0))]dt + g(t)d\omega_{1:N}(t). \tag{5} dz1:N(t)=[f(t)z1:N(t)g(t)2z1:N(t)logpt(z1:N(t)u0)+g(t)2λz1:N(t)J(z^1:N(0))]dt+g(t)dω1:N(t).(5)

其中, z ~ 1 : N ( 0 ) \tilde{\mathbf z}_{1:N}(0) z~1:N(0) 是 Tweedie 估计,定义为:

z ~ 1 : N ( 0 ) = s ( t ) − 1 z 1 : N ( t ) + s ( t ) σ ( t ) 2 ∇ z 1 : N ( t ) log ⁡ p t ( z 1 : N ( t ) ∣ u 0 ) , \tilde{\mathbf z}_{1:N}(0) = s(t)^{-1}\mathbf z_{1:N}(t) + s(t)\sigma(t)^2 \nabla_{\mathbf z_{1:N}(t)} \log p_t(\mathbf z_{1:N}(t) | \mathbf u_0), z~1:N(0)=s(t)1z1:N(t)+s(t)σ(t)2z1:N(t)logpt(z1:N(t)u0),

其中 s ( t ) = exp ⁡ ( ∫ 0 t f ( η ) d η ) s(t) = \exp\left(\int_0^t f(\eta)d\eta\right) s(t)=exp(0tf(η)dη) σ ( t ) = ∫ 0 t g ( η ) 2 s ( η ) 2 d η \sigma(t) = \sqrt{\int_0^t \frac{g(\eta)^2}{s(\eta)^2} d\eta} σ(t)=0ts(η)2g(η)2dη 。在实际实现中,这些量通过 VP SDE(Song 等,2021)专门化,即 DDPM(Ho 等,2020),扩散模型通过一个水平为 H H H 的参数化去噪网络 ϵ ϕ \epsilon_\phi ϵϕ 实现,其水平等于 N N N。更多细节请参考附录 A 和 B。

z τ ( t ) \mathbf z_\tau(t) zτ(t) 中,下标 τ \tau τ 表示物理时间步,而括号中的 ( t ) (t) (t) 表示扩散随机微分方程(SDE)的时间步。

4 方法

在本节中,我们详细介绍了我们的方法 CL-DiffPhyCon。在第 4.1 节中,我们阐述了我们的基本思想,并推导出了需要学习的两个分布。为了从这些分布中采样,我们分别在第 4.2 节和第 4.3 节中提出了同步扩散模型和异步扩散模型。在第 4.4 节中,我们介绍了 CL-DiffPhyCon 实现的闭环控制(推理),这一过程在图 2 中也得到了说明。

在这里插入图片描述

图 2:用于闭环控制的 CL-DiffPhyCon。CL-DiffPhyCon 首先使用同步扩散模型进行初始化,然后迭代地利用异步扩散模型执行在线控制。每个控制信号的采样基于来自环境的最新系统状态反馈。

4.1 异步去噪框架

回顾 DiffPhyCon(Wei 等人,2024),该方法在扩散逆过程的时间范围 H H H(通常远短于 N N N)中需要对潜变量(如系统状态和控制信号)进行同步去噪。因此,为了采样控制信号,必须在整个时间范围上执行一个长度为 T T T 的完整去噪过程,这对该时间范围内的所有潜变量引入了大量计算开销。为了解决这一问题,我们提出了 CL-DiffPhyCon 方法,采用一种异步去噪流程,使早期物理时间步的潜变量比后续时间步的潜变量提前去噪。在每个物理时间步,采样的控制信号被输入环境,其输出状态作为后续去噪过程的初始条件。因此,控制信号基于当前系统状态进行规划,实现了闭环控制。同时,与同步采样相比,连续两个时间步之间的计算成本显著降低。

形式化地,我们的目标是对马尔科夫复杂物理系统中的联合分布 p ( z 1 ( 0 ) , z 2 ( 0 ) , ⋯ , z N ( 0 ) ∣ u 0 ) p(\mathbf z_1(0),\mathbf z_2(0), \cdots, \mathbf z_N(0) | \mathbf u_0) p(z1(0),z2(0),,zN(0)u0) 进行建模,其中每个 z τ ( 0 ) = [ w τ , u τ ] \mathbf z_\tau(0) = [\mathbf w_\tau, \mathbf u_\tau] zτ(0)=[wτ,uτ] 是无噪声的控制信号和系统状态对, u 0 \mathbf u_0 u0 是初始状态。定义 z τ : τ + H − 1 ( t ) = [ z τ ( t ) , z τ + 1 ( t ) , ⋯ , z τ + H − 1 ( t ) ] \mathbf z_{\tau:\tau+H-1}(t) = [\mathbf z_\tau(t), \mathbf z_{\tau+1}(t), \cdots,\mathbf z_{\tau+H-1}(t)] zτ:τ+H1(t)=[zτ(t),zτ+1(t),,zτ+H1(t)] 为水平区间 [ τ : τ + H − 1 ] [ \tau : \tau + H - 1 ] [τ:τ+H1] 内具有相同噪声水平的潜变量序列, z ~ τ : τ + H − 1 ( t ) = [ z τ ( t ) , z τ + 1 ( t + 1 H T ) , ⋯ , z τ + H − 1 ( t + H − 1 H T ) ] \tilde{\mathbf z}_{\tau:\tau+H-1}(t) = [\mathbf z_\tau(t), \mathbf z_{\tau+1}(t + \frac{1}{H}T), \cdots, \mathbf z_{\tau+H-1}(t + \frac{H-1}{H}T)] z~τ:τ+H1(t)=[zτ(t),zτ+1(t+H1T),,zτ+H1(t+HH1T)] 为其对应的异步噪声水平版本。我们可以考虑以下扩展联合分布:

p ( z 1 : N ( 0 ) , z ~ 1 : H ( 1 H T ) , ⋯ , z ~ N + 1 : N + H ( 1 H T ) ∣ u 0 ) (6) p(\mathbf z_{1:N}(0), \tilde{\mathbf z}_{1:H}(\frac{1}{H}T), \cdots, \tilde{\mathbf z}_{N+1:N+H}(\frac{1}{H}T) | \mathbf u_0) \tag{6} p(z1:N(0),z~1:H(H1T),,z~N+1:N+H(H1T)u0)(6)

通过从该扩展联合分布中采样,我们可以获得期望的控制信号和状态序列 z 1 : N ( 0 ) ∼ p train ( z 1 : N ( 0 ) ∣ u 0 ) \mathbf z_{1:N}(0) \sim p_{\text{train}}(\mathbf z_{1:N}(0) | \mathbf u_0) z1:N(0)ptrain(z1:N(0)u0)。通过依次对先前的变量进行条件化,我们得到以下分解定理:

定理 1. 假设联合分布 p ( z 1 ( 0 ) , z 2 ( 0 ) , ⋯ , z N ( 0 ) ∣ u 0 ) p(\mathbf z_1(0), \mathbf z_2(0), \cdots,\mathbf z_N(0) |\mathbf u_0) p(z1(0),z2(0),,zN(0)u0) 满足马尔科夫性质。对于任意 τ > 0 \tau > 0 τ>0,假设 z τ ( T ) \mathbf z_\tau(T) zτ(T) 独立地服从正态分布 N ( z τ ( T ) ∣ 0 , σ T 2 I ) N(\mathbf z_\tau(T) | \mathbf 0, \sigma_T^2 \mathbf I) N(zτ(T)0,σT2I)。则扩展联合分布可以分解为:

p ( z 1 : N ( 0 ) , z ~ 1 : H ( 1 H T ) , ⋯ , z ~ N + 1 : N + H ( 1 H T ) ∣ u 0 ) = p ( z ~ 1 : H ( 1 H T ) ∣ u 0 ) ∏ τ = 1 N p ( z ~ τ : τ + H − 1 ( 0 ) ∣ u τ − 1 ( 0 ) , z ~ τ : τ + H − 1 ( 1 H T ) ) N ( z τ + H ( T ) ; 0 , σ T 2 I ) (7) p(\mathbf z_{1:N}(0), \tilde{\mathbf z}_{1:H}(\frac{1}{H}T), \cdots, \tilde{\mathbf z}_{N+1:N+H}(\frac{1}{H}T) | \mathbf u_0) = p(\tilde{\mathbf z}_{1:H}(\frac{1}{H}T) | \mathbf u_0) \prod_{\tau=1}^N p(\tilde{\mathbf z}_{\tau:\tau+H-1}(0) | \mathbf u_{\tau-1}(0), \tilde{\mathbf z}_{\tau:\tau+H-1}(\frac{1}{H}T)) \mathcal N(\mathbf z_{\tau+H}(T); \mathbf 0, \sigma_T^2 \mathbf I) \tag{7} p(z1:N(0),z~1:H(H1T),,z~N+1:N+H(H1T)u0)=p(z~1:H(H1T)u0)τ=1Np(z~τ:τ+H1(0)uτ1(0),z~τ:τ+H1(H1T))N(zτ+H(T);0,σT2I)(7)

该定理及后续命题的证明在附录 C 中给出。定理表明,为了从扩展联合分布中采样,我们只需要指定两个类型的分布用于祖先采样: p ( z ~ 1 : H ( 1 H T ) ∣ u 0 ) p(\tilde{\mathbf z}_{1:H}(\frac{1}{H}T) | \mathbf u_0) p(z~1:H(H1T)u0) ,和 p ( z ~ τ : τ + H − 1 ( 0 ) ∣ u τ − 1 ( 0 ) , z ~ τ : τ + H − 1 ( 1 H T ) ) p(\tilde{\mathbf z}_{\tau:\tau+H-1}(0) | \mathbf u_{\tau-1}(0), \tilde{\mathbf z}_{\tau:\tau+H-1}(\frac{1}{H}T)) p(z~τ:τ+H1(0)uτ1(0),z~τ:τ+H1(H1T)) 对于 τ > 0 \tau > 0 τ>0。也就是说,我们需要一个扩散模型来学习初始化分布 p ( z ~ 1 : H ( 1 H T ) ∣ u 0 ) p(\tilde{\mathbf z}_{1:H}(\frac{1}{H}T) | \mathbf u_0) p(z~1:H(H1T)u0),另一个扩散模型来学习转移分布 p ( z ~ τ : τ + H − 1 ( 0 ) ∣ u τ − 1 ( 0 ) , z ~ τ : τ + H − 1 ( 1 H T ) ) p(\tilde{\mathbf z}_{\tau:\tau+H-1}(0) | \mathbf u_{\tau-1}(0), \tilde{\mathbf z}_{\tau:\tau+H-1}(\frac{1}{H}T)) p(z~τ:τ+H1(0)uτ1(0),z~τ:τ+H1(H1T))

4.2 从初始化分布中采样

为了从分布 p ( z ^ 1 : H ( 1 H T ) ∣ u 0 ) p \big(\hat{\mathbf z}_{1:H}(\frac{1}{H}T) |\mathbf u_0\big) p(z^1:H(H1T)u0) 中采样,我们通过以下损失函数训练一个同步扩散模型 ϵ ϕ \epsilon_\phi ϵϕ

L synch = E t , ( u 0 , z 1 : H ) , ϵ [ ∥ ϵ − ϵ ϕ ( z 1 : H ( t ) , u 0 , t ) ∥ 2 2 ] . (8) \mathcal L_{\text{synch}} = \mathbb{E}_{t, (\mathbf u_0, \mathbf z_{1:H}), \epsilon} \left[ \|\epsilon - \epsilon_\phi\big(\mathbf z_{1:H}(t), \mathbf u_0, t\big)\|_2^2 \right]. \tag{8} Lsynch=Et,(u0,z1:H),ϵ[ϵϵϕ(z1:H(t),u0,t)22].(8)

其中, z 1 : H ( t ) = s ( t ) z 1 : H + s ( t ) 2 σ ( t ) 2 ϵ \mathbf z_{1:H}(t) = s(t) \mathbf z_{1:H} + s(t)^2\sigma(t)^2\epsilon z1:H(t)=s(t)z1:H+s(t)2σ(t)2ϵ,并且期望值取决于 t ∼ U ( 0 , T ) t \sim U(0, T) tU(0,T) ( u 0 , z 1 : H ) ∼ D train (\mathbf u_0, \mathbf z_{1:H}) \sim \mathcal D_{\text{train}} (u0,z1:H)Dtrain ϵ ∼ N ( 0 , I ) \epsilon \sim N(0, I) ϵN(0,I)。由于负梯度得分函数会最小化该损失,我们得到:

∇ z 1 : H ( t ) log ⁡ p t ( z 1 : H ( t ) ∣ u 0 ) ≈ − ϵ ϕ ∗ ( z 1 : H ( t ) , u 0 , t ) , \nabla_{\mathbf z_{1:H}(t)} \log p_t\big(\mathbf z_{1:H}(t)|\mathbf u_0\big) \approx -\epsilon_{\phi^*}\big(\mathbf z_{1:H}(t), \mathbf u_0, t\big), z1:H(t)logpt(z1:H(t)u0)ϵϕ(z1:H(t),u0,t),

其中 ϕ ∗ \phi^* ϕ 是经过训练的参数。完成训练后,我们可以应用公式 (4) 来采样 { z 1 : H ( t ) } \{\mathbf z_{1:H}(t)\} {z1:H(t)},其中 t t t T T T 1 H T \frac{1}{H}T H1T 递减,从而得到: z ~ 1 : H ( 1 H T ) = [ z 1 ( 1 H T ) , ⋯ , z H ( T ) ] \tilde{\mathbf z}_{1:H}(\frac{1}{H}T) = [\mathbf z_1(\frac{1}{H}T), \cdots, \mathbf z_H(T)] z~1:H(H1T)=[z1(H1T),,zH(T)],此时,这组样本遵循所需的分布 p ( z ~ 1 : H ( 1 H T ) ∣ u 0 ) p\big( \tilde{\mathbf z}_{1:H}(\frac{1}{H}T) |\mathbf u_0\big) p(z~1:H(H1T)u0)

4.3 从过渡分布中采样

为了从分布 p ( z ~ τ : τ + H − 1 ( 0 ) ∣ u τ − 1 ( 0 ) , z ~ τ : τ + H − 1 ( 1 H T ) ) p\big(\tilde{\mathbf z}_{\tau:\tau+H-1}(0) | \mathbf u_{\tau-1}(0), \tilde{\mathbf z}_{\tau:\tau+H-1}(\frac{1}{H}T)\big) p(z~τ:τ+H1(0)uτ1(0),z~τ:τ+H1(H1T)) 中采样,我们训练了一个异步扩散模型 ϵ θ \epsilon_\theta ϵθ。根据第 3.2 节中的符号,我们定义了一个异步前向扩散 SDE:
d z ~ τ : τ + H − 1 ( t ) = [ d z τ ( t ) , d z τ + 1 ( t + 1 H T ) , ⋯ , d z τ + H − 1 ( t + H − 1 H T ) ] = f ~ τ : τ + H − 1 ( t ) z ~ τ : τ + H − 1 ( t ) d t + g ~ τ : τ + H − 1 ( t ) d ω τ : τ + H − 1 ( t ) , (9) \begin{aligned}\text d \tilde{\mathbf z}_{\tau:\tau+H-1}(t) & = \big[\text d \mathbf z_\tau(t), \text d \mathbf z_{\tau+1}(t+\frac{1}{H}T), \cdots,\text d \mathbf z_{\tau+H-1}(t+\frac{H-1}{H}T)\big]\\ &= \tilde{f}_{\tau:\tau+H-1}(t)\tilde{\mathbf z}_{\tau:\tau+H-1}(t)dt + \tilde{g}_{\tau:\tau+H-1}(t)d\omega_{\tau:\tau+H-1}(t), \end{aligned} \tag{9} dz~τ:τ+H1(t)=[dzτ(t),dzτ+1(t+H1T),,dzτ+H1(t+HH1T)]=f~τ:τ+H1(t)z~τ:τ+H1(t)dt+g~τ:τ+H1(t)dωτ:τ+H1(t),(9)

其中 f ~ τ : τ + H − 1 ( t ) = [ f ( t ) , f ( t + 1 H T ) , ⋯ , f ( t + H − 1 H T ) ] \tilde{f}_{\tau:\tau+H-1}(t) = [f(t), f(t+\frac{1}{H}T), \cdots, f(t+\frac{H-1}{H}T)] f~τ:τ+H1(t)=[f(t),f(t+H1T),,f(t+HH1T)] g ~ τ : τ + H − 1 ( t ) = [ g ( t ) , g ( t + 1 H T ) , ⋯ , g ( t + H − 1 H T ) ] \tilde{g}_{\tau:\tau+H-1}(t) = [g(t), g(t+\frac{1}{H}T), \cdots, g(t+\frac{H-1}{H}T)] g~τ:τ+H1(t)=[g(t),g(t+H1T),,g(t+HH1T)]。方程 (9) 的反向时间 SDE 表达式为:
d z ~ τ : τ + H − 1 ( t ) = [ f ~ τ : τ + H − 1 ( t ) z ~ τ : τ + H − 1 ( t ) − g ~ τ : τ + H − 1 ( t ) 2 ∇ z ~ τ : τ + H − 1 ( t ) log ⁡ p t ( z ~ τ : τ + H − 1 ( t ) ∣ u τ − 1 ( 0 ) ) ] d t + g ~ τ : τ + H − 1 ( t ) d ω τ : τ + H − 1 ( t ) (10) \begin{aligned}d \tilde{\mathbf z}_{\tau:\tau+H-1}(t) &= \big[\tilde{f}_{\tau:\tau+H-1}(t)\tilde{\mathbf z}_{\tau:\tau+H-1}(t) \\ & - \tilde{g}_{\tau:\tau+H-1}(t)^2\nabla_{\tilde{\mathbf z}_{\tau:\tau+H-1}(t)}\log p_t\big(\tilde{\mathbf z}_{\tau:\tau+H-1}(t)|u_{\tau-1}(0)\big)\big]dt \\ & + \tilde{g}_{\tau:\tau+H-1}(t)d\omega_{\tau:\tau+H-1}(t) \end{aligned}\tag{10} dz~τ:τ+H1(t)=[f~τ:τ+H1(t)z~τ:τ+H1(t)g~τ:τ+H1(t)2z~τ:τ+H1(t)logpt(z~τ:τ+H1(t)uτ1(0))]dt+g~τ:τ+H1(t)dωτ:τ+H1(t)(10)

进一步地,包含控制目标的推断可推广为:
d z ~ τ : τ + H − 1 ( t ) = [ f ~ τ : τ + H − 1 ( t ) z ~ τ : τ + H − 1 ( t ) − g ~ τ : τ + H − 1 ( t ) 2 ∇ z ~ τ : τ + H − 1 ( t ) log ⁡ p t ( z ~ τ : τ + H − 1 ( t ) ∣ u τ − 1 ( 0 ) ) + g ~ τ : τ + H − 1 ( t ) 2 λ ∇ z ~ τ : τ + H − 1 ( t ) J ( z ^ τ : τ + H − 1 ( 0 ) ) ] d t + g ~ τ : τ + H − 1 ( t ) d ω τ : τ + H − 1 ( t ) (11) \begin{aligned}d\tilde{\mathbf z}_{\tau:\tau+H-1}(t) &= \big[\tilde{f}_{\tau:\tau+H-1}(t)\tilde{\mathbf z}_{\tau:\tau+H-1}(t) \\& - \tilde{g}_{\tau:\tau+H-1}(t)^2\nabla_{\tilde{\mathbf z}_{\tau:\tau+H-1}(t)}\log p_t\big(\tilde{\mathbf z}_{\tau:\tau+H-1}(t)|u_{\tau-1}(0)\big) \\& + \tilde{g}_{\tau:\tau+H-1}(t)^2\lambda\nabla_{\tilde{\mathbf z}_{\tau:\tau+H-1}(t)} \mathcal J(\hat{\mathbf z}_{\tau:\tau+H-1}(0))\big]dt \\&+ \tilde{g}_{\tau:\tau+H-1}(t)d\omega_{\tau:\tau+H-1}(t) \end{aligned}\tag{11} dz~τ:τ+H1(t)=[f~τ:τ+H1(t)z~τ:τ+H1(t)g~τ:τ+H1(t)2z~τ:τ+H1(t)logpt(z~τ:τ+H1(t)uτ1(0))+g~τ:τ+H1(t)2λz~τ:τ+H1(t)J(z^τ:τ+H1(0))]dt+g~τ:τ+H1(t)dωτ:τ+H1(t)(11)

这里, z ^ τ : τ + H − 1 ( 0 ) \hat{\mathbf z}_{\tau:\tau+H-1}(0) z^τ:τ+H1(0) 是一个异步 Tweedie 估计(详见附录 A):
z ^ τ + i ( 0 ) = s ( t + i H T ) − 1 z τ + i ( t + i H T ) + s ( t + i H T ) σ ( t + i H T ) 2 ∂ log ⁡ p t ( z ~ τ : τ + H − 1 ( t ) ∣ u τ − 1 ( 0 ) ) ∂ z τ + i ( t + i H T ) \begin{aligned}\hat{\mathbf z}_{\tau+i}(0) &= s(t+\frac{i}{H}T)^{-1} \mathbf z_{\tau+i}(t+\frac{i}{H}T) \\& + s(t+\frac{i}{H}T)\sigma(t+\frac{i}{H}T)^2\frac{\partial \log p_t\big(\tilde{\mathbf z}_{\tau:\tau+H-1}(t)|\mathbf u_{\tau-1}(0)\big)}{\partial \mathbf z_{\tau+i}(t+\frac{i}{H}T)}\end{aligned} z^τ+i(0)=s(t+HiT)1zτ+i(t+HiT)+s(t+HiT)σ(t+HiT)2zτ+i(t+HiT)logpt(z~τ:τ+H1(t)uτ1(0))

z ~ τ : τ + H − 1 ( t ) \tilde{\mathbf z}_{\tau:\tau+H-1}(t) z~τ:τ+H1(t) 的分布满足以下命题:

命题 1:假设联合分布 p ( z 1 ( 0 ) , z 2 ( 0 ) , ⋯ , z N ( 0 ) ∣ u 0 ) p\big(\mathbf z_1(0),\mathbf z_2(0), \cdots, \mathbf z_N(0)|\mathbf u_0\big) p(z1(0),z2(0),,zN(0)u0) 具有马尔科夫性质。对于任何 t ∈ [ 0 , 1 H T ] t \in [0, \frac{1}{H}T] t[0,H1T],我们有:
p t ( z ~ τ : τ + H − 1 ( t ) ∣ u τ − 1 ( 0 ) ) = E z τ : τ + H − 1 ( 0 ) [ ∏ i = 0 H − 1 p ( z τ + i ( t + i H T ) ∣ z τ + i ( 0 ) ) ] , (12) p_t\big(\tilde{\mathbf z}_{\tau:\tau+H-1}(t)| \mathbf u_{\tau-1}(0)\big) = \mathbb{E}_{\mathbf z_{\tau:\tau+H-1}(0)}\bigg[\prod_{i=0}^{H-1}p\big(\mathbf z_{\tau+i}(t+\frac{i}{H}T)|\mathbf z_{\tau+i}(0)\big)\bigg], \tag{12} pt(z~τ:τ+H1(t)uτ1(0))=Ezτ:τ+H1(0)[i=0H1p(zτ+i(t+HiT)zτ+i(0))],(12)

其中期望值关于 z τ : τ + H − 1 ( 0 ) ∼ p train ( z τ : τ + H − 1 ( 0 ) ∣ u τ − 1 ( 0 ) ) \mathbf z_{\tau:\tau+H-1}(0) \sim p_{\text{train}}\big(\mathbf z_{\tau:\tau+H-1}(0)|\mathbf u_{\tau-1}(0)\big) zτ:τ+H1(0)ptrain(zτ:τ+H1(0)uτ1(0)),并且
p ( z τ + i ( t + i H T ) ∣ z τ + i ( 0 ) ) = N ( z τ + i ( t + i H T ) ; s ( t + i H T ) z τ + i ( 0 ) , s ( t + i H T ) 2 σ ( t + i H T ) 2 I ) p\big(\mathbf z_{\tau+i}(t+\frac{i}{H}T)|z_{\tau+i}(0)\big) = \mathcal{N}\big(\mathbf z_{\tau+i}(t+\frac{i}{H}T); s(t+\frac{i}{H}T)\mathbf z_{\tau+i}(0), s(t+\frac{i}{H}T)^2\sigma(t+\frac{i}{H}T)^2 \mathbf I\big) p(zτ+i(t+HiT)zτ+i(0))=N(zτ+i(t+HiT);s(t+HiT)zτ+i(0),s(t+HiT)2σ(t+HiT)2I)

因此,我们可以通过以下损失函数获取 z ~ τ : τ + H − 1 ( t ) \tilde{\mathbf z}_{\tau:\tau+H-1}(t) z~τ:τ+H1(t)
L asynch = E τ , t , ( u τ − 1 ( 0 ) , z ~ τ : τ + H − 1 ( t ) ) , ϵ [ ∥ ϵ − ϵ θ ( z ~ τ : τ + H − 1 ( t ) , u τ − 1 , t ) ∥ 2 2 ] (13) \mathcal L_{\text{asynch}} = \mathbb{E}_{\tau, t, (\mathbf u_{\tau-1}(0), \tilde{\mathbf z}_{\tau:\tau+H-1}(t)), \epsilon}\big[\|\epsilon - \epsilon_\theta\big(\tilde{\mathbf z}_{\tau:\tau+H-1}(t), \mathbf u_{\tau-1}, t\big)\|_2^2\big] \tag{13} Lasynch=Eτ,t,(uτ1(0),z~τ:τ+H1(t)),ϵ[ϵϵθ(z~τ:τ+H1(t),uτ1,t)22](13)

式 (13) 中的期望取决于 τ ∼ U ( 1 , N − H + 1 ) \tau \sim U(1, N-H+1) τU(1,NH+1) t ∼ U ( 0 , 1 H T ) t \sim U(0, \frac{1}{H}T) tU(0,H1T) ( u τ − 1 ( 0 ) , z ~ τ : τ + H − 1 ( t ) ) ∼ p train ( u τ − 1 ( 0 ) ) p t ( z ~ τ : τ + H − 1 ( t ) ∣ u τ − 1 ( 0 ) ) (\mathbf u_{\tau-1}(0), \tilde{\mathbf z}_{\tau:\tau+H-1}(t)) \sim p_{\text{train}}\big(\mathbf u_{\tau-1}(0)\big)p_t\big(\tilde{\mathbf z}_{\tau:\tau+H-1}(t)|\mathbf u_{\tau-1}(0)\big) (uτ1(0),z~τ:τ+H1(t))ptrain(uτ1(0))pt(z~τ:τ+H1(t)uτ1(0)),以及 ϵ ∼ N ( 0 , I ) \epsilon \sim \mathcal{N}(0, I) ϵN(0,I)

完成训练后,我们可以通过以下公式计算得分函数:
∇ z ~ τ : τ + H − 1 ( t ) log ⁡ p t ( z ~ τ : τ + H − 1 ( t ) ∣ u τ − 1 ( 0 ) ) ≈ − ϵ θ ∗ ( z ~ τ : τ + H − 1 ( t ) , u τ − 1 ( 0 ) , t ) , \nabla_{\tilde{\mathbf z}_{\tau:\tau+H-1}(t)}\log p_t\big(\tilde{\mathbf z}_{\tau:\tau+H-1}(t)|\mathbf u_{\tau-1}(0)\big) \approx -\epsilon_{\theta^*}\big(\tilde{\mathbf z}_{\tau:\tau+H-1}(t), \mathbf u_{\tau-1}(0), t\big), z~τ:τ+H1(t)logpt(z~τ:τ+H1(t)uτ1(0))ϵθ(z~τ:τ+H1(t),uτ1(0),t)

其中 θ ∗ \theta^* θ 是训练好的参数。

因此,我们可以使用公式 (10),其中 t t t 1 H T \frac{1}{H}T H1T 到 0,来采样
z ~ τ : τ + H − 1 ( 0 ) ∼ p ( z ~ τ : τ + H − 1 ( 0 ) ∣ u τ − 1 ( 0 ) , z ~ τ : τ + H − 1 ( 1 H T ) ) \tilde{\mathbf z}_{\tau:\tau+H-1}(0) \sim p\big(\tilde{\mathbf z}_{\tau:\tau+H-1}(0)|\mathbf u_{\tau-1}(0), \tilde{\mathbf z}_{\tau:\tau+H-1}(\frac{1}{H}T)\big) z~τ:τ+H1(0)p(z~τ:τ+H1(0)uτ1(0),z~τ:τ+H1(H1T))

4.4 闭环控制

在推理(控制)过程中,我们的目标不仅是生成符合物理动力学的控制序列和系统轨迹,还要优化控制目标。基于两个学习的模型,我们现在介绍闭环控制流程 ϵ ϕ \epsilon_\phi ϵϕ ϵ θ \epsilon_\theta ϵθ。首先,我们使用同步模型 ϵ ϕ \epsilon_\phi ϵϕ 在区间 [ 1 , H ] [1, H] [1,H] 上,通过公式 (5) 生成条件于初始状态 u env , 0 \mathbf u_{\text{env}, 0} uenv,0 的初始异步变量 z ~ 1 : H ( 1 H T ) \tilde{\mathbf z}_{1:H}\left(\frac{1}{H}T\right) z~1:H(H1T)。随后,在线控制过程开始。

在每个物理时间步 τ ≥ 1 \tau \geq 1 τ1,我们使用公式 (11) 利用 u env , τ − 1 \mathbf u_{\text{env}, \tau-1} uenv,τ1 z ~ τ : τ + H − 1 ( 1 H T ) \tilde{\mathbf z}_{\tau:\tau+H-1}\left(\frac{1}{H}T\right) z~τ:τ+H1(H1T) 采样 z ~ τ : τ + H − 1 ( 0 ) \tilde{\mathbf z}_{\tau:\tau+H-1}(0) z~τ:τ+H1(0)。然后从采样得到的 z τ ( 0 ) \mathbf z_\tau(0) zτ(0) 中提取控制信号 w τ ( 0 ) \mathbf w_\tau(0) wτ(0),并将对 ( u env , τ − 1 , w τ ( 0 ) ) (\mathbf u_{\text{env}, \tau-1}, \mathbf w_\tau(0)) (uenv,τ1,wτ(0)) 的输入提供给环境 G G G,该环境输出下一个状态 u env , τ \mathbf u_{\text{env}, \tau} uenv,τ。接着,我们采样一个噪声 z τ + H ( T ) ∼ N ( 0 , σ T 2 I ) \mathbf z_{\tau+H}(T) \sim \mathcal{N}(0, \sigma_T^2 \mathbf I) zτ+H(T)N(0,σT2I),并将其与 z ~ τ : τ + H − 1 ( 0 ) \tilde{\mathbf z}_{\tau:\tau+H-1}(0) z~τ:τ+H1(0) 的后 H − 1 H-1 H1 个分量连接起来,组成 z ~ τ + 1 : τ + H ( 1 H T ) \tilde{\mathbf z}_{\tau+1:\tau+H}\left(\frac{1}{H}T\right) z~τ+1:τ+H(H1T)。此时,我们将 u env , τ − 1 \mathbf u_{\text{env}, \tau-1} uenv,τ1 (而非采样得到的 u τ − 1 ( 0 ) \mathbf u_{\tau-1}(0) uτ1(0))和 z ~ τ + 1 : τ + H ( 1 H T ) \tilde{\mathbf z}_{\tau+1:\tau+H}\left(\frac{1}{H}T\right) z~τ+1:τ+H(H1T) 传递到下一次循环。完整过程见算法 1,并在图 2 中进行了说明。因此, { w τ ( 0 ) , u env , τ } τ = 1 N \{\mathbf w_\tau(0),\mathbf u_{\text{env}, \tau}\}_{\tau=1}^N {wτ(0),uenv,τ}τ=1N 的联合分布满足以下命题。

在这里插入图片描述
命题 2 根据算法 1 描述的推理过程,有以下公式:

p ( w 1 ( 0 ) , u env , 1 , ⋯ , w N ( 0 ) , u env , N ∣ u env , 0 ) = ∫ p g d ( z ~ 1 : H ( 1 H T ) ∣ u env , 0 ) ∏ τ = 1 N p g d ( z ~ τ : τ + H − 1 ( 0 ) ∣ u env , τ − 1 , z ~ τ : τ + H − 1 ( 1 H T ) ) ⋅ p G ( u env , τ ∣ u env , τ − 1 , w τ ( 0 ) ) N ( z τ + H ( T ) ; 0 , σ T 2 I ) d { u 0 ( 0 ) , z ~ 1 : H ( 1 H T ) , ⋯ , u N ( 0 ) , z ~ N + 1 : N + H ( 1 H T ) } , (14) \begin{aligned}p(\mathbf w_1(0), \mathbf u_{\text{env}, 1}, \cdots, \mathbf w_N(0), \mathbf u_{\text{env}, N} | \mathbf u_{\text{env}, 0}) = \int p_{gd} ( \tilde{\mathbf z}_{1:H}(\frac{1}{H}T) | \mathbf u_{\text{env}, 0}) & \\ \prod_{\tau=1}^N p_{gd}(\tilde{\mathbf z}_{\tau:\tau+H-1}(0) | \mathbf u_{\text{env}, \tau-1}, \tilde{\mathbf z}_{\tau:\tau+H-1}(\frac{1}{H}T) ) \cdot p_G(\mathbf u_{\text{env}, \tau} | \mathbf u_{\text{env}, \tau-1}, \mathbf w_\tau(0)) &\\ \mathcal{N}(\mathbf z_{\tau+H}(T); 0, \sigma_T^2 \mathbf I) \, \text d\{\mathbf u_0(0), \tilde{\mathbf z}_{1:H}\left(\frac{1}{H}T\right), \cdots, \mathbf u_N(0), \tilde{\mathbf z}_{N+1:N+H}\left(\frac{1}{H}T\right)\}, \end{aligned} \tag{14} p(w1(0),uenv,1,,wN(0),uenv,Nuenv,0)=pgd(z~1:H(H1T)uenv,0)τ=1Npgd(z~τ:τ+H1(0)uenv,τ1,z~τ:τ+H1(H1T))pG(uenv,τuenv,τ1,wτ(0))N(zτ+H(T);0,σT2I)d{u0(0),z~1:H(H1T),,uN(0),z~N+1:N+H(H1T)},(14)

其中, p g d p_{gd} pgd 表示引导采样的转移分布(公式 11),而 p G p_G pG 表示环境 G G G 的转移分布。

根据公式 (14),对于任意 τ \tau τ,控制信号 w τ ( 0 ) \mathbf w_\tau(0) wτ(0) 是条件于环境状态 u env , 0 : τ − 1 \mathbf u_{\text{env}, 0:\tau-1} uenv,0:τ1 的,而不是预测的 u 0 : τ − 1 ( 0 ) \mathbf u_{0:\tau-1}(0) u0:τ1(0)。因此,我们的方法实现了闭环控制。显然,CL-DiffPhyCon 比 DiffPhyCon-h 快 H / h H/h H/h 倍,其中 DiffPhyCon-h 是一种在每 h h h 个物理时间步重新运行一次 DiffPhyCon 采样过程(区间为 H H H)的控制方法,如图 1 所示。即便与自适应重规划扩散方法(Zhou 等人,2024)相比,CL-DiffPhyCon 仍然更高效,因为每个潜变量仅采样一次,且不涉及额外计算(如似然估计)。

此外,尽管近年来提出了一些快速采样方法(如 DDIM,Song 等人,2020)以降低扩散模型的采样成本,我们的 CL-DiffPhyCon 仍具有独立的加速效果。关键见解在于,CL-DiffPhyCon 并未减少每个物理时间步的采样总步数,因此可以结合 DDIM 方法。因此,通过在同步和异步模型的采样过程中引入 DDIM,CL-DiffPhyCon 的控制效率可以进一步提升。

5 实验

在实验中,我们旨在解答以下三个问题:(1)CL-DiffPhyCon 能否在性能上超越经典方法和最新的基线方法?(2)与扩散控制基线相比,CL-DiffPhyCon 能否如第 4.4 节分析的那样实现推理加速,并通过引入 DDIM(Song 等人,2020)获得进一步的加速?(3)CL-DiffPhyCon 能否应对部分观测和高维间接控制的挑战?为了解答这些问题,我们在两个控制任务上开展了实验:一维 Burgers 方程控制和二维不可压缩流体控制。这两个任务在科学和工程领域中具有重要的实际应用。此外,我们还提供了复现我们方法及基线方法结果的代码。

5.1 基准线

以下经典、模仿学习、强化学习和扩散控制方法被选为基准:经典控制算法,广泛应用于各个领域的比例-积分-微分(PID)控制(Li 等,2006);一种模仿学习方法,行为克隆(BC)(Pomerleau,1988);一种最近的强化学习方法,行为近端策略优化(BPPO)(Zhuang 等,2023);两种扩散控制方法,包括 RDM(Zhou 等,2024),该方法自适应地决定何时进行完整的控制序列采样过程;DiffPhyCon(Wei 等,2024),其原始版本在一个采样过程中规划整个轨迹的控制序列。由于轨迹长度远大于扩散模型的时间范围 H H H(1D 和 2D 任务中分别设置为 H = 16 H = 16 H=16 H = 15 H = 15 H=15),我们将 DiffPhyCon 扩展为其三个变体 DiffPhyCon-h( h ∈ { 1 , 5 , H − 1 } h \in \{1, 5, H-1\} h{1,5,H1})作为基准,基于预定义的物理时间步长间隔 h h h 来进行完整的采样过程。所有扩散控制基准都使用 CL-DiffPhyCon 训练的同步扩散模型进行采样,1D 和 2D 任务的步骤分别为 T = 900 T = 900 T=900 T = 600 T = 600 T=600。PID 不适用于复杂的 2D 任务(Aström & Hägglund,2000)。RDM 是按照官方代码重新实现的。然而,RDM 中两个阈值超参数的默认值在我们的任务中表现不佳。因此,我们选择了一对表现最佳的值(详细信息见附录 H)。对于其他基准,我们遵循 DiffPhyCon Wei 等(2024)中的实现。

5.2 1D 伯格斯方程控制

实验设置:伯格斯方程是广泛用于描述各种物理系统的方程。我们遵循 Hwang 等(2022);Mowlavi & Nabi(2023)的工作,考虑带有狄利克雷边界条件和外力 w ( t , x ) \mathbf w(t, x) w(t,x) 的 1D 伯格斯方程,具体形式如下:

{ ∂ u ∂ t = − u ⋅ ∂ u ∂ x + ν ∂ 2 u ∂ x 2 + w ( t , x ) in  [ 0 , T ] × Ω , u ( t , x ) = 0 in  [ 0 , T ] × ∂ Ω , u ( 0 , x ) = u 0 ( x ) in  { t = 0 } × Ω , (15) \begin{cases} \frac{\partial u}{\partial t} = -u \cdot \frac{\partial u}{\partial x} + \nu \frac{\partial^2 u}{\partial x^2} + w(t, x) & \quad \text{in} \ [0, T] \times \Omega, \\ u(t, x) = 0 & \quad \text{in} \ [0, T] \times \partial \Omega, \\ u(0, x) = u_0(x) & \quad \text{in} \ \{t = 0\} \times \Omega,\\ \end{cases} \tag{15} tu=uxu+νx22u+w(t,x)u(t,x)=0u(0,x)=u0(x)in [0,T]×Ω,in [0,T]×Ω,in {t=0}×Ω,(15)

其中, ν \nu ν 是粘度, u 0 ( x ) u_0(x) u0(x) 是初始条件。给定在 [ 0 , T ] × Ω [0, T] \times \Omega [0,T]×Ω 范围内定义的目标状态 u d ( t , x ) u_d(t, x) ud(t,x),控制目标 J J J 是最小化 u ( t , x ) u(t, x) u(t,x) u d ( t , x ) u_d(t, x) ud(t,x) 之间的误差:

J : = ∫ T ∫ Ω ∣ u ( t , x ) − u d ( t , x ) ∣ 2 d x d t , (16) \mathcal J := \int_T \int_\Omega |u(t, x) - u_d(t, x)|^2 \, dx \, dt, \tag{16} J:=TΩu(t,x)ud(t,x)2dxdt,(16)

满足方程(15)。为了更好地适应实际场景的需求,我们遵循 Wei 等(2024)的做法,选择两种不同的实验设置:完全观察(FO)和部分观察(PO)。完全观察(FO)意味着所有空间位置都可以观察和控制,而部分观察(PO)意味着只有部分位置可以观察和控制,如图 3 所示。有关数据集、实验设置和实现的详细信息,请参见附录 D。

在这里插入图片描述

表1:1D Burgers 方程控制的比较结果。报告了在单个 NVIDIA A100 80GB GPU(16 个 GPU 核心)上的平均控制目标 J \mathcal J J 和推理时间。最佳模型使用粗体表示,亚军使用下划线标出。

结果。在表 1 中,我们展示了我们提出的 CL-DiffPhyCon 和基准方法的结果。需要注意的是,在两种不同的设置 FO/PO 中报告的指标是不可直接比较的。可以看出,在 FO 和 PO 设置中,CL-DiffPhyCon 都比所有基准方法表现得更好。BC 和 BPPO 在此任务中表现较差,因为它们在很大程度上依赖于训练控制序列的质量,而这些序列远非最佳解(见附录 D.1)。与 BC 和 BPPO 相比,扩散控制基准方法表现更好,因为扩散模型在控制目标的指导下对每个时间范围进行全局优化,并且擅长从高维空间中采样(Wei 等,2024)。尽管如此,CL-DiffPhyCon 相比于 DiffPhyCon-1 和 DiffPhyCon-5(分别是 FO 和 PO 设置中的最佳基准),分别降低了 54.3% 和 51.1% 的 J \mathcal J J 值。在图 3 中,我们展示了在 FO 和 PO 设置下随机选取的一个测试样本的可视化比较。结果显示,CL-DiffPhyCon 相比于最佳基准在目标状态的累计误差上更低。CL-DiffPhyCon 相较于这些扩散控制基准的优越性表明,闭环控制对于良好的控制性能是必要的,且我们的 CL-DiffPhyCon 能够有效地将来自环境的实时反馈整合到随后的控制信号采样中。更多的可视化结果见附录 E。除了控制性能的提升,表 1 还显示,CL-DiffPhyCon 显著加速了采样过程,相较于 DiffPhyCon-h 快了约 H / h H/h H/h 倍,比 RDM 快了两倍。此外,通过与 30 步采样的 DDIM 结合,CL-DiffPhyCon 实现了额外的 5 倍加速,展示了 CL-DiffPhyCon 相比现有的快速采样方法在扩散模型中的独立加速效果。因此,CL-DiffPhyCon 的时间成本降低,已可与非扩散控制基准 BC、BPPO 和 PID 相媲美,而其性能则远超这些方法。

6 结论

在本文中,我们提出了 CL-DiffPhyCon,这是一种基于扩散的复杂物理系统闭环控制方法,基于目标分布的理论分析。通过在模型的时间范围内逐渐增加噪声水平,CL-DiffPhyCon 使得与环境的实时交互成为可能,并实现了控制信号的高效采样。在两个物理控制任务上的实验展示了其优越的控制性能和效率。我们相信,我们的方法对于物理系统之外的其他任务(如机器人和无人机控制)也具有潜在的应用价值。有关我们方法的局限性和未来工作的更多讨论,请参见附录 I。

D 1D Burgers 方程控制的详细信息

D.1 数据集

我们遵循 Wei 等(2024)中的说明生成 1D Burgers 方程数据集。具体来说,我们使用有限差分法(FDM)在空间范围 x ∈ [ 0 , 1 ] x \in [0, 1] x[0,1] 和时间范围 t ∈ [ 0 , 1 ] t \in [0, 1] t[0,1] 内生成轨迹,初始状态和控制序列遵循一定的分布。空间被离散化为 128 个网格,时间被离散化为 10000 个步骤。我们生成了 90000 个轨迹用于训练集,50 个轨迹用于测试集。对于每个训练样本,其目标状态 u d ( t , x ) \mathbf u_d(t, x) ud(t,x) 是从其他训练样本中随机选择的,这意味着几乎所有训练集中的样本都是不成功的,因为它们几乎无法在随机控制下达到目标状态。因此,生成超越训练数据集性能的控制序列是一个挑战。

D.2 实验设置

与Wei 等(2024)类似,我们在第 5.2 节设计了 1D Burgers 方程控制的两种设置:

  • 完全观测(Full Observation):这是一个常见场景,系统的所有状态 u ( t , x ) \mathbf u(t, x) u(t,x),其中 x ∈ [ 0 , 1 ] x \in [0, 1] x[0,1] t ∈ [ 0 , 1 ] t \in [0, 1] t[0,1] 都可以被观测。
  • 部分观测(Partial Observation):在此设置下,我们隐藏了部分 u \mathbf u u 的数据,控制模型的性能通过图 3 中显示的带斜线的白色区域来衡量。具体而言,训练集中的数据在区间 x ∈ [ 1 4 , 3 4 ] x \in [\frac{1}{4}, \frac{3}{4}] x[41,43] 上的状态 u ( t , x ) \mathbf u(t, x) u(t,x) 被设置为零,测试时也设置 u 0 ( x ) \mathbf u_0(x) u0(x),其中 x ∈ [ 1 4 , 3 4 ] x \in [\frac{1}{4}, \frac{3}{4}] x[41,43] 为零。仅观察、控制和评估区域 Ω = [ 0 , 1 4 ] ∪ [ 3 4 , 1 ] \Omega = [0, \frac{1}{4}] \cup [\frac{3}{4}, 1] Ω=[0,41][43,1] 的数据。这个设置特别具有挑战性,因为部分观测引入了不确定性。

在这里插入图片描述
图 3:CL-DiffPhyCon(底行)与最佳基准模型(中行)在 1D Burgers 方程控制上的视觉比较。图中,J是在可视化样本上计算的。在 PO 设置(右图)中,带斜线的白色区域为不可观察区域。

D.3 实现

我们使用 U-Net(Ronneberger 等,2015)作为模型 ϵ ϕ \epsilon_\phi ϵϕ ϵ θ \epsilon_\theta ϵθ 的架构。这两个模型分别使用相同的训练数据集进行训练。需要注意的是,在部分观测设置中,未观测的数据在训练和测试过程中对模型不可见,如附录 D.2 中所述。我们在模型输入和条件的对应位置填充零,并在训练损失中排除这些位置。因此,模型仅学习观察到的状态与控制序列之间的相关性。我们使用均方误差(MSE)损失来训练模型。两个模型都有 900 个扩散步骤(T = 900)。我们使用的 DDIM(Song 等,2020)采样只有 30 个扩散步骤,超参数 η = 1 \eta = 1 η=1。模型和训练的超参数列在表 3 中。

在这里插入图片描述

E 1D 可视化结果

我们展示了我们的方法和基准模型在两种设置下(FO 和 PO)的可视化结果,分别在图 5、6、7 和 8 中展示。在每个设置下,我们展示了从测试集中随机选择的四个样本的结果。从这些可视化结果中可以观察到,在我们提出的 CL-DiffPhyCon 控制下,状态 u ( t , x ) \mathbf u(t, x) u(t,x) 更接近目标状态 u d ( t , x ) \mathbf u_d(t, x) ud(t,x),无论初始状态如何。此外,这一观察在 FO 和 PO 两种设置下都一致,表明我们的 CL-DiffPhyCon 在解决部分观测挑战方面是有效的。

在这里插入图片描述
图 5:1D Burgers 方程控制在 FO(完全观测)设置下的两种可视化结果。第一行是目标 u d ( t , x ) \mathbf u_d(t, x) ud(t,x),误差 u ( t , x ) − u d ( t , x ) \mathbf u(t, x) - \mathbf u_d(t, x) u(t,x)ud(t,x) 衡量了受控状态与目标之间的差距。横轴是时间坐标,纵轴是状态。

在这里插入图片描述

图 7:1D Burgers 方程控制在 PO(部分观测)设置下的两种可视化结果。第一行是目标 u d ( t , x ) \mathbf u_d(t, x) ud(t,x),误差 u ( t , x ) − u d ( t , x ) \mathbf u(t, x) - \mathbf u_d(t, x) u(t,x)ud(t,x) 衡量了受控状态与目标之间的差距。横轴是时间坐标,纵轴是状态。中间带斜线的白色区域表示不可观察区域。

http://www.xdnf.cn/news/13419.html

相关文章:

  • 汽车制造通信革新:网关模块让EtherCAT成功对接CCLINK
  • 神经网络全景图:五大核心架构详解与本质区别
  • CUDA 与 cuDNN 免登录下载政策详解(基于官方权威信息)
  • docker和docker-compose的版本对应关系怎么看?
  • CVE-2017-12615源码分析与漏洞复现(Tomcat 任意文件上传)
  • DAY 46 超大力王爱学Python
  • 矩阵批量剪辑源码开发,OEM贴牌
  • SQL进阶之旅 Day 25:高并发环境下的SQL优化
  • 04__C++特殊的函数语法
  • 摄影入门:相机基本参数解析
  • MES生产工单管理系统,Java+Vue,含源码与文档,高效统筹生产流程,精准管控工单执行与进度
  • 为 Nginx 配置 HTTPS(以 n8n 为例)完整教程【CentOS 7】
  • 【编译工具】(调试)Chrome DevTools + Postman:调试组合如何让我的开发效率提升400%?
  • 蛋糕烘焙小程序源码介绍
  • ubuntuserver24.04版本:redis编译安装时出现工具、依赖库问题解决方法
  • 「Java基本语法」运算符与表达式
  • Java多线程实现之线程调度详解
  • 35. 搜索插入位置
  • OpenLayers 可视化之热力图
  • 滑动窗口最大值和最小值
  • 理解 PostgreSQL 中的 Virtual Transaction ID(VXID)
  • 123123
  • 【Java】动态加载数据库驱动:灵活连接
  • IMX6ULL--EPIT 定时器理论
  • 打卡第41天:训练和测试的规范写法
  • C/C++八股文
  • 面试题 - 日志(Java)
  • 网络爬虫学习心得
  • 智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
  • 二维数组判断空的情况