control_tutorial

第18章:学习与控制的结合

本章概述

传统控制理论依赖精确的数学模型和解析方法,而机器学习则通过数据驱动的方式处理复杂系统。本章探讨如何将两者优势结合,构建既具有理论保证又能处理复杂现实场景的智能控制系统。我们将介绍迭代学习控制、强化学习与最优控制的深层联系、基于学习的模型预测控制,以及神经网络控制器的验证方法。通过AlphaGo等案例,展示学习与控制结合的强大威力。

18.1 迭代学习控制(Iterative Learning Control, ILC)

18.1.1 基本概念与动机

迭代学习控制是一种通过重复执行相同任务来改善控制性能的方法。与传统反馈控制不同,ILC利用前次迭代的完整轨迹信息来更新控制律,特别适合重复性任务。

考虑一个需要在有限时间区间 $[0, T]$ 上重复执行的任务。第 $k$ 次迭代的系统动态为:

\[\begin{cases} x_{k+1}(t) = f(x_k(t), u_k(t), t) \\ y_k(t) = g(x_k(t), t) \\ x_k(0) = x_0 \end{cases}\]

其中 $u_k(t)$ 是第 $k$ 次迭代的控制输入,目标是使输出 $y_k(t)$ 跟踪期望轨迹 $y_d(t)$。

18.1.2 ILC更新律设计

P型学习律

最简单的ILC更新律是P型(比例型):

\[u_{k+1}(t) = u_k(t) + \Gamma e_k(t)\]

其中 $e_k(t) = y_d(t) - y_k(t)$ 是跟踪误差,$\Gamma$ 是学习增益矩阵。

D型学习律

D型(微分型)学习律利用误差的导数信息:

\[u_{k+1}(t) = u_k(t) + \Gamma \dot{e}_k(t)\]

这种方法对高频误差更敏感,可以更快地改善瞬态响应。

PD型学习律

结合P型和D型的优点:

\[u_{k+1}(t) = u_k(t) + \Gamma_p e_k(t) + \Gamma_d \dot{e}_k(t)\]

18.1.3 收敛性分析

对于线性时不变系统: \(\begin{cases} \dot{x}_k(t) = Ax_k(t) + Bu_k(t) \\ y_k(t) = Cx_k(t) \end{cases}\)

使用P型学习律时,误差动态满足: \(e_{k+1}(t) = (I - \Gamma CB)e_k(t) + \text{高阶项}\)

收敛条件是: \(\rho(I - \Gamma CB) < 1\)

其中 $\rho(\cdot)$ 表示谱半径。这要求学习增益的选择必须使系统矩阵的所有特征值都在单位圆内。

18.1.4 鲁棒ILC设计

实际系统存在模型不确定性和扰动,需要设计鲁棒的ILC算法。考虑带有不确定性的系统:

\[y_k(t) = G(q)[u_k(t)] + d_k(t)\]

其中 $G(q)$ 是带有不确定性的传递算子,$d_k(t)$ 是重复性扰动。

鲁棒ILC设计引入滤波器 $Q(q)$: \(u_{k+1}(t) = Q(q)[u_k(t)] + L(q)[e_k(t)]\)

其中 $Q(q)$ 是鲁棒性滤波器(通常选择为低通滤波器),$L(q)$ 是学习滤波器。

18.1.5 实际应用考虑

初始条件一致性

ILC要求每次迭代的初始条件相同或相近。实际中可以通过:

迭代域稳定性

除了时域稳定性,还需考虑迭代域稳定性:

存储与计算需求

ILC需要存储完整轨迹信息,对于高维系统或长时间任务,存储需求可能很大。解决方案包括:

18.2 强化学习与最优控制的联系

18.2.1 数学框架的统一

强化学习(RL)和最优控制在数学本质上高度相关。考虑连续时间最优控制问题:

\[J = \int_0^{\infty} e^{-\gamma t} r(x(t), u(t)) dt\]

对应的Hamilton-Jacobi-Bellman (HJB)方程为: \(\gamma V(x) = \max_u \{r(x,u) + \nabla_x V(x)^T f(x,u)\}\)

在RL框架下,这对应于连续时间的Bellman方程: \(\gamma V(x) = \max_a \{r(x,a) + \mathbb{E}[\nabla_x V \cdot \dot{x}|x,a]\}\)

两者的核心都是求解值函数 $V(x)$ 和最优策略 $\pi^*(x)$。

