最优控制与深度学习

最优控制与深度学习

这是 2020 北京大学“应用数学专题讲习班”课程的一个极简的总结,省略了很多符号描述、定理条件描述等等,最后一部分,关于本征正交分解和动态模态分解,以及 Koopman 分析的一些东西,不太想写了,权当做个记录吧。

最优控制方程

考虑最优控制的 Bolza 问题
infθJ[θ]=t0t1L(t,x(t),θ(t))dt+Φ(t1,x(t1))s.t.x˙(t)=f(t,x(t),θ(t)),t[t0,t1],x(t0)=x0\inf _{\theta} J[\theta]=\int_{t_{0}}^{t_{1}} L(t, x(t), \theta(t)) d t+\Phi\left(t_{1}, x\left(t_{1}\right)\right)\\ s.t.\\ \dot{x}(t)=f(t, x(t), \theta(t)), \quad t \in\left[t_{0}, t_{1}\right], \quad x\left(t_{0}\right)=x_{0}

这里的 xx 是依赖于 θ\theta 的,如果 θ\theta 定了,那么 xx 其实也就定了,也就是 θ\theta “控制” 了整个结果,所以叫控制。

PMP

定义哈密顿算子,
H:R×Rd×Rd×ΘRH(t,x,p,θ)=pf(t,x,θ)L(t,x,θ)\begin{array}{l} H: \mathbb{R} \times \mathbb{R}^{d} \times \mathbb{R}^{d} \times \Theta \rightarrow \mathbb{R} \\ H(t, x, p, \theta)=p^{\top} f(t, x, \theta)-L(t, x, \theta) \end{array}

那么我们可以得到 Bolza 问题的一个必要但不充分条件,称为 Pontryagin 最大值原理,简称为 PMP
x˙(t)=ρH(t,x(t),p(t),θ(t)),x(t0)=x0p˙(t)=xH(t,x(t),p(t),θ(t)),p(t1)=xΦ(x(t1))H(t,x(t),p(t),θ(t))H(t,x(t),p(t),θ)θΘ and a.e.t[t0,t1]\begin{array}{l} \dot{x}^{*}(t)=\nabla_{\rho} H\left(t, x^{*}(t), p^{*}(t), \theta^{*}(t)\right), \quad x^{*}\left(t_{0}\right)=x_{0} \\ \dot{p}^{*}(t)=-\nabla_{x} H\left(t, x^{*}(t), p^{*}(t), \theta^{*}(t)\right), \quad p^{*}\left(t_{1}\right)=-\nabla_{x} \Phi\left(x^{*}\left(t_{1}\right)\right) \\ H\left(t, x^{*}(t), p^{*}(t), \theta^{*}(t)\right) \geq H\left(t, x^{*}(t), p^{*}(t), \theta\right) \\ \quad \forall \theta \in \Theta \text { and } \text {a.e.t} \in\left[t_{0}, t_{1}\right] \end{array}

HJB

我们把上面提到的 Bolza 问题放到更大一类的问题中,
V(s,z):=infθst1L(t,x(t),θ(t))dt+Φ(x(t1))x˙(t)=f(t,x(t),θ(t)),t[s,t1],x(s)=zV(s, z):=\inf _{\theta} \int_{s}^{t_{1}} L(t, x(t), \theta(t)) d t+\Phi\left(x\left(t_{1}\right)\right)\\ \dot{x}(t)=f(t, x(t), \theta(t)), \quad t \in\left[s, t_{1}\right], \quad x(s)=z

利用动态规划原理,那么我们可以得到 Bolza 问题的充分必要条件,即 Hamilton-Jacobi-Bellman 方程,简称 HJB,
tV(t,x)+infθΘ{L(t,x,θ)+[xV(t,x)]f(t,x,θ)}(t,x)(t0,t1)×RdV(t1,x)=Φ(x)\begin{array}{ll} \partial_{t} V(t, x)+\inf _{\theta \in \Theta}\left\{L(t, x, \theta)+\left[\nabla_{x} V(t, x)\right]^{\top} f(t, x, \theta)\right\} & (t, x) \in\left(t_{0}, t_{1}\right) \times \mathbb{R}^{d} \\ V\left(t_{1}, x\right)=\Phi(x) \end{array}

平均场最优控制公式

那么神经网络和上面提到的东西有什么关系呢?

