梯度流是个什么玩意儿

Posted 陆嵩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了梯度流是个什么玩意儿相关的知识,希望对你有一定的参考价值。

梯度流是个什么玩意儿

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

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

以上是关于梯度流是个什么玩意儿的主要内容,如果未能解决你的问题,请参考以下文章

梯度下降算法过程详细解读

Hystrix是个什么玩意儿

Hystrix是个什么玩意儿

3编程语言是个什么玩意儿

3编程语言是个什么玩意儿

Windows配置:环境变量是个什么玩意儿?