18.2.2 方法论对比

方面 最优控制 强化学习
模型要求 需要精确模型 $f(x,u)$ 无需模型,通过交互学习
求解方法 解析/数值求解HJB/Riccati 值迭代/策略梯度/Actor-Critic
收敛保证 理论保证收敛到最优 渐近收敛,依赖于探索
计算复杂度 维数灾难(状态维度) 样本复杂度高
适用范围 简单动态,凸优化问题 复杂环境,非线性系统

18.2.3 线性二次问题的桥梁

线性二次调节器(LQR)问题展示了两种方法的深刻联系。对于系统: \(\dot{x} = Ax + Bu\)

代价函数: \(J = \int_0^{\infty} (x^TQx + u^TRu) dt\)

最优控制解通过代数Riccati方程获得: \(A^TP + PA - PBR^{-1}B^TP + Q = 0\) \(u^* = -R^{-1}B^TPx\)

在RL框架下,可以通过策略迭代求解:

  1. 策略评估:给定策略 $K_k$,求解Lyapunov方程得到值函数
  2. 策略改进:$K_{k+1} = R^{-1}B^TP_k$

两种方法在LQR问题上等价,但RL方法不需要知道系统矩阵 $A, B$。

18.2.4 函数逼近与深度强化学习

当状态空间高维或连续时,需要使用函数逼近。深度强化学习使用神经网络逼近值函数或策略:

\[V(x) \approx V_{\theta}(x) = \text{NeuralNetwork}(x; \theta)\]

这带来了新的挑战:

18.2.5 探索与利用的权衡

最优控制假设模型已知,无需探索。而RL必须平衡探索(收集信息)和利用(优化性能):

控制理论可以指导探索策略设计:

18.3 基于学习的模型预测控制

18.3.1 学习增强的MPC框架

