Open Problems & Research Gaps
What is still unsolved in safe learning as of autumn 2026, organised by research line. Each problem comes with a plain-language explanation, its notation and a worked example, and links to the place in these notes where its background is taught
Every problem below explains its own symbols, and Section 2 collects all notation in one table. For the full background, these sections are the best entry points:
- Types of guarantees and what they assume (Module 1)
- The gap between safe-BO theory and practice (Module 5)
- The LipSDP certificate (Module 12)
- The unified safety-filter view (Module 10)
- Deterministic vs probabilistic guarantees (Module 15)
1. How to Read This Page
Reading this for the first time? Choose one problem connected to a module you have studied. Read its plain-language explanation and worked example, then follow its background links before tackling the formal question. These are research directions; use the graded exercises in the primers and modules to check your understanding first.
The fifteen modules present what is known. This page collects what is not known: the problems that the papers behind the modules, and the surveys and reviews that summarise them, name as open.
Every problem has the same parts, in the same order:
- The question (blue box): the problem, as precisely as the current literature allows.
- In plain words: the same problem without formulas, and why anyone should care.
- Symbols: every symbol the problem uses, with its meaning. The complete list is in Section 2.
- What is known: the best current results, with citations.
- Why it is hard: the mathematical obstacle.
- Worked example (click to open): a small calculation with concrete numbers that shows the difficulty. Unless a paper is cited, the numbers are invented for illustration. Every number has been recomputed by a script.
- Where in these notes and Possible directions: the sections that teach the background, and routes that look promising. The directions are suggestions, not results.
Problems are numbered by research line:
- T: the Trimpe line, safe exploration and learning-based control;
- P: the Pauli line, certified networks via robust control;
- R: constrained deep RL;
- F: safety filters;
- S: statistical guarantees;
- B: bridges between the Trimpe and Pauli lines.
2. Notation Used on This Page
The problems come from five literatures, and each has its own notation. The table lists every symbol used below, what it means, a tiny example, and where it is taught. Keep this section open in a second tab while reading.
| Symbol | Meaning | Example | Taught in |
|---|---|---|---|
| General | |||
| $x \in D$, $x \in X$ | An input that you may try (in BO), or the state of a system (in control). $D$ is the set of allowed inputs, $X$ the state space. | $x$ = a controller gain, $D = [0, 5]$ | Primer 0 §1 |
| $f$ | The unknown function in BO, the dynamics in control, or the network in verification. Each problem says which. | $f(x)$ = tracking error of gain $x$ | Module 4 §1 |
| $\|v\|_2$, $\|v\|_\infty$ | Length of a vector: square root of the sum of squares; largest absolute entry. | $v = (3, -4)$: $\|v\|_2 = 5$, $\|v\|_\infty = 4$ | Primer A §1 |
| $O(\cdot)$, $\tilde O(\cdot)$ | "Grows at most like", up to a constant factor. The tilde also ignores logarithmic factors. | $3T^2 + 5T = O(T^2)$, $\ T\log T = \tilde O(T)$ | Primer 0 §7 |
| $\mathbb E[\cdot]$, $\mathbb P(\cdot)$ | Expectation (the average value) and probability. | Fair die: $\mathbb E[X] = 3.5$, $\mathbb P(X \ge 5) = 1/3$ | Primer C §1 |
| $\delta$ | Allowed failure probability of a guarantee: with probability at least $1 - \delta$ the statement holds. | $\delta = 0.01$: fails with probability at most 1% | Primer C §6 |
| $\varepsilon$ | A small tolerance ("$\varepsilon$-optimal" = within $\varepsilon$ of the best value), or the size of an input perturbation. | $\varepsilon$-optimal with $\varepsilon = 0.1$ | Primer 0 §4 |
| Gaussian processes and safe BO | |||
| $k(x, x')$ | Kernel: how similar the function values at $x$ and $x'$ are expected to be. | SE kernel $e^{-(x - x')^2/2}$: $k(0, 1) = 0.61$ | Module 3 §1 |
| $\mathcal H_k$, $\|f\|_k$ | The RKHS: functions built from kernel bumps $k(\cdot, x_i)$. Its norm measures how large and how wiggly $f$ is, in the kernel's terms. | $f = 2\,k(\cdot, 0)$ has $\|f\|_k = 2$ when $k(0,0)=1$ | Module 3 §1 |
| $B$ | An assumed upper bound $\|f\|_k \le B$. It bounds the norm, not the squared norm. | $B = 2$ | Module 3 §5 |
| $\mu_t(x)$, $\sigma_t(x)$ | GP posterior mean and standard deviation after $t$ measurements. | — | Module 3 §2 |
| $\beta_t$ | Width of the confidence band in standard deviations: $f(x) \in [\mu_t(x) - \beta_t\sigma_t(x),\ \mu_t(x) + \beta_t\sigma_t(x)]$. | $\mu = 1$, $\sigma = 0.2$, $\beta = 2$: $[0.6, 1.4]$ | Module 3 §5 |
| $l_t(x)$, $u_t(x)$ | Lower and upper confidence bounds. In SafeOpt they are the ends of the running intersection of all bands so far, so they can only tighten over time. | Bands $[0, 2]$, then $[1, 3]$: $l = 1$, $u = 2$ | Module 4 §2 |
| $h$ (in BO) | Safety threshold: input $x$ is safe if $f(x) \ge h$. | $h = 0$ | Module 4 §1 |
| $S_t$, $G_t$, $M_t$ | Safe set (inputs certified safe after $t$ steps); expanders (safe inputs whose measurement could certify new ones); maximisers (safe inputs that could be optimal). | — | Module 4 §2 |
| $L$ | Lipschitz constant: $|f(x) - f(x')| \le L\,d(x, x')$, a speed limit on how fast $f$ can change. | $f(x) = 3x$: $L = 3$ | Primer B §3 |
| $E$ | LoSBO's noise bound: every measurement error satisfies $|\epsilon_t| \le E$. | $E = 0.1$ | Module 5 §3 |
| $\gamma_T$ | Maximum information gain: the most a GP can learn about $f$ from $T$ noisy measurements. Grows like $(\log T)^{d+1}$ for the SE kernel in $d$ dimensions. | $\gamma_T \approx 85$ at $T = 10^4$, $d = 1$ (constants ignored) | Module 3 §4 |
| $R_T$ | Cumulative regret $\sum_{t=1}^{T}\big(f(x^\star) - f(x_t)\big)$: total shortfall against the best input $x^\star$. "Sublinear" means $R_T/T \to 0$. | $R_T = 2\sqrt T$ is sublinear | Primer E §1 |
| Reinforcement learning and CMDPs | |||
| $s$, $a$, $\pi$ | State, action, and policy (the rule that picks $a$ given $s$). | — | Primer E §2 |
| $r$, $c$, $\gamma$ | Reward, cost, and discount factor in $(0, 1)$: a reward $t$ steps ahead counts $\gamma^t$ times as much. | $\gamma = 0.99$: 100 steps ahead counts $0.99^{100} = 0.37$ | Primer E §2 |
| $V^\pi$, $J_r(\pi)$, $J_c(\pi)$, $d$ | Value function; expected discounted reward $J_r(\pi) = \mathbb E\big[\sum_t \gamma^t r(s_t, a_t)\big]$ and cost $J_c(\pi)$ (the same with $c$ in place of $r$); the cost limit in the constraint $J_c(\pi) \le d$. | $d = 0.05$ crashes per episode | Module 8 §1 |
| $\lambda$ (in RL) | Lagrange multiplier: the price per unit of cost in $J_r(\pi) - \lambda\,(J_c(\pi) - d)$. | $\lambda = 1$ | Module 8 §3 |
| $\mathrm{CVaR}_\alpha$ | Conditional value at risk: the average of the worst $(1 - \alpha)$ fraction of outcomes. | $\alpha = 0.9$: average of the worst 10% | Primer C §9 |
| $X_V$, $X_U$, $T_f$ | Viability kernel (states from which failure can be avoided forever); the unviable states outside it; maximum time to failure once in $X_U$. | — | Module 7 §1 |
| $p$, $p^\star$, $\tau$ | Failure penalty, its sufficient threshold, and the discount time constant in continuous time (weight $e^{-t/\tau}$). | $\tau = 1$ s | Module 7 §4 |
| Control | |||
| $\dot x = f(x) + g(x)u$ | Control-affine dynamics: the input $u$ enters linearly. $\dot x$ is the time derivative of $x$. | $\dot x = u$ | Primer D §1 |
| $h(x)$, $\mathcal C$ (in control) | Barrier function and safe set $\mathcal C = \{x : h(x) \ge 0\}$. | $h(x) = x$: stay at $x \ge 0$ | Module 10 §2 |
| $\alpha(\cdot)$ | Class-$\mathcal K$ function: continuous, strictly increasing, $\alpha(0) = 0$. | $\alpha(h) = 2h$ | Primer D §4 |
| $V(x)$ | Lyapunov function: an energy-like function that decreases along trajectories. | $V(x) = x^2$ | Primer D §3 |
| $A$, $B$, $C$, $D$ | State-space matrices: $x_{t+1} = Ax_t + Bu_t$, $y_t = Cx_t + Du_t$. | See P5 | Primer D §8 |
| $M \succeq 0$, $M \preceq 0$, $M \succ 0$ | Matrix inequalities for symmetric $M$: all eigenvalues $\ge 0$, $\le 0$, or $\gt 0$. | $\mathrm{diag}(1, 2) \succ 0$ | Primer A §4 |
| LMI, BMI, SDP | Linear matrix inequality: $M(z) \preceq 0$ with $M$ affine in the unknowns $z$ (convex, solvable). Bilinear: products of unknowns appear (non-convex). SDP: an optimisation problem with LMI constraints. | See P3 | Module 2 §2 |
| Certified neural networks | |||
| $W_i$, $b_i$, $\varphi$ | Weights, biases and activation function of layer $i$. | $\mathrm{ReLU}(v) = \max(v, 0)$ | Primer E §7 |
| $[\alpha, \beta]$ (slope) | Slope restriction: every chord of $\varphi$ has slope between $\alpha$ and $\beta$. | ReLU: $[0, 1]$ | Module 12 §3 |
| $\Delta v$, $\Delta z$ | Increments between two inputs: $\Delta v = v - \bar v$ before and $\Delta z = \varphi(v) - \varphi(\bar v)$ after the activation. | See P2 | Module 12 §3 |
| $T = \mathrm{diag}(\lambda_i)$ | Multiplier matrix: one nonnegative weight per neuron in LipSDP. | — | Module 12 §4 |
| $L^\star$ | The true Lipschitz constant of a network: the smallest valid $L$. | $\sqrt5$ in P1 | Module 12 §1 |
| Clean / certified accuracy | Fraction of test inputs classified correctly / classified correctly and provably unchanged for every perturbation up to radius $\varepsilon$. | 57.0% / 41.2% (P4) | Module 13 §6 |
| $\varepsilon = 36/255$ | Perturbation radius for images with pixel values in $[0, 1]$: 36 of the 255 brightness levels. | $36/255 = 0.141$ | Module 13 §6 |
| Statistics | |||
| $R^{(p)}$ | The $p$-th smallest of a list of scores (an order statistic). | Scores $3, 1, 2$: $R^{(2)} = 2$ | Module 15 §5 |
| Exchangeable | The joint distribution of the data does not change when they are reordered. Independent, identically distributed data are exchangeable. | — | Primer C §10 |
| $\Phi$, $\Phi^{-1}$ | Cumulative distribution function of the standard normal distribution, and its inverse (the quantile function). | $\Phi^{-1}(0.9) = 1.28$ | Primer C §4 |
| $\sigma$ (smoothing) | Standard deviation of the noise added in randomized smoothing. | $\sigma = 0.5$ | Module 15 §4 |
- $h$ is a safety threshold in BO ($f(x) \ge h$) but a barrier function $h(x)$ in control.
- $\gamma$ is the discount factor in RL, while $\gamma_T$ is the maximum information gain in BO.
- $\beta_t$ is the confidence width in BO, while $[\alpha, \beta]$ is the slope range of an activation.
- $\lambda$ is the Lagrange multiplier in constrained RL, while $\lambda_i$ are the neuron multipliers inside $T$ in LipSDP.
- $T$ is a number of rounds or steps, the multiplier matrix in LipSDP, and (with subscript) the time to failure $T_f$.
- $\sigma_t(x)$ is the GP standard deviation; $\sigma$ alone is the smoothing noise level.
- $B$ and $\mathcal C$ are the RKHS bound and the safe set; plain $B$ and $C$ in a state-space model are matrices.
Interactive: Problem Map
Each row is an open problem, each column a module. A dot means the problem builds on that module. Filter by research line; click a row label to jump to the problem, or a column header to open the module.
3. Safe Exploration with Checkable Assumptions (Trimpe line)
The Trimpe group's recent work (RWTH Aachen, DSME) argues that a safety guarantee should rest only on assumptions a user can check. Their "On Safety in Safe Bayesian Optimization" paper made that concrete. They tested 100 functions with 10,000 runs each. SafeOpt with the common heuristic $\beta \equiv 2$ violated the safety constraint in 3.95% of runs on average, and in 28.62% of runs on the worst function (Fiedler et al., TMLR 2024). The problems below are what remains after that analysis.
T1Checkable regularity and noise assumptions
In plain words. Safe BO decides that an untested input is safe by reasoning: "the function cannot change too much between the points I measured and this new point". To make "too much" precise, SafeOpt assumes the function is not too wiggly, in a sense set by the kernel, and that you know a number $B$ that bounds this wiggliness. Nobody can look at a robot and read off $B$. Guess it too small and the guarantee silently fails; guess it too large and the algorithm is so cautious that it barely explores.
- $f$: the unknown function, for example the performance of a controller with parameters $x$; $h$: the safety threshold ($f(x) \ge h$ is safe).
- $k(x, x') = e^{-(x - x')^2/2}$: the squared-exponential (SE) kernel used in the example.
- $\|f\|_k$: the RKHS norm of $f$; $B$: the assumed bound $\|f\|_k \le B$.
- $\langle g, k(\cdot, x)\rangle = g(x)$: the reproducing property. Evaluating a function at $x$ is the same as taking its inner product with the kernel bump centred at $x$.
- $L$, $E$: the Lipschitz constant and noise bound that LoSBO uses instead of $B$.
What is known.
- LoSBO replaces the RKHS bound by a Lipschitz constant $L$ and a hard noise bound $E$ (Fiedler et al., TMLR 2024). Gaussian noise, the default noise model, violates any hard bound $E$.
- Data-driven over-estimates of the RKHS norm exist, but they need strong assumptions: Tokmak et al., AISTATS 2025; the PAC variant PACSBO (Tokmak, Schön & Baumann, SysDO 2024); and a 2026 sampling-based estimator based on superconvergence (Wenzel, Tokmak & Fiedler, arXiv 2026).
- Adapting kernel hyperparameters during a run invalidates standard bounds. Capone, Lederer & Hirche (ICML 2022) handle unknown hyperparameters under a hierarchical Bayesian model.
Why it is hard. No finite data set can bound $\|f\|_k$ from above. If the RKHS is infinite-dimensional, some nonzero function $g$ vanishes at every sampled point: take any direction orthogonal to $\operatorname{span}\{k(\cdot,x_1),\dots,k(\cdot,x_n)\}$, since $g(x_i) = \langle g, k(\cdot,x_i)\rangle = 0$. Then $f + c\,g$ fits the data exactly for every number $c$, and its norm grows without bound as $c$ grows. Any norm estimate therefore needs an extra assumption about which functions are plausible.
Use the SE kernel and two noise-free measurements, at $x_1 = 0$ and $x_2 = 1$. We build a function $g$ in the RKHS that is zero at both points but not in between.
Step 1: the shape. Start from a kernel bump centred between the data and subtract bumps at the data points, with the same weight $a$ on both (by symmetry):
Step 2: make it vanish at the data. Using $k(0, 0.5) = e^{-1/8} = 0.8825$ and $k(0, 1) = e^{-1/2} = 0.6065$,
By symmetry $g(1) = 0$ as well.
Step 3: the value in the middle. $g(0.5) = 1 - 2a\,e^{-1/8} = 1 - 2(0.5493)(0.8825) = 0.0305$.
Step 4: the norm. Expand $\|g\|_k^2 = \langle g, g\rangle$ along the three bumps of $g$ and use the reproducing property:
so $\|g\|_k = 0.1745$.
Step 5: two explanations of the same data. Suppose you measured $f(0) = f(1) = 0$, and the true function is $f \equiv 0$, with norm 0. The function $f_c = c\,g$ produces exactly the same measurements for every number $c$. For $c = -100$ it has $f_c(0.5) = -3.05$ and $\|f_c\|_k = 17.45$.
What it means for safety. With threshold $h = -1$, the data fit a function that is safe everywhere ($f \equiv 0$) and one that is unsafe at $x = 0.5$ ($-3.05 \lt -1$). Only the assumed bound $B$ can separate them. The noise-free error bound of Module 3 §3 says $|f(x) - \mu(x)| \le \|f\|_k\,\sigma(x)$. Here the posterior mean is $\mu(0.5) = 0$ and the noise-free posterior standard deviation is $\sigma(0.5) = 0.1745$. That equals $\|g\|_k$, because $g/\|g\|_k$ is exactly the worst-case function of norm 1. So the guarantee is $f(0.5) \ge -0.1745\,B$:
- with $B = 1$: $f(0.5) \ge -0.17 \gt -1$, so $x = 0.5$ is certified safe, and $f_c$ is ruled out because its norm is above 1;
- with $B = 20$: $f(0.5) \ge -3.49$, so $x = 0.5$ cannot be certified, and $f_c$ is still possible.
The measurements are identical in both cases. The decision rests entirely on $B$, a number the data cannot supply.
Where in these notes. Module 3 §7, Module 4 §3, Module 5 §1, Module 5 §7.
Possible directions. Derive Lipschitz or Hölder moduli from physics or from certified models (see B1). Use bounded-noise models calibrated from sensor specifications. Build confidence sets that degrade gracefully under misspecification rather than failing silently.
T2Exploration guarantees for Lipschitz-only safe BO
In plain words. LoSBO is safe for a simple reason: a function with Lipschitz constant $L$ cannot drop faster than slope $L$, so one good measurement certifies a whole interval around it. But being safe is not the same as making progress. The safe region only grows if the algorithm measures near its edge and finds good values there. LoSBO lets a GP choose where to measure, and nothing in the safety proof forces that choice to push the edge outward.
- $S_t$: LoSBO's safe set after $t$ measurements; $y_i$: the measured value at input $x_i$; $d(x, x')$: the distance between inputs, here $|x - x'|$.
- Each measurement certifies an interval of radius $r_i = (y_i - E - h)/L$ around $x_i$ (empty if this is negative).
- $\varepsilon$-optimal: within $\varepsilon$ of the best value in the part of the safe region that can be reached from the starting set.
What is known. Safety is proved (Proposition 1 of Fiedler et al., TMLR 2024). The authors point out that SafeOpt's exploration proof relies on the GP model interacting with the safety mechanism, which is exactly what LoSBO removes. They suspect that pathological situations exist in which LoSBO fails to explore properly, although none appeared in their experiments, and they leave (conditional) exploration guarantees to future work.
Why it is hard. In SafeOpt the safe set grows exactly when the GP lower bound at an expander rises. Uncertainty sampling shrinks that bound's width, and this coupling is the engine of the proof. In LoSBO the safe set grows only from measured values minus $E$. The GP decides where to sample but no longer controls how the safe set grows, so the old argument has nothing to hold on to.
Take inputs $D = [-3, 3]$, threshold $h = 0$, Lipschitz constant $L = 2$ and noise bound $E = 0.1$. A measurement $y_i$ at $x_i$ certifies every $x$ with $y_i - E - L|x - x_i| \ge h$, because
That is an interval of radius $r_i = (y_i - E - h)/L$ around $x_i$.
- Start. $x_1 = 0$, $y_1 = 1.0$: $r_1 = (1.0 - 0.1)/2 = 0.45$, so $S = [-0.45, 0.45]$.
- Measure at the edge. $x_2 = 0.45$, $y_2 = 0.9$: $r_2 = 0.40$ certifies $[0.05, 0.85]$, and the safe set grows to $S = [-0.45, 0.85]$.
- Measure inside instead. $x = 0.2$, $y = 1.2$: $r = 0.55$ certifies $[-0.35, 0.75]$, which is already inside $S$. Nothing grows, even though this is the best value measured so far.
Growth needs measurements near the boundary with values clearly above $h + E$. A badly misspecified GP (for example, one whose length scale is far too long) can keep proposing interior points like $x = 0.2$, and then the safe set stops growing. Safety is never at risk, but optimality is: if the optimum lies at $x = 2$, LoSBO never gets there. SafeOpt's proof excludes this by assuming that the GP's confidence intervals are correct, which LoSBO deliberately does not assume.
Where in these notes. Module 4 §3, Module 5 §3.
Possible directions. Prove exploration guarantees that hold only when the GP happens to be well specified, while keeping safety unconditional. Design acquisition rules that force expansion from the Lipschitz cones alone.
T3Tight online confidence bounds and the price of safety
In plain words. Regret measures the total price of learning: how much worse your choices were, summed over all rounds, than always picking the best input. A good algorithm has regret that grows more slowly than the number of rounds, so its average loss per round goes to zero. The open questions are how fast regret can shrink with GP models, and how much extra a hard safety constraint costs, since it may stop the learner from trying the inputs that would teach it the most.
- $x^\star$: the best input; $R_T = \sum_{t=1}^{T}\big(f(x^\star) - f(x_t)\big)$: cumulative regret after $T$ rounds. Sublinear: $R_T/T \to 0$.
- $\gamma_T$: the maximum information gain (not the discount factor).
- $O(\cdot)$, $\tilde O(\cdot)$: growth up to constant factors, and up to constant and logarithmic factors.
- $\nu$, $d$: the smoothness parameter of a Matérn kernel, and the input dimension.
What is known.
- Whether confidence intervals for adaptively collected data can be made as tight as for independent data was posed as a COLT open problem (Vakili, Scarlett & Javidi, COLT 2021).
- The standard analysis of GP-UCB gives regret $O(\gamma_T\sqrt T)$. That is a factor $\sqrt{\gamma_T}$ worse than the $\tilde O(\sqrt{\gamma_T T})$ of more complicated algorithms, and for Matérn kernels it does not even guarantee sublinear regret.
- Whitehouse, Ramdas & Wu (NeurIPS 2023) show that GP-UCB with carefully chosen regularisation has sublinear regret for every kernel with polynomial eigendecay, which partially resolves the problem. Flynn & Reeb (AISTATS 2025) tighten the bounds further.
- Under hard per-step safety, most safe-BO results bound simple regret or sample complexity relative to the reachable safe set. Cumulative regret is understood only with extra structure. For linear rewards and constraints with a known safe action, Safe-LUCB has regret $\tilde O(\sqrt T)$ when a positive safety gap is known and $\tilde O(T^{2/3})$ otherwise, and its authors leave open whether $T^{2/3}$ can be improved (Amani et al., NeurIPS 2019). With a known safe baseline arm, Khezeli & Bitar (AAAI 2020) obtain $O(\sqrt T\log T)$.
Why it is hard. Even if the measurement noise is independent, each new input is chosen using earlier noisy measurements, so the inputs depend on the noise. Confidence bounds must therefore use martingale and self-normalised arguments, which pay for this dependence. Hard safety also stops the learner from sampling where information is highest, so the usual exploration arguments break.
Ignore constants and take the SE kernel in one dimension, where $\gamma_T$ grows like $(\log T)^2$. After $T = 10{,}000$ rounds, $\gamma_T \approx (\ln 10^4)^2 = 84.8$.
- Standard GP-UCB bound: $\gamma_T\sqrt T \approx 84.8 \times 100 = 8{,}483$.
- Better rate: $\sqrt{\gamma_T T} \approx \sqrt{848{,}000} = 921$.
The ratio is $\sqrt{\gamma_T} \approx 9.2$: the guarantee is about nine times weaker than what more complicated algorithms achieve.
For a Matérn kernel the gap is qualitative. There $\gamma_T$ grows like a power of $T$, namely $T^{d/(2\nu + d)}$ up to logarithmic factors. With $\nu = 1/2$ and $d = 1$ this is $T^{1/2}$, so
A regret bound of order $T$ allows a constant loss in every round: it does not prove that GP-UCB learns at all. The better rate $T^{3/4}$ is still sublinear.
For the price of safety, compare Safe-LUCB's two rates at $T = 10^6$: $\sqrt T = 1{,}000$ when a positive safety gap is known, and $T^{2/3} = 10{,}000$ otherwise. Whether the second can be improved is open.
Where in these notes. Module 3 §5, Module 4 §6, Primer C (martingales), Primer E (regret).
T4Rigorous safety with learned, high-dimensional models
In plain words. GP-based safe exploration works on small problems, such as tuning five controller gains. Modern robots learn neural-network models of their own dynamics, in hundreds of dimensions. To keep a safety guarantee you must know how wrong the learned model can be everywhere the robot might go. Neural networks do not come with such error bounds. The usual stand-in, disagreement within an ensemble of networks, can be small exactly where all members are wrong in the same way.
- Ensemble: several networks $\hat f_1, \dots, \hat f_K$ trained on the same data. Their spread (standard deviation) is used as an estimate of the model's uncertainty.
- Certain set $\mathcal C_j$: in UPSi, the state–action pairs where the ensemble is trusted in episode $j$.
- Control-affine dynamics: $\dot x = f(x) + g(x)u$, where the input enters linearly.
What is known.
- UPSi (Frauenknecht et al., RLC 2026) builds a predictive safety filter on a probabilistic ensemble. Its guarantees assume, among other things, that inside a "certain set" the ensemble never underestimates the process noise and has negligible bias, and that its noise estimate and certain set improve monotonically from episode to episode. None of these is easy to verify.
- Dyna-SAuR (Eisele et al., arXiv 2026) reports two orders of magnitude fewer training failures than state-of-the-art baselines on CartPole and MuJoCo Walker. Its filter restricts actions to a learned, state-dependent halfspace, a form the paper motivates with control-affine dynamics. A single halfspace need not describe the set of safe actions exactly.
- GoSafeOpt (Sukhija et al., AIJ 2023) obtains its backups from the Markov property, so it needs measurements of the full state (noise-free in the paper's main analysis).
- HdSafeBO (Wei et al., CoRL 2024) scales to problems with a few hundred dimensions, under probabilistic safety constraints.
Why it is hard. A safety guarantee needs a uniform error bound on the model over every state the system might visit. Neural networks come with no such bound: ensembles can agree with each other and all be wrong.
The true dynamics map is $f(x) = \min(2x, 2)$: linear up to $x = 1$, then flat, as when an actuator hits its limit. Data were collected only on $[0, 1]$, where $f(x) = 2x$. Three smooth models fit those data to within $0.02$:
At $x = 3$, outside the data, they predict $6.00$, $6.18$ and $5.82$. Their spread (standard deviation) is $0.15$, so the ensemble looks confident. The truth is $f(3) = 2$: the error is $4$, more than 25 times the spread.
A certain set defined by "spread below $0.2$" would include $x = 3$. This is why UPSi needs assumptions such as negligible bias inside its certain set. Disagreement measures how differently the members extrapolate, not how far they are from the truth.
Where in these notes. Module 6 §5, Module 7 §6, Module 10 §9.
Possible directions. Use certified model classes, for example Lipschitz-bounded networks (Module 13 §1), so that model error can be propagated rigorously. Combine them with statistical validation on held-out rollouts (Module 15 §6).
T5Safety when the system changes
In plain words. A safe set learned yesterday may be unsafe today: friction changes, a payload is added, a part wears out. A learner must either notice the change before it matters, or keep a margin that covers every change that could have happened since its last measurement. Both are possible only if you know something about how fast, or how often, the system can change.
- $t$: time step; $c(x, t)$: the constraint value of input $x$ at time $t$ (safe if $c(x, t) \ge 0$).
- $L_t$: an assumed bound on the drift per step, $|c(x, t+1) - c(x, t)| \le L_t$.
- Event trigger: a test that fires when new measurements disagree with the model's error bound, and then resets the data.
What is known.
- ET-GP-UCB (Brunzema et al., TMLR 2025) and event-triggered SafeOpt (Holzapfel, Brunzema & Trimpe, L4DC 2024) reset data and safe sets when a trigger based on a GP error bound fires. The triggers test consistency only at queried inputs, and they trade detection delay against false alarms. In the quadcopter experiments the trigger threshold is additionally rescaled by hand (Eq. 7 of Holzapfel et al.).
- TVSafeOpt (Li et al., NeurIPS 2024) avoids explicit change detection. It models time with a spatio-temporal kernel, lets the safe set shrink, and proves high-probability safety. This needs a known bound on how fast the functions change, and Lipschitz constants in both input and time. Its near-optimality guarantee holds only once the problem becomes stationary again.
Why it is hard. A change can happen where you are not sampling, and safety requires noticing it before it matters. Guarantees that let the safe set shrink exist when the rate of change is known. Drift without a known rate, and abrupt changes away from the sampled inputs, have no satisfactory treatment yet.
You measured $c(x, 0) = 0.30$ at some input $x$ (noise-free, to keep it simple). If the drift per step is at most $L_t = 0.01$, then after $k$ steps without a new measurement the value is at least $0.30 - 0.01k$.
- After 10 steps the guaranteed value is $0.20$: still certified safe.
- After 30 steps it is $0$, the last step at which $x$ is still certified (safety means $c \ge 0$). From step 31 on the bound is negative, so $x$ must be measured again or dropped from the safe set. This is how a safe set can shrink over time.
Now suppose the true drift is $0.02$ per step but the learner assumed $0.01$. After 20 steps the learner's bound says $0.30 - 0.20 = 0.10$, safe. The true value may already be $0.30 - 0.40 = -0.10$, unsafe. The certificate is wrong, and nothing in the data warned about it, because $x$ was not measured again. An event trigger would catch the change only if the learner happened to sample near $x$.
Where in these notes. Module 5 §6, Primer C (hypothesis tests).
T6A theory of robust safety in RL
In plain words. One way to make an RL agent safe without writing explicit constraints is to punish failure: a large negative reward $-p$ when the system crashes. If $p$ is large enough, an optimal agent never chooses an action that leads to a crash. The question is how large is large enough. Future rewards are discounted, so a crash that happens late counts for little. When the crash comes long after the decisive mistake, the penalty therefore has to be enormous.
- $X_V$: the viability kernel; $X_U$: the unviable states outside it, which fail whatever you do.
- $T_f$: the maximum time from leaving $X_V$ to the actual failure.
- $\tau$: the discount time constant. A reward at time $t$ is weighted by $e^{-t/\tau}$ (continuous time). In discrete time the weight is $\gamma^t$.
- $p$, $p^\star$: the failure penalty, and the threshold above which optimal policies are safe.
- $V(x)$: here a value function, not a Lyapunov function. It is the best expected discounted return from $x$ among controllers that never fail; $\inf_{X_V} V$ is its smallest value over the viable states. $R_{X_U}$ is the best reward rate available while already doomed.
What is known.
- Suppose every trajectory that leaves the viability kernel fails within a uniform time $T_f$. Then a finite penalty threshold $p^\star$ exists: any larger failure penalty makes the optimal policies safe. The sufficient threshold that Massiani et al. derive grows like $e^{T_f/\tau}$ in continuous time, or $\gamma^{-T_f}$ in discrete time, and $T_f$ is usually unknown (Massiani et al., TAC 2023).
- With entropy regularisation no finite penalty is exact, and only a relaxed ("$\delta$-") notion of safety is available (Massiani et al., ECML-PKDD 2025).
- The robustness of SAC-style agents to action noise is documented empirically, not proved.
Why it is hard. A penalty paid at the moment of failure is discounted by the time it takes to fail. The known sufficient thresholds therefore grow exponentially with $T_f$ relative to the discount time scale. Such large penalties make learning numerically hard and exploration conservative.
Module 7 gives the threshold in continuous time:
Take $\tau = 1$ s, a reward rate of at most $R_{X_U} = 1$ while doomed, and $\inf_{X_V} V = 0$. Then $p^\star = e^{T_f} - 1$:
| Time to failure $T_f$ | 2 s | 5 s | 10 s |
|---|---|---|---|
| Threshold $p^\star$ | 6.4 | 147.4 | 22,025.5 |
A robot that needs 10 s to fall after the point of no return requires a penalty 22,000 times its reward rate. In discrete time the threshold contains the factor $\gamma^{-T_f}$. With $\gamma = 0.99$ this factor is $2.7$ for $T_f = 100$ steps, $152$ for $500$ steps and about $23{,}000$ for $1{,}000$ steps.
Such a penalty dominates the value function: small relative errors in learning the penalty term are larger than the whole task reward. Note that $p^\star$ is a sufficient threshold. For a specific problem, a smaller penalty may happen to work.
Where in these notes. Module 7 §4, Module 7 §5, Module 8 §3.
T7Benchmarks for safe controller tuning
In plain words. Papers evaluate their algorithms on their own test problems with their own metrics, so results are hard to compare. Safe tuning adds a twist: an algorithm that finds a slightly better controller but crashes the robot twice may be worse than a cautious one. Which one is "better" depends on what you measure.
What is known. The group's 2026 tutorial and review calls the lack of standardised benchmark problems for control applications a significant gap. It starts a lightweight benchmark suite for control engineering and robotics, and proposes metrics and best practices for comparing algorithms (Stenger et al., arXiv 2026, under review).
Why it is hard. Real hardware is slow and expensive, so benchmarks must be cheap simulations that still capture what makes control hard: noise, delays, constraints and crashes. And the metric itself is a design choice, as the example shows.
Two tuning algorithms each run 20 times on the same simulated robot:
| Algorithm | Final performance (fraction of optimum) | Runs with at least one crash | Experiments per run |
|---|---|---|---|
| A | 0.95 | 2 of 20 | 50 |
| B | 0.90 | 0 of 20 | 80 |
By final performance A wins. By safety B wins. By cost A wins again. A benchmark has to fix the metrics, and the trade-off between them, before the comparison. Otherwise each paper can choose the metric that favours its own method.
Where in these notes. Module 4 §5.
4. Certified Neural Networks via Robust Control (Pauli line)
Patricia Pauli's work (PhD in Stuttgart with Frank Allgöwer, now at TU/e) treats a neural network as a feedback system. Its nonlinearities are described by quadratic constraints, and its robustness is certified with LMIs, from LipSDP-constrained training to LipKernel. The open problems here are about making these certificates tighter, larger and usable for synthesis.
P1Certificates that are both tight and scalable
In plain words. A Lipschitz constant $L$ of a network bounds how much its output can change when its input changes: $\|f(x) - f(x')\|_2 \le L\,\|x - x'\|_2$. Computing the smallest such $L$ exactly is NP-hard, so we compute upper bounds instead. Cheap bounds are very loose. Tight bounds such as LipSDP solve a semidefinite program whose size grows with the number of neurons, and that soon becomes too expensive. The goal is bounds that are both tight and cheap for real network sizes and architectures.
- $f(x) = W_1\,\varphi(W_0x + b_0) + b_1$: a network with one hidden layer.
- $\|W\|_2$: the spectral norm of a matrix, its largest singular value. It is the most the matrix can stretch a vector.
- $L^\star$: the true Lipschitz constant. The product bound $\|W_1\|_2\|W_0\|_2$ and the LipSDP bound are upper bounds on it.
- $\mathrm{diag}(s)$ with $s \in \{0, 1\}^2$: a diagonal matrix that switches ReLU neurons on ($1$) or off ($0$).
What is known. LipSDP (Fazlyab et al., NeurIPS 2019) with diagonal multipliers remains the reference for tight polynomial-time bounds. Structure-exploiting reformulations extend its reach:
- chordal sparsity (Xue et al., CDC 2022);
- layer-wise recursions (ECLipsE, NeurIPS 2024);
- layer-wise LMIs built from state-space realisations of convolutions (Pauli, Gramlich & Allgöwer, arXiv 2024).
Kuang et al. (arXiv 2026) prove negative results for this whole family of certificates. They give explicit ReLU examples on which such bounds are provably loose, by factors that grow with the width, and link part of the difficulty to hard reachability questions about hidden states. Module 12 states their results precisely.
Why it is hard. An SDP over all neurons at once costs at least cubic time in the number of neurons. Attention is neither slope-restricted nor globally Lipschitz, so the quadratic constraints that describe ReLU or tanh do not apply to it.
Module 12's walkthrough network is $f(x) = W_1\,\mathrm{ReLU}(W_0x + b_0)$ with
- Product bound. $\|W_1\|_2 = \sqrt2$, and the singular values of $W_0$ are $\sqrt2$ and $2\sqrt2$, so $\|W_0\|_2 = 2\sqrt2$. Hence $L \le \sqrt2 \cdot 2\sqrt2 = 4$.
- True constant. Wherever the on/off pattern of the two ReLUs is fixed, $f$ is linear with gradient $W_1\,\mathrm{diag}(s)\,W_0$. The four patterns $s = (1,1), (1,0), (0,1), (0,0)$ give gradients $(2, 0)$, $(1, 2)$, $(1, -2)$ and $(0, 0)$, of lengths $2$, $\sqrt5$, $\sqrt5$ and $0$. With suitable biases all four patterns occur, so $L^\star = \sqrt5 \approx 2.236$.
- LipSDP. $4/\sqrt3 \approx 2.309$; Module 12 derives this by hand.
LipSDP is within about 3% of the truth, while the product bound is 79% too large. The catch is cost. The LipSDP matrix has one row and column per neuron (plus the inputs and outputs), and interior-point solvers need at least cubic time in that size. For 1,000 neurons that is about $10^9$ operations; for 100,000 neurons about $10^{15}$, a million times more.
Where in these notes. Module 12 §2, Module 12 §9, Module 13 §6.
Possible directions. Certify locally, over a given input set, rather than globally. Exploit reachable-set structure. Develop quadratic constraints for attention restricted to bounded inputs.
P2Richer multipliers for Lipschitz and contraction certificates
In plain words. LipSDP describes each neuron by one simple fact: the slope of its activation lies between $\alpha$ and $\beta$. Each fact gets a nonnegative weight (a multiplier), and the SDP searches for the best weights. Richer facts, such as facts that couple several neurons, or that look at how signals evolve over time, could make the bounds tighter. But every fact must hold for every pair of inputs, and some tempting couplings are simply false, as the example shows.
- $v$, $\bar v$: the pre-activations of a layer at two inputs; $\Delta v = v - \bar v$ and $\Delta z = \varphi(v) - \varphi(\bar v)$.
- Slope restriction $[\alpha, \beta]$; for ReLU it is $[0, 1]$. Neuron $i$ then satisfies $(\Delta z_i - \alpha\Delta v_i)(\beta\Delta v_i - \Delta z_i) \ge 0$, which for ReLU reads $\Delta z_i(\Delta v_i - \Delta z_i) \ge 0$.
- $T$: the multiplier matrix. Diagonal entries weight each neuron's own fact; off-diagonal entries couple neurons.
- $e_1, e_2$: the unit vectors $(1, 0)$ and $(0, 1)$.
- Zames–Falb multipliers: dynamic (time-dependent) multipliers used in stability analysis.
What is known.
- Dynamic multipliers such as acausal Zames–Falb multipliers are valid for stability around a fixed equilibrium, and they reduce conservatism for linear systems with neural-network nonlinearities (Pauli et al., CDC 2021).
- For generic slope-restricted activations applied elementwise, Lipschitz and contraction certificates still use diagonal incremental multipliers. The coupled static multipliers of the original LipSDP-Network variant are invalid in this setting, as two counterexamples by Pauli et al. (L-CSS 2022) show.
- Structured activations are an exception: GroupSort and Householder layers admit valid coupled incremental constraints within each group (Pauli et al., ICLR 2024).
Why it is hard. An incremental constraint compares the network at two arbitrary inputs. A coupling term between two neurons then treats a difference of two chords of the activation, taken at different places on its graph, as if it were a single chord, which nothing justifies (Module 12, §5).
This is Counterexample 1 of Module 12 §5. Take two ReLU neurons and two inputs whose pre-activations are $v = (0, 1)$ and $\bar v = (-1.5, 0)$. Then
Each neuron on its own is fine. Neuron 1 has chord slope $0/1.5 = 0$ and neuron 2 has $1/1 = 1$, both in $[0, 1]$. So the diagonal constraints hold: $\Delta z_i(\Delta v_i - \Delta z_i) = 0 \ge 0$ for $i = 1, 2$.
The coupling is not. The coupled multiplier $T = (e_1 - e_2)(e_1 - e_2)^\top = \begin{bmatrix}1 & -1\\ -1 & 1\end{bmatrix}$ treats the differences $(\Delta v_1 - \Delta v_2,\ \Delta z_1 - \Delta z_2) = (0.5, -1)$ as if they were one chord. That "chord" has slope $-2$, outside $[0, 1]$, and the quadratic form of the lemma is negative:
So the "constraint" fails for a genuine ReLU network, and a certificate built on it can certify a Lipschitz bound that is too small. Any new class of multipliers has to be checked against exactly this kind of pair of inputs.
Where in these notes. Module 2 §5, Module 12 §5, Module 12 §8, Module 14 §3.
P3Synthesis, not only analysis
In plain words. Checking that a given neural controller keeps a system stable (analysis) is now routine for small systems: you search for a Lyapunov certificate with an SDP. Designing the controller together with its certificate (synthesis) is harder, because the controller's weights and the certificate's matrices multiply each other. Products of unknowns make the problem non-convex, so the efficient SDP machinery no longer applies directly.
- $\dot x = ax + bu$ with $u = kx$: a scalar plant and a linear controller (the toy case of the example).
- $V(x) = px^2$ with $p \gt 0$: a Lyapunov function. $\dot V \lt 0$ for $x \ne 0$ proves stability.
- Matrix version: $\dot x = Ax + Bu$ with state feedback $u = Kx$ (gain matrix $K$), and $V(x) = x^\top P x$ with $P \succ 0$. $\succ 0$ and $\prec 0$ mean positive and negative definite; LMI and BMI are as in the notation table.
- IQC: integral quadratic constraint, a description of a nonlinearity or uncertainty used in robust stability analysis.
What is known. Analysis is mature (Module 14 §2). For synthesis, Junnarkar, Arcak & Seiler (Automatica 2026) project RL policies onto closed-loop dissipativity LMIs. Recurrent equilibrium networks are stable by design (Revay, Wang & Manchester, TAC 2024).
Why it is hard. Controller parameters and multipliers multiply each other in the certificate, which makes it a BMI. BMIs are non-convex and hard to solve in general.
Plant $\dot x = ax + bu$ with controller $u = kx$, so $\dot x = (a + bk)x$. Look for $V(x) = px^2$ with $p \gt 0$ and $\dot V = 2p(a + bk)\,x^2 \lt 0$ for $x \ne 0$:
The unknowns $p$ and $k$ appear as the product $pk$: this is a bilinear inequality.
The classical fix. Substitute $q = 1/p$ and $y = kq$. Multiplying by $q^2 \gt 0$ gives
which is linear in the new unknowns $(q, y)$. For the unstable plant $a = 1$, $b = 1$, the choice $q = 1$, $y = -2$ works; then $k = y/q = -2$, and the closed loop is $\dot x = -x$.
The matrix version is the standard state-feedback LMI. With $Q = P^{-1}$ and $Y = KQ$, the condition $(A + BK)^\top P + P(A + BK) \prec 0$ becomes
Why this does not carry over. For a neural-network controller $u = W_1\varphi(W_0x)$, the certificate multiplies $P$, the neuron multipliers $T$ and the weights $W_0$, $W_1$. In general no single change of variables removes all of these products. Current methods either fix some variables and alternate, or project a trained controller onto LMI constraints that guarantee dissipativity, as Junnarkar et al. do.
Where in these notes. Module 14 §6, Module 13 §5, Primer D (state feedback).
P4The expressivity–robustness gap
In plain words. A network that is Lipschitz by construction comes with a robustness certificate for free: if the correct class wins by a large enough margin, no small perturbation can flip the decision. The price is expressivity. Constraining every layer makes the network less accurate on clean inputs. The open problem is to close that gap, with networks fast enough for a control loop.
- Logits $f(x) \in \mathbb R^N$: one score per class; the prediction is $y = \arg\max_i f_i(x)$.
- Margin $M_f(x) = f_y(x) - \max_{j \ne y} f_j(x)$: how far the winning score is ahead of the runner-up.
- Clean accuracy: correct on unperturbed inputs. Certified accuracy at radius $\varepsilon$: correct, and provably unchanged for every perturbation $\delta$ with $\|\delta\|_2 \lt \varepsilon$.
- $\varepsilon = 36/255 \approx 0.141$: the radius for images with pixel values in $[0, 1]$.
What is known.
- Among Lipschitz-by-design networks, the strongest results we found are those of LipNeXt (Hu, Hu & Fredrikson, ICLR 2026). For $\ell_2$ perturbations of radius $\varepsilon = 36/255$ on ImageNet, its 2-billion-parameter model certifies 41.2% at 57.0% clean accuracy, without extra generated training data. At the same $\ell_2$ radius on CIFAR-10, a 256-million-parameter model reaches 73.2% certified at 85.0% clean.
- LipKernel (Pauli et al., Automatica 2026) keeps standard convolution kernels, so inference is fast, but it has not been scaled to such sizes.
Why it is hard. A certificate at radius $\varepsilon$ needs a margin larger than $\sqrt2\,L\,\varepsilon$. Lipschitz layers keep $L$ small, but they also limit how sharply the network can separate classes, so many correctly classified inputs end up with margins too small to certify. Larger networks relax the restriction (LipNeXt uses 2 billion parameters), at the cost of inference time.
Take a classifier whose logit map is 1-Lipschitz in $\ell_2$, so $L = 1$. Module 13's margin certificate says the prediction cannot change for perturbations with
(Each logit difference $f_y - f_j$ can change by at most $\sqrt2\,L\,\|\delta\|_2$, and that change must not use up the margin.)
- Image A has margin $0.25$, so its certified radius is $0.25/\sqrt2 = 0.177$. Since $0.177 \gt 36/255 = 0.141$, image A counts as certified at $\varepsilon = 36/255$.
- Image B is also classified correctly, but with margin $0.15$. Its radius is $0.106 \lt 0.141$, so it counts for clean accuracy but not for certified accuracy.
The gap between LipNeXt's 57.0% clean and 41.2% certified accuracy on ImageNet consists of images like B.
How big is $\varepsilon = 36/255$? With pixel values in $[0, 1]$, it is the $\ell_2$ size of changing a single colour value by 36 of its 255 levels. Spread evenly over all $224 \times 224 \times 3 = 150{,}528$ values of an ImageNet image, it changes each value by only $0.09$ of a level, which is invisible.
Where in these notes. Module 13 §6, Module 13 §4, Primer E (margins).
P5Extending the 2-D and N-D systems view
In plain words. A convolution slides a small filter over a signal. Control theorists noticed that this is exactly what a linear dynamical system does: it keeps a short memory of past inputs (the state) and combines it with the current input. Writing convolutional layers this way lets the whole toolbox of LMIs and dissipativity certify them. The open question is how far the trick extends: to strides, dilations, higher-dimensional data and modern sequence models, ideally with the smallest possible state.
- $u_t$, $y_t$: input and output sequences. Kernel $w = (w_0, w_1, w_2)$: $y_t = w_0u_t + w_1u_{t-1} + w_2u_{t-2}$.
- $x_t$: the state; realisation $(A, B, C, D)$: $x_{t+1} = Ax_t + Bu_t$, $y_t = Cx_t + Du_t$.
- Minimal realisation: no realisation with fewer states produces the same input–output map.
- Roesser model: a 2-D state-space model with a horizontal and a vertical state, used for images.
What is known. Convolutions can be realised as 2-D systems of Roesser type (Pauli, Gramlich & Allgöwer, 2024; Gramlich et al., Automatica 2026). Minimality is proven only when the input and output channel counts agree. LipKernel's ideas were carried over to cascaded state-space models by other authors (LipSSM, arXiv 2026).
Why it is hard. Each architectural feature changes the state-space structure: a stride skips outputs, a dilation spreads the kernel out, and N-D data need memory in N directions. Minimality matters because the state size sets the size of the LMIs, and proving it needs a separate algebraic argument for each structure.
Take the kernel $w = (1, 2, 3)$, so $y_t = u_t + 2u_{t-1} + 3u_{t-2}$. Store the two past inputs in the state $x_t = (u_{t-1}, u_{t-2})$. Then
Check. $Ax_t + Bu_t = (u_t,\ u_{t-1}) = x_{t+1}$, and $Cx_t + Du_t = 2u_{t-1} + 3u_{t-2} + u_t = y_t$.
Run it. The input $u = (1, 1, 0, 2, 0)$ from a zero initial state gives $y = (1, 3, 5, 5, 4)$, exactly the convolution of $u$ with $w$. For example $y_2 = u_2 + 2u_1 + 3u_0 = 0 + 2 + 3 = 5$.
The state has two entries, one per past input the filter needs. That is minimal for a kernel of length 3 whose last entry is nonzero. An image convolution needs memory in two directions, which is what the 2-D Roesser model provides.
Where in these notes. Module 12 §7, Module 13 §4, Primer D (realisations).
5. Constrained & Safe Deep RL
Constrained RL treats safety as a budget: maximise reward while keeping an expected cost below a limit $d$ (Module 8). The problems below ask what that formulation guarantees and when, and how it scales to deep networks and language models.
R1Guarantees during learning at deep-RL scale
In plain words. Most constrained-RL algorithms promise that the policy they converge to satisfies the constraint. That says nothing about the thousands of episodes during training, which on a real robot is exactly when crashes happen. Guarantees during learning exist for small or structured problems. Extending them to neural world models and camera inputs is open.
- $J_c(\pi) = \mathbb E\big[\sum_t \gamma^t c(s_t, a_t)\big]$: the expected discounted cost of policy $\pi$. Constraint: $J_c(\pi) \le d$.
- Safe prior policy: a known policy that is safe, though perhaps poor at the task, and that can take over when needed.
What is known. SafeMDP (Turchetta et al., NeurIPS 2016), ActSafe (As et al., ICLR 2025) and safe exploration via policy priors (Wendl et al., ICLR 2026) give guarantees during learning. They rely on calibrated uncertainty, known Lipschitz constants or a safe prior policy. Certifying those ingredients for high-dimensional neural models is open.
Why it is hard. To stay safe while learning, you must know that an action is safe before you try it. That needs a trustworthy model, or a trustworthy prior, exactly where the learner has little data. With neural models, the uncertainty estimates that would provide this are not calibrated (see T4).
Let the cost of an episode be $C = 1$ if it ends in a crash and $C = 0$ otherwise, without discounting. The constraint $\mathbb E[C] \le d = 0.05$ then says: a crash in at most 5% of episodes. (With discounting a late crash would count less, and the budget would no longer be a crash probability.) Two learners train for 1,000 episodes:
- Learner A explores aggressively. It crashes in about 300 of its first 1,000 episodes, then converges to a policy that crashes in 2% of episodes.
- Learner B never exceeds the 5% rate, so it crashes in at most about 50 episodes, but it needs twice as many episodes to reach the same final reward.
A convergence guarantee is satisfied by both: their final policies meet $\mathbb E[C] \le d$. Only B is safe during learning. On a real robot, A's 300 crashes are the whole problem.
Where in these notes. Module 6 §7, Module 9 §5.
R2Constraint satisfaction at the last iterate
In plain words. Lagrangian methods turn "maximise reward subject to cost at most $d$" into a game. The policy maximises reward minus a price $\lambda$ times cost; the price rises when the cost is too high and falls when it is low. This game can circle around its solution forever. The policy overshoots the constraint, the price goes up, the policy becomes too careful, the price goes down, and so on. On average the constraint holds, but the policy you deploy, the last one, may violate it.
- $\mathcal L(\pi, \lambda) = J_r(\pi) - \lambda\big(J_c(\pi) - d\big)$: the Lagrangian; $\lambda \ge 0$ is the price of cost.
- $p$: the probability of the risky action in the example; $\eta$: the step size; $k$: the iteration counter.
- $\mathrm{clip}_{[0,1]}(z)$: $z$ rounded into $[0, 1]$; $[z]_+ = \max(z, 0)$.
What is known. Lagrangian iterates oscillate, and most guarantees are for averaged iterates. Last-iterate results exist, but under restrictive assumptions: regularised or optimistic updates for tabular softmax policies (Ding et al., NeurIPS 2023), or gradient-domination conditions (Montenegro et al., NeurIPS 2024).
Why it is hard. Gradient descent–ascent on a non-convex–concave saddle problem rotates around the saddle point instead of converging to it. The PID view of Module 8 explains the oscillation, but it does not remove it.
One decision per episode: the risky action gives reward 1 and cost 1, the safe action gives 0 and 0. The policy picks the risky action with probability $p$, so $J_r = J_c = p$. The constraint is $J_c \le d = 0.5$. The best feasible policy is $p = 0.5$, with price $\lambda = 1$.
The Lagrangian is $\mathcal L(p, \lambda) = p - \lambda(p - 0.5)$. Take simultaneous projected gradient steps with step size $\eta = 0.5$:
Starting from $p_0 = 0$, $\lambda_0 = 0$:
| $k$ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| $p_k$ | 0 | 0.5 | 1 | 1 | 1 | 1 | 1 | 1 | 0.875 | 0.625 | 0.281 | 0 |
| $\lambda_k$ | 0 | 0 | 0 | 0.25 | 0.5 | 0.75 | 1 | 1.25 | 1.5 | 1.688 | 1.75 | 1.641 |
While the price is low, $p$ climbs to 1, which has cost 1, twice the limit. The price then rises until $p$ collapses to 0 (safe but useless), the price falls, and the cycle repeats. After 400 iterations $p$ still swings between 0 and 1, while the average of all iterates is $0.507$, close to the optimum. A guarantee about averages is true here, and it tells you nothing about the policy at iteration 400.
Where in these notes. Module 8 §4, Module 8 §5, Primer B (saddle points).
R3Choosing and reporting the constraint
In plain words. "Safe" can be made precise in several ways. The cost can be small on average (expected cost), a crash can be rare (chance constraint), even the bad cases can be not too bad (CVaR), the cost can be small at every step (state-wise), or a crash can never happen (almost surely). These are different promises, and a policy can satisfy one while badly failing another. Results are also sensitive to the chosen limit $d$, so a single number per method can mislead.
- $C$: the total cost of one episode, a random number.
- Expected-cost constraint: $\mathbb E[C] \le d$. Chance constraint: $\mathbb P(C \gt 0) \le \delta$.
- $\mathrm{VaR}_\alpha$: the $\alpha$-quantile of $C$. $\mathrm{CVaR}_\alpha$: the average of the worst $(1 - \alpha)$ fraction of outcomes, computed as $\mathrm{VaR}_\alpha + \mathbb E\big[(C - \mathrm{VaR}_\alpha)_+\big]/(1 - \alpha)$.
What is known. Expected-cost constraints allow rare catastrophes. Stricter semantics trade tractability for guarantees. Lagrangian methods are sensitive to the cost limit, and Spoor et al. (arXiv 2025) recommend reporting results over task-specific sets of cost limits.
Why it is hard. Expected cost keeps the CMDP a linear program over occupancy measures (Module 8 §2). Chance constraints, CVaR constraints and almost-sure budgets on the accumulated cost do not, and need extra state or other reformulations (Module 8 §6, Module 8 §7). One useful exception: "never fail", with a nonnegative failure cost, is the linear constraint $J_c(\pi) = 0$, because a nonnegative random variable with mean zero is zero almost surely.
A policy crashes in 5% of episodes. A crash costs 10, and every other episode costs 0, so $C = 10$ with probability $0.05$ and $C = 0$ otherwise.
- Expected cost. $\mathbb E[C] = 10 \times 0.05 = 0.5$. With limit $d = 1$: satisfied.
- Chance constraint "crash in at most 1% of episodes": $\mathbb P(C \gt 0) = 0.05 \gt 0.01$: violated.
- $\mathrm{CVaR}_{0.9}$. The worst 10% of episodes are the 5% crashes (cost 10) and 5% normal ones (cost 0), so $\mathrm{CVaR}_{0.9} = (0.05 \times 10 + 0.05 \times 0)/0.10 = 5$. The formula gives the same: $\mathrm{VaR}_{0.9} = 0$, so $\mathrm{CVaR}_{0.9} = 0 + 0.5/0.1 = 5$. With limit 1: violated.
The same policy is "safe" under the expected-cost definition and unsafe under the other two. This is why papers must state which constraint they enforce. It is also why results reported for one value of $d$ can rank methods differently than for another.
Where in these notes. Module 1 §1, Module 8 §6, Module 9 §7, Primer C (VaR and CVaR).
R4Cost estimation under distribution shift, and offline-to-online safety
In plain words. Offline RL learns from a fixed log of past experience, without new trials. To respect a constraint it must estimate the cost of actions, including actions the log never contains. Learned critics guess those costs by extrapolation, and the guesses are often too optimistic. The policy then drifts toward exactly the untested actions whose cost was underestimated. Being pessimistic about unseen actions fixes this but makes the policy timid. Moving safely from offline training to online fine-tuning is the open part.
- $Q_c(s, a)$: a cost critic, the predicted future cost after taking action $a$ in state $s$.
- Out-of-distribution (OOD) action: an action unlike any in the logged data.
- Pessimism: deliberately overestimating cost (or underestimating reward) where data are missing.
What is known. Off-policy and offline critics underestimate the cost of out-of-distribution actions, which motivated CPQ (Xu et al., AAAI 2022). Pessimism can make policies over-conservative. Feasibility-based methods such as FISOR (Zheng et al., ICLR 2024) improve offline safety, but safe offline-to-online fine-tuning with guarantees is largely unsolved.
Why it is hard. The data say nothing about unseen actions, so any estimate there is an assumption. Optimistic assumptions break safety, pessimistic ones break performance. And once the policy goes online, the data distribution changes again (see S1).
The logged actions are spread evenly over $[0, 0.5]$, and the true cost of action $a$ is $c(a) = a^2$. Fit a straight line to these data by least squares, weighting all of $[0, 0.5]$ equally. The best fit is
and on the data it is accurate to within $0.042$.
At the unseen action $a = 2$ the line predicts $\hat c(2) = 0.958$, but the true cost is $4$. A policy that trades reward against predicted cost will happily choose $a = 2$ if it brings more reward, because it believes the cost is below 1. A neural critic extrapolates in less predictable ways, but the problem is the same. CPQ's remedy is to make out-of-distribution actions look costly on purpose, at the price of never trying them.
Where in these notes. Module 9 §6.
R5Constrained alignment of foundation models
In plain words. Safe RLHF fine-tunes a language model to be helpful while keeping a learned "harmfulness" score below a limit. Both the helpfulness reward and the harm cost are themselves learned from human judgements, so they are approximations. If the cost model underestimates harm, the optimiser exploits exactly that error. The true harm can then exceed the limit even though the training constraint looks satisfied.
- Reward model $\hat r$ and cost model $\hat c$: networks trained on human preference data. Constraint: $\mathbb E[\hat c] \le d$, enforced with a Lagrange multiplier $\lambda$.
- DPO: direct preference optimisation, which trains on preferences without a separate RL loop.
- Realisability: the true reward and cost lie in the model class. Coverage: the data contain enough comparisons where the policy goes.
- $q$: the probability of the harmful response in the example.
What is known. Safe RLHF (Dai et al., ICLR 2024) trains a cost model from human judgements and runs Lagrangian PPO. Theory is starting to appear:
- Du, Kong & Srikant (arXiv 2025) analyse a primal–dual DPO method with bounds that include reward- and cost-estimation error.
- Latham & Moharrami (arXiv 2026) treat offline constrained RLHF with several preference oracles and constraints.
Both rest on realisability and data-coverage assumptions. Misspecified neural reward and cost models, and PPO-style training with many interacting constraints, remain open.
Why it is hard. The optimiser actively searches for responses where the learned cost is low, so cost-model errors are not random noise: they are selected for. Bounds therefore need control of the error everywhere the policy might go, which brings back the coverage problem of R4.
There are two possible responses: a helpful-but-harmful one (reward $1.0$, true cost $0.6$) and a safe one (reward $0.7$, cost $0.1$). The model gives the harmful response with probability $q$, and the limit is $d = 0.3$.
- With the true costs. $0.6q + 0.1(1 - q) \le 0.3$ gives $q \le 0.4$, and the best reward is $0.7 + 0.3 \times 0.4 = 0.82$.
- With a cost model that rates the harmful response at $0.4$ instead of $0.6$. $0.4q + 0.1(1 - q) \le 0.3$ gives $q \le 2/3$. The optimiser picks $q = 2/3$, whose true cost is $0.6 \cdot \tfrac23 + 0.1 \cdot \tfrac13 = 0.43 \gt 0.3$.
The training constraint is met exactly, and the true constraint is violated by 44%. The error was "only" $0.2$ on one response, but the optimiser moved probability onto that response precisely because of the error.
Where in these notes. Module 8 §8.
R6Unifying CMDP learning with control certificates
In plain words. Constrained RL and control theory express safety in different languages: an expected-cost budget, a failure penalty, a barrier-function filter, a reachable set. Each has strengths, and combining them could give policies that learn well and are provably safe. Today such combinations are built case by case. No common theory says which combination guarantees what, and they are rarely compared on the same control benchmarks.
What is known. Individual combinations exist: HJ feasibility in FISOR, safe value functions (Massiani et al.), CBF filters around RL policies. They are ad hoc, and control-oriented benchmarks such as safe-control-gym (Yuan et al., RA-L 2022) are rarely used for comparison.
Why it is hard. The guarantees live on different objects. A CMDP constrains an average over episodes, a penalty constrains optimal policies, and a filter constrains each action in each state. Composing them requires stating all three in one framework, which is the goal of the unified safety-filter view (Module 10 §8).
A robot moves on a shelf $x \in [0, 1]$ with dynamics $\dot x = u$. Falling off at $x \lt 0$ is a failure, and the task rewards being near the edge, say $r = 1 - x$.
- CMDP. Cost $c = 1$ for falling, constraint $J_c(\pi) \le d = 0.01$. Guarantee: the expected discounted number of falls is at most 0.01. Occasional falls are allowed.
- Failure penalty (T6). Reward $r - p$ at failure, with $p \gt p^\star$. Guarantee: every optimal policy avoids failure whenever avoiding it is possible. Nothing is said about the non-optimal policies met during learning.
- CBF filter with $h(x) = x$: allow only inputs with $\dot h = u \ge -\alpha x$, for example with $\alpha = 2$. Guarantee: $x(t) \ge 0$ for all time, whatever the policy proposes, provided the model $\dot x = u$ is right.
These promise different things: an average, a property of optimal policies, and a pointwise invariance. That is why combining them needs care.
Where in these notes. Module 7 §7, Module 9 §6, Module 10 §8.
6. Safety Filters & Learned Certificates
A safety filter sits between a policy and the system, and corrects unsafe actions before they are executed (Module 10). It separates performance (the policy's job) from safety (the filter's job). The problems below are about what happens when the filter itself is learned, when it has no valid action, and how it interacts with learning and with the real world.
F1Filters built on learned models
In plain words. A classical filter relies on a known model of the system. Newer filters learn the model, and sometimes even what "failure" looks like, from data such as camera images. The filter is then only as reliable as what it learned. When the learning errors have verified bounds, robust filters can absorb them into a guarantee (Module 10 §9); for filters that learn from images, such bounds are not available today.
- World model: a network that predicts the next state from the current state and action, here in a latent space.
- Latent state $z$: a compressed representation of an observation, for example of a camera image.
- Failure classifier: a learned function that labels latent states as failed or not.
- HJ value function: from Hamilton–Jacobi reachability. Its sign says whether failure can still be avoided from a state (Module 10 §6).
What is known. Latent safety filters (Nakamura, Peters & Bajcsy, RSS 2025) enforce safety in a world model's latent space. The authors state that their practical implementation lacks formal assurances, because errors in the learned world model, failure classifier and HJ value function are not bounded. How such errors propagate to the safety guarantee is open. Calibrated, verifiable uncertainty for ensembles and world models is missing more generally (see also T4).
Why it is hard. Three learned components feed into each other. Errors in the world model change which states the filter thinks are reachable, errors in the failure classifier change what it avoids, and errors in the value function change where it intervenes. Bounding each error is hard; bounding how they combine is harder.
Suppose the failure classifier labels 98% of truly failing states as failures and misses the other 2%. A filter that is perfect with respect to the classifier never enters a state the classifier calls "failed". It can still drive into the 2% of failure states the classifier missed, because from its point of view those states are safe.
Now suppose the task rewards getting close to obstacles. Then the policy is drawn toward exactly the region where such misses are likely, and the filter will not stop it. The statement "the filter never enters a labelled failure" stays true, and it says nothing about those 2%.
Where in these notes. Module 10 §9.
F2Verifying learned certificates at scale
In plain words. A neural barrier or Lyapunov function is trained so that its defining condition holds at sampled states. A certificate needs the condition at every state, including the infinitely many that were not sampled. Formal verifiers can check this, but their cost explodes with the dimension of the state and the size of the network.
- $\psi(x)$: the condition that must be nonnegative everywhere, for example $\psi(x) = \dot h(x) + \alpha\,h(x)$ for a barrier $h$ under a fixed policy.
- $m$: the margin, the smallest value of $\psi$ at the sampled points.
- $L_\psi$: the Lipschitz constant of $\psi$ in the $\ell_\infty$ norm; $r$: the grid spacing; $d$: the state dimension.
- SMT solvers and bound propagation: exact logical solvers and interval-style output bounds (Module 15 §2).
What is known. Training losses on samples do not make a certificate. Policy neural CBFs (So et al., ICRA 2024) and DeepReach (Bansal & Tomlin, ICRA 2021) scale well but are not verified. Formally verified Lyapunov-stable neural controllers exist for modest sizes (Yang et al., ICML 2024); SMT solvers and bound-propagation verifiers still limit the size.
Why it is hard. Exact verification of ReLU networks is NP-hard, so in the worst case its cost grows exponentially. Sampling-based certificates face the same growth in a more visible form, as the example shows.
Suppose the trained condition satisfies $\psi(x_i) \ge m = 0.1$ at every point of a grid with spacing $r$ on $[0, 1]^d$, and $\psi$ is $L_\psi$-Lipschitz in the $\ell_\infty$ norm with $L_\psi = 50$. Every state lies within $\ell_\infty$-distance $r/2$ of a grid point, so
For a concrete strict certificate, take 251 equally spaced cell centres per axis, with spacing $r=1/251\lt0.004$. The cells cover $[0,1]$ and every point is within $r/2$ of a centre. This needs:
- $d = 2$: $251^2 = 63{,}001$ evaluations, which is easy;
- $d = 6$: $251^6 \approx 2.5 \times 10^{14}$, which is infeasible;
- $d = 12$: about $6.3 \times 10^{28}$.
Exact verifiers avoid the grid, but they face the same exponential growth in the worst case. This is why verified neural certificates exist mainly for low-dimensional systems.
Where in these notes. Module 10 §9, Module 11 §4, Module 15 §2.
F3Feasibility, deadlock and liveness
In plain words. At each moment, a CBF filter picks the action closest to what the policy wants among the actions that keep the system safe. Sometimes no such action exists: the motors are not strong enough, or two safety constraints demand opposite things. Then the filter has no answer. And even when it always has an answer, it may keep the system safe by stopping it forever, short of its goal: safe but useless.
- Double integrator: position $p$, velocity $v$, acceleration input $u$; $\dot p = v$, $\dot v = u$, with $|u| \le 1$. (Here $p$ is a position, not a penalty.)
- Relative degree: how many times you must differentiate $h$ before the input $u$ appears. Here it is 2.
- High-order CBF (HOCBF): $\psi_1 = \dot h + \alpha_1(h)$, with the condition $\dot\psi_1 + \alpha_2(\psi_1) \ge 0$ (Module 10 §4).
- Liveness: the task is eventually completed, the opposite of deadlock.
What is known. The CBF-QP can become infeasible under input bounds or several interacting constraints. Combined CLF–CBF quadratic programs can introduce spurious asymptotically stable equilibria (Reis, Aguiar & Tabuada, L-CSS 2021). Reach-avoid formulations address liveness for specific settings (Hsu et al., RSS 2021).
Why it is hard. Feasibility depends on the barrier, the input bounds and the dynamics together. Checking that a barrier is feasible everywhere is itself a verification problem (F2). The natural remedy, a barrier that accounts for the input limits, is essentially the viability kernel, which is hard to compute.
A cart moves toward a wall at position $0$: $\dot p = v$, $\dot v = u$, $|u| \le 1$. Safety means $h(p) = p \ge 0$. The input appears only in $\ddot h = u$, so $h$ has relative degree 2 and needs a high-order CBF. With $\alpha_1(s) = \alpha_2(s) = s$:
At $p = 1$, $v = -3$ (moving toward the wall at speed 3), the filter needs $u \ge 6 - 1 = 5$, but the motor gives at most $1$. The QP is infeasible.
The physics agrees. Braking at full strength from speed 3 takes a distance of $v^2/2 = 4.5 \gt 1$, so a crash is already unavoidable, even though $h = 1 \gt 0$ says "safe". (Also $\psi_1 = -2 \lt 0$: the state has already left the HOCBF's own safe set.) The barrier ignored the input limit. A barrier that accounts for it, $h(p, v) = p - v^2/2$ when $v \lt 0$, describes exactly the viability kernel of this system, and computing such kernels is hard in general.
Where in these notes. Module 10 §3, Module 10 §4, Module 10 §6.
F4Filters that do not ruin performance
In plain words. A filter makes a policy safe by overriding it, and every override is a moment where the policy does not do what it was trained to do. If overrides are frequent, performance collapses. If the learner does not account for them, it learns from actions it never actually took. The goal is policies that rarely need correcting, because they learned with the filter in the loop.
- $a$: the action proposed by the policy; $a_{\rm safe}$: the action actually executed after the filter.
- Intervention rate: the fraction of steps where $a_{\rm safe} \ne a$.
- Off-policy data: data generated by a different policy than the one being trained.
What is known. Filters shift the action distribution, can cause chattering, and degrade RL or imitation performance. Training with the filter in the loop helps (Pizarro Bejarano, Brunke & Schoellig, RA-L 2025). Keeping filtered actions consistent with the training distribution of a generative policy is the aim of PACS (Römer et al., ICRA 2026).
Why it is hard. With a fixed filter in the loop, the policy learns in the combined system "world plus filter". That is a valid learning problem, but many proposed actions map to the same executed action, so the learning signal about them is flat. If the filter itself is learned or retuned, the combined system changes during training. Without the filter, the policy is trained for a world it will never face. Generative policies add a twist: their outputs come from a learned distribution, and pushing an action outside that distribution can produce motions the policy has never seen.
A policy proposes speed $a = 2$. The filter allows at most $1$ and executes $a_{\rm safe} = 1$, and the reward reflects speed 1.
- Record the proposed action (proposed $a = 2$, reward of speed 1). This is correct for the combined system "world plus filter", in which proposing 2 means driving at 1. It becomes wrong as soon as the filter changes, or if the policy is later run without the filter: the data would still claim that proposing 2 earns the reward of speed 1.
- Record the executed action (executed $a_{\rm safe} = 1$, reward). This is correct for the physical system. But the data were generated by "policy plus filter", not by the policy being trained, so the update is off-policy and needs corrections.
Neither choice is wrong in itself: the recorded action and the learning objective have to match. At deployment, if the filter changes the proposed action in 30% of the steps, the executed behaviour differs from what the policy was trained to produce in those steps. That can push the system into states the policy rarely saw, and how often this happens has to be measured separately. Training with the filter in the loop reduces this mismatch.
Where in these notes. Module 10 §8.
F5Real-world effects
In plain words. Safety proofs are usually written for an idealised controller that measures the exact state, acts instantly and continuously, and is alone. Real controllers sample the state every few milliseconds and act with delay. They see the world through noisy sensors, share space with other agents, and, with generative policies, output whole chunks of motion at once. Each of these gaps can break a guarantee unless a margin accounts for it.
- $\Delta t$: the sampling period. Zero-order hold: the input is held constant between samples.
- Measurement-robust CBF: a barrier condition with an extra margin for bounded estimation errors.
- Belief: a probability distribution over the true state, given past observations.
What is known.
- Continuous-time CBF guarantees need margins when implemented at a fixed sampling rate.
- Under partial observability the filter acts on estimates. Safety of the true state can still be guaranteed if estimation errors are bounded, as with measurement-robust CBFs (Dean et al., CoRL 2020); otherwise safety has to be stated over beliefs.
- Multi-agent filters scale to many agents with learned graph barriers (GCBF+, Zhang et al., T-RO 2025).
- For generative policies, PACS (Römer et al., ICRA 2026) gives formally safe, real-time filtering of diffusion and flow-matching policies, including the SmolVLA vision–language–action model. It assumes bounded tracking and measurement errors and bounded object motion. Relaxing these assumptions, for example to learned perception without error bounds, is open.
- The unified safety-filter view organises all of these questions (Hsu, Hu & Fisac, Annual Review 2024).
Why it is hard. Each effect needs its own margin, margins add up, and too much margin makes the system useless. Bounding the errors of learned perception, which PACS and measurement-robust CBFs both require, is itself an open problem.
A robot obeys $\dot x = u$ with $|u| \le 1$ and must keep $x \ge 0$. Its controller runs every $\Delta t = 0.1$ s and holds $u$ constant in between.
- Between two samples, $x$ can move by up to $|u|\,\Delta t = 0.1$. A filter that only checks $x \ge 0$ at the sampling instants can therefore reach $x = -0.1$ before it acts again.
- The fix is a margin: enforce $x \ge 0.1$ at each sample. Then $x \ge 0.1 - 0.1 = 0$ until the next one.
- With an extra actuation delay of $0.05$ s, the previous input keeps acting for another $0.05$ s, and the margin grows to $0.15$.
Every such effect costs a piece of the safe set. This is why tight, verified bounds on delays and errors matter.
Where in these notes. Module 10 §8, Primer D (sampling a continuous system).
7. Statistical Guarantees & Trustworthy Certificates
Some guarantees are not proofs about every input, but statements that hold with high probability over random data or random noise. They need fewer assumptions about the system and more about the data (Module 15 §7). The last problem in this section asks how far any certificate, deterministic or statistical, can be trusted.
S1Statistical guarantees under feedback and distribution shift
In plain words. Conformal prediction wraps any predictor in an error bar that is correct with a chosen probability, say 90%, using nothing but a list of past prediction errors. The catch is one assumption: future errors must be statistically interchangeable with past ones. A robot that acts on the error bars changes the world it is predicting, and that breaks the assumption.
- Score $R_i$: the prediction error on calibration example $i$, for example the distance between a predicted and the actual pedestrian position.
- $R^{(p)}$: the $p$-th smallest score; $n$: the number of scores; $\delta$: the allowed miscoverage ($\delta = 0.1$ for 90% coverage).
- $\lceil z \rceil$: $z$ rounded up to the next integer.
- Exchangeable: the joint distribution of the scores does not depend on their order.
- Feedback covariate shift: the model's choices change which inputs are seen, but not the distribution of outcomes for a given input.
What is known.
- Split conformal prediction needs exchangeable data.
- Some feedback is compatible with finite-sample coverage. Under feedback covariate shift, the model chooses the next inputs, but the distribution of outcomes given an input stays fixed. Coverage then holds when the likelihood ratios are known (Fannjiang et al., PNAS 2022).
- In control, the robot's actions usually change the outcome distribution itself. Lindemann et al. (RA-L 2023) therefore assume that the controller does not affect the environment's distribution.
- Adaptive variants give weaker guarantees, for example coverage only in the long run.
Why it is hard. Feedback couples the data to the policy. When the policy changes how the environment responds, even the conditional distribution of outcomes shifts, so tomorrow's scores are not exchangeable with today's.
Nine calibration errors, in metres and sorted: $0.2, 0.3, 0.3, 0.4, 0.5, 0.6, 0.8, 0.9, 1.2$. For 90% coverage ($\delta = 0.1$), split conformal prediction uses the score at position
so the error bar is $C = R^{(9)} = 1.2$ m. If the errors are exchangeable, this procedure covers the next error with probability at least 90%. The 90% is an average over both the calibration data and the new error; for these particular nine numbers the coverage can be higher or lower (Module 15 §5). For 95% the position would be $\lceil 9.5 \rceil = 10 \gt 9$: with only nine scores the bar would be infinite, and you need more data.
Now the robot uses the 1.2 m bars to plan closer to pedestrians than before. The pedestrians react by swerving, and the new errors are $1.0, 1.5, 1.8, 2.0$. They are not exchangeable with the calibration errors, and the bar covers only one of the four. The guarantee did not fail by bad luck; its assumption stopped holding.
Where in these notes. Module 15 §5, Primer C (exchangeability).
S2Beyond randomized smoothing
In plain words. Randomized smoothing turns any classifier into a new one, the smoothed classifier, which returns the class that is most likely when Gaussian noise is added to the input. If one class is likely enough, no small perturbation can change the smoothed classifier's answer. Those probabilities are estimated by classifying many noisy copies of the input. So the certificate holds only with high probability, it needs thousands of network evaluations per input, and it works well only for the $\ell_2$ norm. For other norms, especially $\ell_\infty$ (every pixel may change a little), its guarantees fade in high dimensions.
- $\sigma$: the standard deviation of the Gaussian noise added to the input (not the GP's $\sigma_t$).
- $p_A$: a lower confidence bound on the probability that the noisy classifier returns the top class $A$.
- $R = \sigma\,\Phi^{-1}(p_A)$: the certified $\ell_2$ radius, when the runner-up class is bounded by $1 - p_A$.
- $\ell_\infty$ radius $\varepsilon$: every input coordinate may change by up to $\varepsilon$; $d$: the input dimension.
What is known.
- Randomized smoothing certificates hold only with high probability over Monte Carlo sampling, and they need many forward passes per input: Cohen et al. (ICML 2019) used 100,000 noise samples per certified input.
- For $\ell_p$ with $p \gt 2$, the certifiable radius of i.i.d. smoothing shrinks like $O\big(1/d^{1/2-1/p}\big)$ with the input dimension $d$ (Kumar et al., ICML 2020).
- Deterministic $\ell_\infty$ certified training has its own plateau. CTBench (Mao, Balauca & Vechev) found that the claimed advantage of recent methods drops significantly once older baselines are tuned fairly. On CIFAR-10 at $\varepsilon = 8/255$, all methods it tested certify about 35%.
Why it is hard. An $\ell_\infty$ ball of radius $\varepsilon$ in $d$ dimensions has corners at $\ell_2$ distance $\varepsilon\sqrt d$ from its centre, so any method built on $\ell_2$ geometry pays a factor $\sqrt d$. Kumar et al. show this is not just a weakness of one conversion: smoothing with i.i.d. noise cannot avoid it.
Take noise level $\sigma = 0.5$, and suppose that after sampling the top class has $p_A \ge 0.9$. The certified $\ell_2$ radius is
Translating to $\ell_\infty$. A CIFAR-10 image has $d = 32 \times 32 \times 3 = 3072$ values. An $\ell_\infty$ perturbation of size $\varepsilon$ can have $\ell_2$ size $\varepsilon\sqrt{3072} = 55.4\,\varepsilon$. So the $\ell_2$ certificate covers only $\varepsilon \lt 0.641/55.4 = 0.0116$, about $2.95/255$, well short of the usual $8/255$.
Sampling also caps the radius. Suppose all $n = 100{,}000$ noise samples vote for $A$. The best one-sided lower bound at confidence $1 - 0.001$ is $p_A = 0.001^{1/n} = 0.99993$ (Primer C), so
however robust the classifier really is.
Where in these notes. Module 15 §4, Module 13 §6, Primer C (Clopper–Pearson bounds).
S3Certificates you can trust
In plain words. A certificate is a proof, and proofs can be wrong. Some published certificates had subtle errors that went unnoticed until someone built a counterexample. Others are computed numerically: an SDP solver returns a matrix that it says is positive semidefinite, but only up to a rounding tolerance. A certificate that is "almost" valid is not valid.
- $M \succeq 0$: all eigenvalues of the symmetric matrix $M$ are $\ge 0$. $I$ is the identity matrix, so $M \succeq \epsilon I$ means all eigenvalues are $\ge \epsilon$.
- Solver tolerance: the size of violation a numerical solver ignores, often about $10^{-8}$.
- Cholesky factorisation $M = R^\top R$: it exists, with $R$ invertible, exactly when $M \succ 0$, so computing it in exact arithmetic is an exact test.
What is known. Published proofs have needed corrections, including the original coupled-multiplier LipSDP variant (Pauli et al., L-CSS 2022) and the $\tau \gt 0$ case of chordal LipSDP (Xue et al.). Certificates computed with floating-point SDP or LP solvers are only approximately feasible. The same lesson appeared while writing these notes: independent review caught many statements that did not match their cited sources.
Why it is hard. Floating-point arithmetic cannot represent most numbers exactly, and SDP solvers stop at a tolerance. Exact checks are possible, but they cost more and need the certificate to have some slack.
Consider
Its determinant is $(1 - 10^{-9}) - 1 = -10^{-9} \lt 0$. The determinant is the product of the eigenvalues, so one eigenvalue is negative: about $-5 \times 10^{-10}$, while the other is about 2. $M$ is not positive semidefinite, yet a solver working with tolerance $10^{-8}$ would report it as feasible. If $M \succeq 0$ was the condition certifying a Lipschitz bound, that bound is not proved.
The standard remedy: ask the solver for a margin, $M \succeq 10^{-6} I$, then round the solution to rational numbers and check positive definiteness exactly, for example with an exact rational $LDL^{\top}$ factorisation.
Where in these notes. Module 12 §5, Module 15 §7, Primer A (positive definite matrices).
Possible directions. Re-check numerical certificates with exact or interval arithmetic after solving. Machine-check the key lemmas with a proof assistant.
8. Where the Two Lines Meet
B1Certified Lipschitz constants as checkable assumptions for safe exploration
In plain words. LoSBO needs a Lipschitz constant, but nobody knows it (T1). The Pauli line computes certified Lipschitz constants of neural networks. If the controller is such a network, could we assemble LoSBO's constant from certified pieces instead of guessing it? The obstacle is that constants multiply when maps are chained, and a closed loop chains the same map many times.
- $x_{t+1} = F(x_t)$: the closed-loop map (plant plus controller), with Lipschitz constant $L$.
- $J = \sum_{t=0}^{T} c(x_t)$: a cost over $T$ steps, with $c$ being $L_c$-Lipschitz.
- Contraction: $L \lt 1$, so any two trajectories approach each other.
- $\theta$: the controller parameters that LoSBO tunes; $L_\theta$: how strongly a change in $\theta$ acts on one step.
The catch. Lipschitz constants multiply under composition. A closed loop evaluated over $T$ steps can have a constant as large as $L^T$ when the per-step constant is $L$, so this worst-case bound can become too loose over long horizons unless the loop contracts or the available margins are large. This is a reason to look at contracting architectures such as RENs (Module 13 §5).
By induction (Discussion Question 3), two trajectories of $x_{t+1} = F(x_t)$ satisfy $\|x_t - y_t\| \le L^t\,\|x_0 - y_0\|$. So the cost $J$ has Lipschitz constant at most
With $L_c = 1$ and $T = 50$:
- $L = 1.1$ (slightly expanding): $1.1^{50} \approx 117$, and the sum is about $1{,}281$;
- $L = 0.9$ (contracting): the sum is at most $1/(1 - 0.9) = 10$, here $9.95$.
A 10% expansion per step makes the constant more than a hundred times larger than a 10% contraction does.
From initial states to controller parameters. These numbers measure how $J$ reacts to the initial state $x_0$. LoSBO tunes controller parameters $\theta$, so it needs how $J$ reacts to $\theta$. A parameter change perturbs every step. If $F$ is $L$-Lipschitz in $x$ and $L_\theta$-Lipschitz in $\theta$, the state deviation $e_t = \|x_t(\theta) - x_t(\theta')\|$, from the same initial state, obeys
The same geometric sums appear, now multiplied by $L_\theta$. If the tuned parameters enter the network as inputs, $u = \pi(x, \theta)$, one certified Lipschitz bound of $\pi$ with respect to $(x, \theta)$ supplies both factors. Either way, a constant in the thousands would shrink LoSBO's safe intervals, of radius $(y - E - h)/L$, to almost nothing. Certified constants are most informative here for contracting loops, short horizons or large safety margins.
Background. T1, Module 5 §3 (LoSBO), Module 6 §4 (GoSafeOpt), Module 12 §4, Module 13 §5, Primer B (composition rule).
B2Statistical model-error bounds plus IQC analysis of neural loops
In plain words. Learning gives statements like "the model error is at most 0.1, with probability 99%". Robust control gives statements like "the loop is stable for every model error up to 0.1". Chaining the two yields "the loop is stable with probability 99%", a guarantee neither tool provides alone. Fiedler, Scherer and Trimpe did this for linear controllers; doing it for neural-network controllers analysed with Pauli-style IQCs is the proposed direction.
- Uniform error bound: $|f(x) - \mu(x)| \le \beta\,\sigma(x)$ for all $x$ in a region, with probability at least $1 - \delta$.
- $\bar\sigma$: an upper bound on $\sigma(x)$ over that region.
- LFR: a linear fractional representation, which writes a system as a known linear part in feedback with an uncertain block $\Delta$. IQC: an integral quadratic constraint describing that block.
A GP learns an unknown nonlinearity $f$ on the region where the system operates. Suppose the posterior standard deviation there is at most $\bar\sigma = 0.05$, and that with $\beta = 2$ the uniform bound holds with probability $1 - \delta$. Then the residual $\Delta(x) = f(x) - \mu(x)$ satisfies
Robust control treats $\Delta$ as an unknown but bounded block. If the loop with the learned model $\mu$ is stable for every such block (an LMI test), then the true loop is stable with probability at least $1 - \delta$, as long as the state stays in the region where the bound holds (which itself must be certified, for example with an invariant set).
The open step is to replace the linear controller by a neural network. Its activations need their own quadratic constraints (Module 14 §2), and both kinds of constraints must fit into one LMI.
Background. Module 11 §7, Module 14 §2, Module 3 §6.
B3Certified approximate MPC with Lipschitz-bounded networks
In plain words. Model predictive control is powerful but slow: it solves an optimisation problem at every step. A neural network can learn to imitate it and run in microseconds, but MPC's guarantees then carry over only if the imitation is accurate everywhere. Lipschitz-bounded networks make "accurate everywhere" checkable from a finite set of tests.
- $\pi_{\rm MPC}(x)$, $\pi_{\rm NN}(x)$: the MPC control law and its neural approximation.
- $e(x) = |\pi_{\rm NN}(x) - \pi_{\rm MPC}(x)|$: the approximation error; $\bar\eta$: the error the MPC design can tolerate, built in by robust design (for example constraint tightening).
- $L_{\rm NN}$, $L_{\rm MPC}$: Lipschitz constants of the two laws, in the $\ell_\infty$ norm on states.
Suppose a robust MPC design tolerates input errors up to $\bar\eta = 0.05$. On a grid with spacing $r = 0.005$, the largest measured error is $0.02$. The error function $e(x)$ is Lipschitz with constant at most $L_{\rm NN} + L_{\rm MPC}$; say that is $4$. Every state is within distance $r/2 = 0.0025$ of a grid point, so
The network inherits the MPC's guarantees. This interpolation argument needs a certified bound on $L_{\rm NN}$ (or a directly certified Lipschitz bound on the approximation error). With a loose constant, say $400$ instead of $4$, the coarsest grid that still works would be a hundred times finer in every dimension.
Background. Module 11 §6, Module 13 §4.
B4Uncertainty-aware safety filters with certified ensembles
In plain words. UPSi trusts its ensemble only in a "certain set", where the members agree. Today the certain set is estimated, not certified. If each member is Lipschitz-bounded, their disagreement cannot jump: it can only grow at a known rate as you move away from a point where it was measured. That turns "the members agree here" into a certified statement about a whole neighbourhood.
- $\hat f_1$, $\hat f_2$: two ensemble members, each $L$-Lipschitz.
- $D(x) = |\hat f_1(x) - \hat f_2(x)|$: their disagreement at $x$.
Each member can change by at most $L\,\|x - x_0\|$ between $x_0$ and $x$, possibly in opposite directions, so $D$ is $2L$-Lipschitz. If $D(x_0) = 0.05$ and $L = 1$, then for every $x$ with $\|x - x_0\| \le 0.1$:
A certain set defined by $D \le 0.25$ therefore provably contains the whole ball of radius $0.1$ around $x_0$, without evaluating the ensemble anywhere else. What this does not fix is the problem of T4: small disagreement still does not mean small error.
Background. Module 7 §6, Module 10 §9, Module 13 §1.
9. Gaps in These Notes
Topics these notes touch only briefly or not at all, which would make good future modules:
| Topic | Why it belongs here |
|---|---|
| Data-driven control (Willems' fundamental lemma, behavioural systems) | Controllers with guarantees designed directly from data, without first identifying a model. This is a strong line at Stuttgart (Berberich, Koch, Allgöwer), Pauli's former group. |
| Contraction theory in depth | The incremental stability notion behind RENs and many Lipschitz-by-design arguments. Module 13 states the contraction conditions it needs, but not the general theory (contraction metrics and their use in nonlinear control design). |
| Learned dynamics with guarantees (Koopman operators, physics-informed models) | Model classes whose error can be bounded; the missing ingredient in T4 and F1. |
| Multi-agent safety | Interacting agents, game-theoretic filters and learned graph barriers (GCBF+); Module 10 mentions them only briefly. |
| Robust and distributionally robust MDPs | Worst-case models over an uncertainty set: a middle ground between CMDPs and robust control. |
| Safety under partial observability | Belief-space safety and perception in the loop (F5). |
| Formal specifications (temporal logic, shields in depth) | Richer safety requirements than "stay in a set"; Module 10 introduces shields only. |
| Safety for LLM-based agents beyond Safe RLHF | Constraints on tool-using and embodied language agents (R5). |
Discussion Questions
These have no single answer; each points at the core difficulty of one or more problems above. A suggested angle is hidden under each.