我们知道,深度残差网络可以写成如下的形式,
x(k+1)=x(k)+f(x(k),θ(k)),k=0,,K1x(0)=x,θ(k)Θy^=g(x(K))\begin{array}{lll} x(k+1)=x(k)+f(x(k), \theta(k)), & k=0, \ldots, K-1 & x(0)=x, & \theta(k) \in \Theta \\ \widehat{y}=g(x(K)) \end{array}
如果我们把 loss function 用 Φ(x(K),y)\Phi(x(K), y) 来表示,那么监督学习问题本质上就是求解,

inf(θ(0),,θ(K1))ΘKE(x,y)μ[Φ(x(K),y)+k=0K1L(x(k),θ(k))]x(k+1)=x(k)+f(x(k),θ(k)),k=0,,K1,x(0)=x\inf _{(\theta(0), \ldots, \theta(K-1)) \in \Theta^{K}} \mathbb{E}_{(x, y) \sim \mu}\left[\Phi(x(K), y)+\sum_{k=0}^{K-1} L(x(k), \theta(k))\right]\\ x(k+1)=x(k)+f(x(k), \theta(k)), \quad k=0, \ldots, K-1, \quad x(0)=x

这里的 L:Rd×ΘRL: \mathbb{R}^{d} \times \Theta \rightarrow \mathbb{R} 可以理解为正则化项,譬如用来惩罚 θ\theta

从这里可以达到,残差网络刻画的问题是离散问题,而前面提到的最优控制问题都是连续问题。从离散到连续,本质上是一个逼近问题。后面再考虑逼近,我们现在直接把离散问题写成连续的问题,

infθL([0,T],Θ)E(x,y)μ[Φ(x(T),y)+0TL(x(t),θ(t))dt]s.t.x˙(t)=f(x(t),θ(t)),t[0,T],x(0)=x\inf _{\theta \in L^{\infty}([0, T], \Theta)} \mathbb{E}_{(x, y) \sim \mu}\left[\Phi(x(T), y)+\int_{0}^{T} L(x(t), \theta(t)) d t\right]\\ s.t.\\ \dot{x}(t)=f(x(t), \theta(t)), \quad t \in[0, T], \quad x(0)=x

对比显示欧拉离散,这里好像少了一个 Δt\Delta t,这可以利用 ResNet 的特有的性质进行调整,可以参考相关的文献。我们发现这个问题和原来的 Bolza 问题,只有一点点不一样。我们称这个问题为平均场最优控制问题。从这里我们可以看到,所谓的残差神经网络,本质上刻画了一个离散的最优控制问题。

最优性性条件在平均场中的迁移

既然 ResNet 和最优控制问题有这样一个关系,那么最优控制中的一些理论,能不能迁移到 ResNet 上呢?最优性条件?

同样地,我们有平均场 PMP,
x˙(t)=f(x(t),θ(t)),x(t)=xp(t)=xH(x(t),p(t),θ(t)),pT=xΦ(x(T),y)EμH(x(t),p(t),θ(t))EμH(x(t),p(t),θ),θΘ, a.e. t[0,T](x,y)μ\begin{array}{ll} \dot{x}^{*}(t)=f\left(x^{*}(t), \theta^{*}(t)\right), & x^{*}(t)=x \\ p^{*}(t)=-\nabla_{x} H\left(x^{*}(t), p^{*}(t), \theta^{*}(t)\right), & p_{T}^{*}=-\nabla_{x} \Phi\left(x^{*}(T), y\right) \\ \mathbb{E}_{\mu} H\left(x^{*}(t), p^{*}(t), \theta^{*}(t)\right) \geq \mathbb{E}_{\mu} H\left(x^{*}(t), p^{*}(t), \theta\right), & \forall \theta \in \Theta, \quad \text { a.e. } t \in[0, T] \\ (x, y) \sim \mu \end{array}

以及平均场 HJB,
tV(t,ρ)+infθΘRd+mL(x,θ)+[ρV(t,ρ)(x,y)][f(x,θ),0]dρ(x,y)=0V(T,ρ)=Rd+mΦ(x,y)dρ(x,y)\begin{array}{l} \partial_{t} V(t, \rho)+\inf _{\theta \in \Theta} \int_{\mathbb{R}^{d+m}} L(x, \theta)+\left[\partial_{\rho} V(t, \rho)(x, y)\right]^{\top}[f(x, \theta), 0] d \rho(x, y)=0 \\ V(T, \rho)=\int_{\mathbb{R}^{d+m}} \Phi(x, y) d \rho(x, y) \end{array}

最优控制诱导的网络学习算法

求解最优控制问题的一些原有的数值迭代算法,能导出或者说对应着什么样的神经网络训练算法呢?