传统MPC依赖精确模型,而实际系统模型往往不完美。基于学习的MPC通过数据改善模型和控制性能:

     ┌─────────────┐
     │  环境/系统  │
     └──────┬──────┘
            │ 数据 (x,u,x')
            ▼
     ┌─────────────┐
     │  模型学习   │ ← 高斯过程/神经网络
     └──────┬──────┘
            │ 预测模型
            ▼
     ┌─────────────┐
     │   MPC优化   │
     │ min J(x,u)  │
     │ s.t. 约束   │
     └──────┬──────┘
            │ 最优控制
            ▼
     返回到系统

18.3.2 高斯过程MPC (GP-MPC)

高斯过程提供了模型不确定性的概率表示,特别适合MPC:

系统模型: \(x_{t+1} = f(x_t, u_t) + w_t\)

其中 $f$ 未知,使用GP建模: \(f \sim \mathcal{GP}(\mu(x,u), k(x,u,x',u'))\)

GP提供预测均值和方差: \(\mu_{t+1} = \mu(x_t, u_t)\) \(\sigma_{t+1}^2 = k(x_t,u_t,x_t,u_t) + \sigma_n^2\)

鲁棒MPC公式化: \(\begin{aligned} \min_{u_0,...,u_{N-1}} & \sum_{t=0}^{N-1} l(x_t, u_t) + V_f(x_N) \\ \text{s.t. } & x_{t+1} = \mu(x_t, u_t) \\ & g(x_t) + \beta \sigma_t \leq 0 \quad \text{(概率约束)} \end{aligned}\)

其中 $\beta$ 控制约束满足的置信度。

18.3.3 神经网络动态模型

深度神经网络可以学习复杂的非线性动态:

\[x_{t+1} = f_{\theta}(x_t, u_t) = \text{DNN}([x_t; u_t]; \theta)\]

训练目标: \(\theta^* = \arg\min_{\theta} \sum_{i=1}^{N} \|x_{i+1} - f_{\theta}(x_i, u_i)\|^2 + \lambda \|\theta\|^2\)

挑战与解决方案:

18.3.4 残差学习与混合模型

结合物理模型和学习模型的优势:

\[x_{t+1} = f_{\text{nom}}(x_t, u_t) + f_{\text{res}}(x_t, u_t)\]

其中:

优点:

18.3.5 在线学习与自适应

实时更新模型以应对系统变化:

递归最小二乘(RLS)更新

对于线性参数化模型: \(P_{t+1} = P_t - \frac{P_t \phi_t \phi_t^T P_t}{\lambda + \phi_t^T P_t \phi_t}\) \(\theta_{t+1} = \theta_t + P_{t+1} \phi_t (y_{t+1} - \phi_t^T \theta_t)\)

在线高斯过程

使用稀疏GP或局部GP模型实现在线更新:

18.4 神经网络控制器的验证

18.4.1 验证的必要性与挑战

神经网络控制器在复杂任务上表现出色,但其黑箱特性带来安全隐患:

验证目标:

  1. 稳定性验证:证明闭环系统稳定
  2. 安全性验证:确保状态始终在安全区域内
  3. 鲁棒性验证:对扰动和不确定性的容忍度
  4. 性能验证:满足性能指标要求

18.4.2 基于Lyapunov的验证方法

寻找Lyapunov函数证明神经网络控制器的稳定性:

对于系统 $\dot{x} = f(x, \pi_{\theta}(x))$,寻找 $V(x)$ 满足:

  1. $V(x) > 0, \forall x \neq 0$
  2. $V(0) = 0$
  3. $\dot{V}(x) = \nabla V^T f(x, \pi_{\theta}(x)) < 0$

方法:

18.4.3 可达性分析

计算系统在神经网络控制下的可达集:

前向可达集: \(\mathcal{R}_t = \{x(t) | x(0) \in \mathcal{X}_0, u(s) = \pi_{\theta}(x(s)), s \in [0,t]\}\)

方法:

18.4.4 形式化验证技术

SMT(Satisfiability Modulo Theories)求解

将验证问题编码为逻辑公式: \(\forall x \in \mathcal{X}_{\text{safe}}: \pi_{\theta}(x) \in \mathcal{U}_{\text{safe}} \land f(x, \pi_{\theta}(x)) \in \mathcal{X}_{\text{safe}}\)

使用SMT求解器(如Z3)验证或找到反例。

抽象解释

构建神经网络的抽象域,过近似网络行为:

18.4.5 验证感知的训练

在训练过程中考虑验证目标:

\[\mathcal{L} = \mathcal{L}_{\text{task}} + \lambda_{\text{verify}} \mathcal{L}_{\text{verify}}\]

其中验证损失可以是:

18.5 案例研究:AlphaGo的蒙特卡洛树搜索与价值网络

18.5.1 问题设定与挑战

围棋的复杂性:

传统方法的局限:

18.5.2 AlphaGo的架构设计

AlphaGo结合了深度学习和树搜索,体现了学习与控制的完美结合:

策略网络 p_σ(a|s) ──┐
                    ├──→ MCTS ──→ 选择动作
价值网络 v_θ(s) ────┘     ↑
                         │
                    快速走子策略 p_π

关键组件:

  1. 策略网络:预测专家走法的概率分布
  2. 价值网络:评估棋盘局面的胜率
  3. MCTS:结合网络输出进行树搜索
  4. 快速走子:轻量级策略用于模拟

18.5.3 蒙特卡洛树搜索(MCTS)算法

MCTS通过模拟来评估动作的价值,是一种在线规划方法:

# MCTS的四个阶段
def mcts_iteration(root):
    # 1. 选择(Selection)
    node = root
    while node.is_fully_expanded() and not node.is_terminal():
        node = select_child(node)  # 使用UCB公式
    
    # 2. 扩展(Expansion)
    if not node.is_terminal():
        child = node.expand()  # 添加新子节点
        node = child
    
    # 3. 模拟(Simulation)
    value = rollout(node)  # 使用快速策略模拟到终局
    
    # 4. 回传(Backpropagation)
    while node is not None:
        node.update(value)  # 更新访问次数和价值估计
        node = node.parent

UCB(Upper Confidence Bound)选择公式: \(a^* = \arg\max_a \left( Q(s,a) + c \sqrt{\frac{\ln N(s)}{N(s,a)}} \right)\)

其中:

18.5.4 神经网络与MCTS的结合

AlphaGo创新性地将神经网络集成到MCTS中:

先验概率指导

使用策略网络输出作为先验: \(P(s,a) = p_{\sigma}(a|s)\)

修改UCB公式: \(a^* = \arg\max_a \left( Q(s,a) + c \cdot P(s,a) \cdot \frac{\sqrt{N(s)}}{1 + N(s,a)} \right)\)

价值估计增强

结合价值网络和模拟结果: \(V(s) = (1-\lambda) v_{\theta}(s) + \lambda v_{\text{rollout}}(s)\)

渐进宽化

限制每个节点的扩展,只考虑高概率动作:

18.5.5 自我对弈与强化学习

AlphaGo Zero完全通过自我对弈学习,展示了强化学习的力量:

训练流程:

  1. 自我对弈:使用当前网络进行MCTS生成对局
  2. 数据收集:记录状态、MCTS改进的策略、最终结果
  3. 网络训练:最小化损失函数 \(\mathcal{L} = (z - v_{\theta}(s))^2 - \pi^T \log p_{\sigma}(s) + c\|\theta\|^2\)
  4. 网络评估:新网络vs旧网络,胜率超过阈值则更新

关键洞察:

18.5.6 控制理论视角的分析

从控制理论角度看AlphaGo:

动态规划联系

MCTS本质上是近似动态规划:

最优性与收敛性

探索与利用

这个案例完美展示了如何将控制理论(树搜索、动态规划)与深度学习(神经网络函数逼近)结合,解决超大规模的序贯决策问题。

18.6 前沿专题:可微分物理仿真与控制协同设计

18.6.1 可微分仿真的概念

传统的物理仿真器是前向计算工具,而可微分仿真器允许通过自动微分计算梯度:

\[\frac{\partial \mathcal{L}}{\partial \theta} = \frac{\partial \mathcal{L}}{\partial x_T} \cdot \frac{\partial x_T}{\partial \theta}\]

其中 $\theta$ 可以是:

关键技术:

18.6.2 控制与设计的联合优化

可微分仿真使得同时优化控制策略和系统设计成为可能:

\[\min_{\theta_{\text{control}}, \theta_{\text{design}}} \mathcal{L}(x, u, \theta_{\text{design}})\]

应用场景:

18.6.3 接触丰富任务的处理

接触和碰撞的不连续性是可微分仿真的主要挑战:

解决方法:

  1. 平滑接触模型:用连续函数近似接触力
  2. 随机平滑:通过随机扰动平滑不连续性
  3. 凸松弛:将接触约束松弛为凸优化问题

示例:抓取任务的可微分建模 \(F_{\text{contact}} = k_n \max(0, -d)^{3/2} + k_t \tanh(v_t/v_0)\)

其中 $d$ 是穿透深度,$v_t$ 是切向速度,使用光滑函数避免不可微点。

18.6.4 实际应用案例

软体机器人控制

利用可微分仿真优化软体机器人的形态和控制:

接触丰富操作

通过可微分仿真学习灵巧操作:

本章小结

本章探讨了学习与控制的深度融合,主要内容包括:

  1. 迭代学习控制(ILC):通过重复执行改善性能,特别适合周期性任务。关键是设计合适的学习律并保证收敛性。

  2. 强化学习与最优控制的联系:两者在数学本质上高度相关,都求解Bellman方程。区别在于模型需求和求解方法。

  3. 基于学习的MPC:使用机器学习方法(GP、神经网络)学习系统模型,提高MPC的适应性和鲁棒性。

  4. 神经网络控制器验证:通过Lyapunov方法、可达性分析、形式化验证等技术,为神经网络控制器提供安全保证。

  5. AlphaGo案例:展示了深度学习与树搜索的完美结合,体现了函数逼近与在线规划的协同。

  6. 可微分仿真:实现控制与设计的联合优化,为复杂系统的协同设计开辟新途径。

关键公式回顾:

练习题

基础题

习题18.1 ILC收敛性分析 考虑线性系统 $y_k = Gu_k$,其中 $G$ 是系统的脉冲响应矩阵。使用P型学习律 $u_{k+1} = u_k + \gamma e_k$。 a) 推导误差的迭代关系 b) 给出收敛的充要条件 c) 如何选择最优的学习增益 $\gamma$?

