梯度流是个什么玩意儿

wuchangjian2021-11-15 10:46:20编程学习

梯度流是个什么玩意儿

举个最最最最简单的例子。

考虑一个经典的极小化问题:
min ⁡ x f ( x ) \min _{\mathbf{x}} f(\mathbf{x}) xminf(x)
其中 x ∈ R n , f : R n → R \mathrm{x} \in \mathbb{R}^{n}, f: \mathbb{R}^{n} \rightarrow \mathbb{R} xRn,f:RnR 是一个二次可微的函数。 x ∗ \mathrm{x}^{*} x 是上述问题的解的必要条件是
∇ f ( x ∗ ) = 0 \nabla f\left(\mathrm{x}^{*}\right)=\mathbf{0} f(x)=0
其中 ∇ \nabla 表示梯度。上述公式是一个具有 n n n 个末知量和 n n n 个方程的非线性系统.。求解该系统的一个熟知的方法是梯度流方法,即求解如下常微分方程:
d x ( t ) d t = − ∇ f ( x ) , x ( 0 ) = x 0 \frac{\mathrm{d} \mathbf{x}(t)}{\mathrm{d} t}=-\nabla f(\mathbf{x}), \quad \mathbf{x}(0)=\mathbf{x}_{0} dtdx(t)=f(x),x(0)=x0
当该方程达到稳态解,即
d x ( t ) d t = 0 \frac{\mathrm{d} \mathbf{x}(t)}{\mathrm{d} t}=\mathbf{0} dtdx(t)=0
便得到
∇ f ( x ∗ ) = 0 \nabla f\left(\mathbf{x}^{*}\right)=\mathbf{0} f(x)=0
对于一个关于 x : Ω → R n \mathrm{x}: \Omega \rightarrow \mathbb{R}^{n} x:ΩRn Fréchet 可微的能量泛函 E ( x ) E(\mathrm{x}) E(x),它在度量 g g g 下的梯 度 ∇ g E ( x ) \nabla_{g} E(x) gE(x) 由下式确定
⟨ ∇ g E ( x ) , ϕ ⟩ g = δ ( E ( x ) , ϕ ) , ∀ ϕ ∈ C 0 ∞ ( Ω ; R n ) \left\langle\nabla_{g} E(\mathbf{x}), \phi\right\rangle_{g}=\delta(E(\mathbf{x}), \phi), \quad \forall \phi \in C_{0}^{\infty}\left(\Omega ; \mathbb{R}^{n}\right) gE(x),ϕg=δ(E(x),ϕ),ϕC0(Ω;Rn)
其中 δ ( E ( x ) , ϕ ) : = d E ( x + ε ϕ ) d ε ∣ ε = 0 \delta(E(\mathrm{x}), \phi):=\left.\frac{\mathrm{d} E(\mathrm{x}+\varepsilon \phi)}{\mathrm{d} \varepsilon}\right|_{\varepsilon=0} δ(E(x),ϕ):=dεdE(x+εϕ)ε=0 是能量泛函 E ( x ) E(\mathrm{x}) E(x) 的一阶变分。对于同一个能量泛函,选取不同的度量 g g g 将会得到不同的梯度流。如果选取 L 2 L^{2} L2 意义下的内积作为 度量, 则有
⟨ ∇ L 2 E ( x ) , ϕ ⟩ L 2 = δ ( E ( x ) , ϕ ) \left\langle\nabla_{L^{2}} E(\mathrm{x}), \phi\right\rangle_{L^{2}}=\delta(E(\mathrm{x}), \phi) L2E(x),ϕL2=δ(E(x),ϕ)
从而得到 L 2 L^{2} L2 梯度流
∂ x ∂ t = − ∇ L 2 E ( x ) \frac{\partial \mathbf{x}}{\partial t}=-\nabla_{L^{2}} E(\mathbf{x}) tx=L2E(x)
或弱形式的 L 2 L^{2} L2 梯度流
⟨ ∂ x ∂ t , ϕ ⟩ = − ⟨ ∇ L 2 E ( x ) , ϕ ⟩ L 2 , ∀ ϕ ∈ C 0 ∞ ( Ω ; R n ) . \left\langle\frac{\partial \mathbf{x}}{\partial t}, \phi\right\rangle=-\left\langle\nabla_{L^{2}} E(\mathbf{x}), \phi\right\rangle_{L^{2}}, \quad \forall \phi \in C_{0}^{\infty}\left(\Omega ; \mathbb{R}^{n}\right) . tx,ϕ=L2E(x),ϕL2,ϕC0(Ω;Rn).

参考文献1

梯度流就是这么简单,就这玩意儿,我上了一学期讨论班。哭……


  1. Ambrosio L, Gigli N, Savaré G. Gradient flows: in metric spaces and in the space of probability measures[M]. Springer Science & Business Media, 2008. ↩︎

相关文章

[Redux/Mobx] 在redux中,什么是action?

[Redux/Mobx] 在redux中,什么是action?...

8月30日!2022中国新媒体大会长沙启幕

8月30日!2022中国新媒体大会长沙启幕

2022-08-22 22:25:09 新时代融合发展新气象,新征程主...

如何用 GPU硬件层加速优化Android系统的游戏流畅度—应用性能管理

作为一款VR实时操作游戏App,我们需要根据重力感应系统,实...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。