为求解 PMP,使用在最优控制中的 MSA(method of sucessive approximations) 算法可以写成,
x˙n(t)=f(xn(t),θn(t))xn(0)=xp˙n(t)=xH(xn(t),pn(t),θn(t))pn(T)=xΦ(xn(T),y)θn+1(t)=argmaxθΘH(xn(t),pn(t),θ)\begin{array}{ll} \dot{x}^{n}(t)=f\left(x^{n}(t), \theta^{n}(t)\right) & x^{n}(0)=x \\ \dot{p}^{n}(t)=-\nabla_{x} H\left(x^{n}(t), p^{n}(t), \theta^{n}(t)\right) & p^{n}(T)=-\nabla_{x} \Phi\left(x^{n}(T), y\right) \\ \theta^{n+1}(t)=\underset{\theta \in \Theta}{\arg \max } H\left(x^{n}(t), p^{n}(t), \theta\right) \end{array}

如果将第三个式子替换成,
θn+1(t)=θn(t)+ηθH(xn(t),pn(t),θ)\theta^{n+1}(t)=\theta^{n}(t)+\eta \nabla_{\theta} H\left(x^{n}(t), p^{n}(t), \theta\right)

本质上就对应这梯度下降的 BP 型神经网络。同样地,我们从其他角度出发,也可以得到神经网络训练的所谓的层并行算法,不再细述。

神经网络稳定性

稳定性

在差分中,我们要求稳定性和相容性来保证收敛性,在神经网络中,我们也需要保证稳定性,设想,如果神经网络的误差对输入数据非常敏感,那么它就非常不鲁棒,一有噪音,就会出问题。所有,最近就有各种各样的工作,来保证深层 ResNet 的稳定性。

其中一类方法,对原有的 ResNet 进行改进,比如说约束权重。另外一类方法,就是下面要提到的,利用利用经典差分中已有的数值离散方法极其对应的稳定性理论,将差分格式迁移到平均场中,设计对应的网络结构,相应的稳定性也就有了保证。

不同控制方程离散诱导的神经网络结构

我们在研究差分格式的时候,最为重视的无非就是三性——稳定性、相容性、收敛性。这些性质也就可以自然而然地对应到不同差分格式对应的神经网络架构中。稳定性、收敛性相关理论在微分方程数值解中已经非常成熟,这里就不再介绍。

前面我们提到对于控制方程的前向欧拉格式离散,正好对应着那样一个 ResNet,其他的离散方式,也对应着相应的结构呢。这样呢,在差分中有的稳定性质,就可以搬到深度学习中去了。比如说隐式欧拉的无条件稳定,龙格-库塔方法的稳定性分析等等。

PDE 神经网络架构

前面提到的都是 ODE 控制方程对应的网络问题,那么对于 PDE,是不是也有一些类似的研究呢?答案是肯定的。比如说,卷积神经网络对应的一些图像处理问题,本质上就是对应着 PDE 的问题。还有,就是,我们可以利用特征法,找出一些 PDE 问题和深度学习的一些联系。

动力系统逼近的 NN 数学结果

我们知道,神经网络的可解释性差,没有太多的数学理论和结果来指导神经网络的训练和调参。深度学习的问题主要表现在以下三个方面:

  • 逼近问题:这是个理论问题。这是个假设空间(迭代解所在的空间)大小的问题。万有逼近定理告诉我们,足够深度的神经网络可以逼近任意函数,逼近毕竟是比较,可能永远不会相等。那么怎么逼近?朝那个方向逼近的,逼近的速度怎么样?有没有理论上的保证?这就是逼近问题。
  • 优化问题:怎么设计网络,如何设计下降方向,怎么样让网络收敛到已有信息下,所能得到的那个近似解?
  • 泛化问题:这是和数据有关的。数据上的改变带来的结果的准确与否,都可以叫做泛化问题。包括维数的变化,导致的维数诅咒,也可以算是泛化问题。所谓的泛化,就是说在不同数据上做的结果是不是都是靠谱的,你有没有信心,敢拍胸脯说你这个 NN 算出来的一定能达到多少多少的准确率。
    最优控制与深度学习

既然特定的 ResNet 对应着一定的最优控制问题,那么,能否借助控制问题的相关分析,来解决神经网络的理论问题呢?已经有一些存在的数学上的分析工作,从这三个方面,讨论了动力系统逼近深度学习。这里不再细述,有兴趣的可以看相关文章。动力系统为深度学习的可解释性,提供了非常独特的视角与简介。