提示 考虑误差 $e_k = y_d - y_k$,将学习律代入系统方程,分析误差的演化。收敛条件与矩阵 $(I - \gamma G)$ 的谱半径有关。
答案 a) 误差迭代关系: $e_{k+1} = y_d - y_{k+1} = y_d - Gu_{k+1} = y_d - G(u_k + \gamma e_k) = e_k - \gamma Ge_k = (I - \gamma G)e_k$ b) 收敛充要条件: 系统收敛当且仅当 $\rho(I - \gamma G) < 1$,其中 $\rho(\cdot)$ 表示谱半径。 c) 最优学习增益: 最小化收敛速度,选择 $\gamma^* = \frac{2}{\lambda_{\max}(G) + \lambda_{\min}(G)}$,使得收敛速度最快。

习题18.2 LQR与强化学习等价性 证明对于线性系统的LQR问题,策略迭代算法收敛到与代数Riccati方程相同的解。

提示 从任意稳定策略开始,交替进行策略评估(求解Lyapunov方程)和策略改进(贪婪更新),证明序列单调收敛。
答案 策略迭代步骤: 1. 策略评估:给定 $K_i$,求解Lyapunov方程得到 $P_i$ $(A-BK_i)^TP_i + P_i(A-BK_i) + Q + K_i^TRK_i = 0$ 2. 策略改进:$K_{i+1} = R^{-1}B^TP_i$ 3. 单调性:可以证明 $J(K_{i+1}) \leq J(K_i)$,且等号成立当且仅当 $K_i$ 是最优策略 4. 收敛性:由于代价有下界(正定),单调递减序列必然收敛。收敛点满足 $K = R^{-1}B^TP$,其中 $P$ 满足代数Riccati方程。

