众所周知泛函分析心犯寒,无数的前人帮我证明了,它确实是工科生能够遇到的最难的数学。不过好在我有那么一点点点点点的泛函分析基础,希望我能快速学会这个东西,将它用在工程实践中,我并不需要掌握太多理论上的推导与证明。

参考1,主要记录本人的学习过程。

变分

在实数集中,最常研究的一个问题是函数的极值最值问题,甚至在凸优化中也是局限于该问题的研究(虽然极其复杂罢了);当函数的定义域不再是实数、复数、向量甚至不再是数,而是Hilbert空间的变量(函数)后,如何求解这样的函数的极值最值呢?这便是变分variation所要研究的对象,而待求解的函数对象,也有一个专业的名字,即泛函functional

泛函的定义

泛函是定义在函数空间上的函数(例如平方可积的Hilbert空间上的常见函数),其值域是数集,即f:HRf:\mathbb{H\mapsto R}。变分学通常只研究一种具有特殊形式的泛函,即积分泛函,形如:

J(y)=ΩF[x,y(x),y(x),2y(x),]dxJ(y)=\int_\Omega F[x,y(x),\nabla y(x),\nabla^2 y(x), \cdots]\mathrm{d}x

而通常只研究一阶微分下的泛函,即:

J(y)=ΩF[x,y(x),y(x)]dxJ(y)=\int_\Omega F[x,y(x),\nabla y(x)]\mathrm{d}x

所有的博客、教程和参考书都会提到变分法的一个重要应用,即最速下降线,它是一个非常典型的变分法问题。此外,不常见到的图像分割、图像去噪的原理也是基于变分法的推导结果的。因此掌握变分法的精髓有助于加深图像领域的学习理解。

C1C^1表示函数在定义域上连续一阶可微,C0C^0表示函数在定义域上连续,C0C_0表示函数在定义域是紧致的(将闭集映射为闭集),C0C_0^\infty表示函数在定义域上是紧致的且无穷次可微。紧致集往往与函数的最值挂钩。

与生成式模型的联系,著名的图像生成算法框架VAEV就是变分的variation,变分法在计算机视觉领域有着广泛的应用。

Euler-Lagrange方程

本方程相当于函数极值领域的极值条件,考虑单变量的函数L(t,u,u˙)C1(J×Ω×RN,R1)L(t,u,\dot{u})\in C^1(J\times \Omega\times \mathbb{R}^N,\mathbb{R}^1),其中J=[t0,t1]R1J=[t_0,t_1]\subset\mathbb{R}^1,开区域ΩRN\Omega\subset\mathbb{R}^N,泛函:

I(u)=t0t1L[t,u(t),u˙(t)]dtI(u)=\int_{t_0}^{t_1}L[t,u(t),\dot{u}(t)]\mathrm{d}t

在不致于引起误解的前提下,可以简记为p=u˙(t),u=u(t)p=\dot{u}(t),u=u(t),若上述泛函在uu^*处存在极小值,则该点处必然满足Euler-Lagrange方程:

t0t1Lui[s,u(s),p(s)]dsLpi[t,u(t),p(t)]=const\int_{t_0}^{t_1}L_{u_i}[s,u(s),p(s)]\mathrm{d}s-L_{p_i}[t,u(t),p(t)]=\mathrm{const}

式中的LuiL_{u_i}LpiL_{p_i}均表示对应的偏导数。更为常用的是微分形式的EL方程,即:

LuddtLp=0\frac{\partial L}{\partial u}-\frac{\mathrm{d}}{\mathrm{d}t}\frac{\partial L}{\partial p}=0

推导过程

上式的推导过程使用了全微分展开,在极小值附近的小邻域UUUUC1(J,Ω)C^1(J,\Omega)方式拓扑成邻域球)中,对于一个任意函数φ(t)C01(J,RN)\varphi(t)\in C_0^1(J,\mathbb{R}^N),存在ε=ε(φ)>0\varepsilon = \varepsilon(\varphi)>0,s.t. 当0<ε<ε(φ)0<|\varepsilon|<\varepsilon(\varphi)时,u+εφUu^*+\varepsilon\varphi\in U(类比函数的极值点附近邻域),则有:

I(u+εφ)I(u)0I(u^*+\varepsilon\varphi)-I(u^*)\ge 0

类比函数的一阶微分,定义对泛函的一阶变分为:

δI(u,φ)=limε0I(u+εφ)I(u)ε\delta I(u^*,\varphi)=\lim\limits_{\varepsilon\to 0}\frac{I(u^*+\varepsilon\varphi)-I(u^*)}{\varepsilon}

在邻域处使用tt的全微分展开,有:

limε01ε[I(u+εφ)I(u)]=limε01εt0t1[L(t,u+εφ,u˙+εφ˙)L(t,u,u˙)]dt=limε01εt0t1[L(t,u,p)+Lt0+i=0n(Luiεφi+Lpiεφ˙i+ο(ε,i))L(t,u,p)]dt=t0t1i=0N(Luiφi+Lpiφ˙i)t,u,pdt\begin{aligned} &\lim\limits_{\varepsilon\to 0}\frac{1}{\varepsilon}[I(u^*+\varepsilon\varphi)-I(u^*)]\\ &=\lim\limits_{\varepsilon\to 0}\frac{1}{\varepsilon}\int_{t_0}^{t_1}[L(t,u^*+\varepsilon\varphi,\dot{u}^*+\varepsilon\dot{\varphi})-L(t,u^*,\dot{u}^*)]\mathrm{d}t\\ &=\lim\limits_{\varepsilon\to 0}\frac{1}{\varepsilon}\int_{t_0}^{t_1}\left[L(t,u^*,p^*)+\frac{\partial L}{\partial t}\cdot 0+\sum_{i=0}^n\left(\frac{\partial L}{\partial u_i}\varepsilon\varphi_i+\frac{\partial L}{\partial p_i}\varepsilon\dot{\varphi}_i+\omicron(\varepsilon,i)\right)-L(t,u^*,p^*)\right]\mathrm{d}t\\ &=\int_{t_0}^{t_1}\left.\sum_{i=0}^N\left(\frac{\partial L}{\partial u_i}\varphi_i+\frac{\partial L}{\partial p_i}\dot{\varphi}_i\right)\right|_{t,u^*,p^*}\mathrm{d}t \end{aligned}

值得注意的是,这里的全微分展开因为是在RN\mathbb{R}^N空间中的向量值函数展开,因此会产生NN个分量偏导数的内积。关键的步骤来了:

对第二项使用一次分步积分

分步积分结果为:

t0t1Lpφ˙dt=Lpφt0t1t0t1φdLpdtdt\int_{t_0}^{t_1}\frac{\partial L}{\partial p}\dot{\varphi}\mathrm{d}t=\left.\frac{\partial L}{\partial p}\varphi\right|_{t_0}^{t_1}-\int_{t_0}^{t_1}\varphi\frac{\mathrm{d} \frac{\partial L}{\partial p}}{\mathrm{d} t}\mathrm{d}t

而辅助函数在端点处的取值必为0,则原式进一步化简为:

t0t1Lpφ˙dt=t0t1ddtLpφdt\int_{t_0}^{t_1}\frac{\partial L}{\partial p}\dot{\varphi}\mathrm{d}t=-\int_{t_0}^{t_1}\frac{\mathrm{d}}{\mathrm{d} t}\frac{\partial L}{\partial p}\varphi\mathrm{d}t

代回原式可得:

δI(u,φ)=t0t1i=0N(LuiddtLpi)φit,u,pdt0\delta I(u^*,\varphi)=\int_{t_0}^{t_1}\left.\sum_{i=0}^N\left(\frac{\partial L}{\partial u_i}-\frac{\mathrm{d}}{\mathrm{d} t}\frac{\partial L}{\partial p_i}\right)\varphi_i\right|_{t,u^*,p^*}\mathrm{d}t\ge 0

同理可得,当ε<0\varepsilon<0时,可得δI(u,φ)0\delta I(u^*,\varphi)\le 0,因此可得:

δI(u,φ)=t0t1i=0N(LuiddtLpi)φit,u,pdt0\delta I(u^*,\varphi)=\int_{t_0}^{t_1}\left.\sum_{i=0}^N\left(\frac{\partial L}{\partial u_i}-\frac{\mathrm{d}}{\mathrm{d} t}\frac{\partial L}{\partial p_i}\right)\varphi_i\right|_{t,u^*,p^*}\mathrm{d}t\equiv 0

由于积分的值恒为零,而函数φ(t)\varphi(t)是任意的,因此必有:

LuiddtLpi0\frac{\partial L}{\partial u_i}-\frac{\mathrm{d}}{\mathrm{d} t}\frac{\partial L}{\partial p_i}\equiv 0

这就是微分形式的欧拉-拉格朗日方程。在工程应用领域,使用EL方程足够应对绝大多数变分问题的极值求解了,因为大多数物理能量函数都是凸的(控制论中也会人为构造凸的能量函数,因此本方程仍然适用)。

极值点的判别

与函数的极值点判别条件类似,泛函在极值点处取严格极大值,当且仅当其二阶变分严格小于0;反之取严格极小值时,二阶变分严格大于0。而二阶变分的形式过于复杂,且讨论过程过于数学,实在是看不懂了,到此为止。

参考文献

[1] 张恭庆.变分学讲义[M].1版.北京:高等教育出版社,2011