习题18.3 GP-MPC不确定性传播 在GP-MPC中,如何将单步预测的不确定性传播到多步预测?考虑系统 $x_{t+1} = f(x_t, u_t)$,其中 $f \sim \mathcal{GP}$。

提示 使用矩匹配或粒子方法传播高斯分布通过非线性函数。考虑均值和协方差的递推关系。
答案 不确定性传播方法: 1. **矩匹配(Moment Matching)**: - 输入分布:$x_t \sim \mathcal{N}(\mu_t, \Sigma_t)$ - 预测均值:$\mu_{t+1} = \mathbb{E}[f(x_t, u_t)] \approx \int f(\mu(x), u_t) \mathcal{N}(x|\mu_t, \Sigma_t) dx$ - 预测协方差:$\Sigma_{t+1} = \text{Var}[f(x_t, u_t)] + \Sigma_{\text{noise}}$ 2. **线性化传播**: - 在均值点线性化:$f(x, u) \approx f(\mu, u) + \nabla_x f|_{\mu}(x - \mu)$ - 协方差传播:$\Sigma_{t+1} = \nabla_x f \cdot \Sigma_t \cdot \nabla_x f^T + \sigma^2(x_t, u_t)$ 3. **粒子方法**: - 采样粒子 $\{x_t^{(i)}\}$ 表示分布 - 通过GP传播每个粒子 - 从传播后的粒子估计统计量

挑战题

习题18.4 神经网络Lyapunov函数设计 设计一个算法,同时学习神经网络控制器 $u = \pi_{\theta}(x)$ 和Lyapunov函数 $V_{\phi}(x)$,保证闭环稳定性。

提示 构造联合优化问题,在Lyapunov条件约束下最小化控制代价。使用惩罚方法或拉格朗日方法处理约束。
答案 联合学习算法: 1. **优化目标**: $$\min_{\theta, \phi} \mathbb{E}_{x \sim \mathcal{D}} [l(x, \pi_{\theta}(x))]$$ 约束条件: - $V_{\phi}(x) > 0, \forall x \neq 0$ - $V_{\phi}(0) = 0$ - $\nabla V_{\phi}^T f(x, \pi_{\theta}(x)) < -\alpha V_{\phi}(x)$ 2. **损失函数设计**: $$\mathcal{L} = \mathcal{L}_{\text{control}} + \lambda_1 \mathcal{L}_{\text{positive}} + \lambda_2 \mathcal{L}_{\text{decrease}}$$ 其中: - $\mathcal{L}_{\text{control}} = \mathbb{E}[x^TQx + u^TRu]$ - $\mathcal{L}_{\text{positive}} = \mathbb{E}[\max(0, \epsilon - V_{\phi}(x))]$ - $\mathcal{L}_{\text{decrease}} = \mathbb{E}[\max(0, \dot{V}_{\phi} + \alpha V_{\phi})]$ 3. **训练策略**: - 交替优化:固定 $\theta$ 优化 $\phi$,固定 $\phi$ 优化 $\theta$ - 使用反例采样:重点采样违反Lyapunov条件的状态 - 渐进增加约束权重 $\lambda_1, \lambda_2$ 4. **验证**: - 在训练后使用SMT求解器验证Lyapunov条件 - 如发现反例,将其加入训练集继续优化

习题18.5 MCTS与动态规划的关系 证明:当MCTS的访问次数趋于无穷时,其值估计收敛到动态规划的解。

提示 使用大数定律和递归关系,证明MCTS的值估计收敛到Bellman方程的不动点。
答案 收敛性证明: 1. **MCTS值更新**: $$Q_n(s,a) = \frac{1}{n} \sum_{i=1}^n R_i(s,a)$$ 其中 $R_i$ 是第 $i$ 次模拟的返回值。 2. **大数定律应用**: 当 $n \to \infty$: $$Q_n(s,a) \to \mathbb{E}[R(s,a)] = r(s,a) + \gamma \sum_{s'} P(s'|s,a)V^*(s')$$ 3. **UCB选择收敛性**: UCB项 $c\sqrt{\ln N(s)/N(s,a)} \to 0$ 当 $N(s,a) \to \infty$ 因此动作选择收敛到贪婪: $$\lim_{n \to \infty} \pi_{\text{MCTS}}(s) = \arg\max_a Q^*(s,a)$$ 4. **值函数收敛**: 由于MCTS在每个状态都收敛到最优动作,值估计满足: $$V_{\text{MCTS}}(s) \to V^*(s) = \max_a Q^*(s,a)$$ 这正是动态规划的Bellman最优方程的解。 5. **收敛速度**: 收敛速度为 $O(1/\sqrt{n})$,由中心极限定理决定。

习题18.6 可微分MPC实现 实现一个可微分的MPC控制器,使得可以通过梯度下降优化MPC的超参数(如权重矩阵Q、R)。

提示 使用KKT条件的隐式微分,或者展开优化迭代并通过计算图反向传播。
答案 可微分MPC实现方案: 1. **MPC问题定义**: $$u^* = \arg\min_u \sum_{t=0}^{N-1} (x_t^TQ(\theta)x_t + u_t^TR(\theta)u_t)$$ s.t. $x_{t+1} = Ax_t + Bu_t$ 2. **通过KKT条件求导**: KKT条件: $$\nabla_u L(u^*, \lambda^*) = 0$$ $$g(u^*) = 0$$ 对参数 $\theta$ 求导: $$\begin{bmatrix} \nabla_{uu}L & \nabla_u g^T \\ \nabla_u g & 0 \end{bmatrix} \begin{bmatrix} du/d\theta \\ d\lambda/d\theta \end{bmatrix} = -\begin{bmatrix} \nabla_{u\theta}L \\ \nabla_{\theta}g \end{bmatrix}$$ 3. **展开优化算法**: ```python def differentiable_mpc(x0, theta, num_iterations=100): Q, R = parse_parameters(theta) u = torch.zeros(N, m, requires_grad=True) for _ in range(num_iterations): # 前向模拟 x = rollout(x0, u, A, B) # 计算代价 cost = compute_cost(x, u, Q, R) # 梯度步 grad = torch.autograd.grad(cost, u)[0] u = u - learning_rate * grad return u ``` 4. **端到端训练**: ```python def train_mpc_parameters(theta_init, data): theta = theta_init.requires_grad_(True) optimizer = torch.optim.Adam([theta]) for x0_true, x_desired in data: u = differentiable_mpc(x0_true, theta) x_final = simulate(x0_true, u) loss = ||x_final - x_desired||^2 optimizer.zero_grad() loss.backward() optimizer.step() return theta ``` 5. **实际考虑**: - 使用warm start加速MPC求解 - 限制优化迭代次数以保证可微性 - 添加正则化确保Q、R保持正定

常见陷阱与错误

Gotcha 1:ILC的初始条件敏感性

问题:ILC假设每次迭代初始条件相同,实际中很难保证。 解决

Gotcha 2:神经网络控制器的分布偏移

问题:训练分布与部署分布不同导致性能下降。 解决

Gotcha 3:GP-MPC的计算复杂度

问题:GP的计算复杂度为O(n³),不适合实时控制。 解决

Gotcha 4:强化学习的样本效率

问题:纯RL方法需要大量交互数据,实际系统难以承受。 解决

Gotcha 5:验证的保守性

问题:形式化验证方法往往过于保守,限制了性能。 解决

Gotcha 6:可微分仿真的数值稳定性

问题:长时间仿真的梯度可能爆炸或消失。 解决

最佳实践检查清单

系统设计阶段

算法选择

学习组件设计

验证与测试

部署与维护

性能优化