Skip to content

魏尔斯特拉斯理论下的 UAT 证明

UAT(通用逼近定理)的核心要旨是:神经网络能逼近任何连续函数,而连续函数又可用多项式逼近(魏尔斯特拉斯定理)。

魏尔斯特拉斯定理

直观解释

假设

fC([0,1])f\in C([0,1])

ff[0,1][0,1] 上连续。

那么对任意

ε>0\varepsilon>0

存在多项式 P(x)P(x) 使得

f(x)P(x)<ε,x[0,1].|f(x)-P(x)|<\varepsilon, \qquad \forall x\in [0,1].

接下来,我们尝试证明这个定理。

第 1 步:构造伯恩斯坦多项式

定义

Bn(f)(x)=k=0nf ⁣(kn)(nk)xk(1x)nk.B_n(f)(x) = \sum_{k=0}^{n} f\!\left(\frac{k}{n}\right) \binom{n}{k} x^k(1-x)^{n-k}.

这就是伯恩斯坦多项式。

注意

(nk)xk(1x)nk\binom{n}{k} x^k(1-x)^{n-k}

本身是 xx 的多项式。

因此

Bn(f)(x)B_n(f)(x)

也是多项式。

第 2 步:理解它在做什么。这个多项式有点抽象,但我们可以换一种方式解读它。

首先注意恒等式

k=0n(nk)xk(1x)nk=(x+(1x))n=1\sum_{k=0}^{n} \binom{n}{k} x^k(1-x)^{n-k} =(x+(1-x))^n =1

因此

Bn(f)(x)B_n(f)(x)

实际上是序列

f(0),f(1n),,f(1)f(0), f\left(\frac1n\right), \dots, f(1)

的加权平均,其中权重为

pn,k(x)=(nk)xk(1x)nk.p_{n,k}(x) = \binom{n}{k} x^k(1-x)^{n-k}.

而这些权重之和为 1。

但我们还可以从概率的角度解读。

设随机变量

XnBinomial(n,x).X_n\sim \mathrm{Binomial}(n,x).

P(Xn=k)=(nk)xk(1x)nk.P(X_n=k) = \binom{n}{k} x^k(1-x)^{n-k}.

那么

Bn(f)(x)=E ⁣[f ⁣(Xnn)].B_n(f)(x) = E\!\left[ f\!\left(\frac{X_n}{n}\right) \right].

这一步非常优雅。伯恩斯坦多项式实际上就是

f(Xnn)f\left(\frac{X_n}{n}\right)

的期望。

现在分析它为什么能逼近 f(x)f(x)

对二项分布有

E ⁣(Xnn)=x,E\!\left(\frac{X_n}{n}\right) = x,Var ⁣(Xnn)=x(1x)n.\mathrm{Var} \!\left( \frac{X_n}{n} \right) = \frac{x(1-x)}{n}.

因此

Xnn\frac{X_n}{n}

越来越集中在 xx 附近。

nn\to\infty 时,

Xnnx.\frac{X_n}{n} \to x.

于是

f ⁣(Xnn)f(x).f\!\left(\frac{X_n}{n}\right) \approx f(x).

因此

Bn(f)(x)=E ⁣[f ⁣(Xnn)]f(x).B_n(f)(x) = E\!\left[ f\!\left(\frac{X_n}{n}\right) \right] \approx f(x).

直觉上,这成立。

严格证明

由于 ff 在闭区间上连续,由闭区间上连续函数的性质:ff 必一致连续。因此,对任意 ε>0\varepsilon>0 存在 δ>0\delta>0,使得只要

uv<δ|u-v|<\delta

就有

f(u)f(v)<ε2.|f(u)-f(v)|<\frac{\varepsilon}{2}.

分解误差:

Bn(f)(x)f(x)=E(f(Xn/n)f(x)).|B_n(f)(x)-f(x)| = \left| E\Big( f(X_n/n)-f(x) \Big) \right|.

利用绝对值期望不等式:

E[f(Xn/n)f(x)].\le E\Big[ |f(X_n/n)-f(x)| \Big].

分成两部分:

A=Xn/nx<δA= {|X_n/n-x|<\delta}

Ac=Xn/nxδ.A^c= {|X_n/n-x|\ge \delta}.

第一部分:当 Xn/nx<δ|X_n/n-x|<\delta 时,

f(Xn/n)f(x)<ε2.|f(X_n/n)-f(x)| < \frac{\varepsilon}{2}.

这部分贡献不超过 ε2\frac{\varepsilon}{2}

第二部分:设 M=max[0,1]fM=\max_{[0,1]}|f|。则

f(Xn/n)f(x)2M.|f(X_n/n)-f(x)| \le 2M.

因此这部分贡献不超过 2MP(Xn/nxδ)2M·P(|X_n/n-x|\ge\delta)

利用切比雪夫不等式:

P(Xn/nxδ)x(1x)nδ214nδ2.P(|X_n/n-x|\ge\delta) \le \frac{x(1-x)} {n\delta^2} \le \frac1{4n\delta^2}.

因此

2MP(Xn/nxδ)M2nδ2.2M· P(|X_n/n-x|\ge\delta) \le \frac{M}{2n\delta^2}.

nn 足够大时,

M2nδ2<ε2.\frac{M}{2n\delta^2} < \frac{\varepsilon}{2}.

于是

Bn(f)(x)f(x)<ε.|B_n(f)(x)-f(x)| < \varepsilon.

而且这个估计与 xx 无关。

因此,

supx[0,1]Bn(f)(x)f(x)0.\sup_{x\in[0,1]} |B_n(f)(x)-f(x)| \to 0.

Bn(f)fB_n(f) \to f

一致收敛。

魏尔斯特拉斯定理证毕。

UAT 的证明

接下来,我们用只含基本微积分就能理解的语言,逐步走一遍用多项式逼近证明通用逼近定理(UAT)的过程。为清晰起见,我们以一元连续函数为例;多元情形可类似推广。

目标:给定连续函数 f:[a,b]Rf:[a,b]\to \mathbb{R} 和任意 ϵ>0\epsilon>0,存在一个单隐层神经网络

N(x)=i=1nαiσ(βix+γi)N(x) = \sum_{i=1}^{n} \alpha_i \sigma(\beta_i x + \gamma_i)

使得

N(x)f(x)<ϵ,x[a,b]|N(x) - f(x)| < \epsilon, \quad \forall x\in [a,b]

其中 σ\sigma 是一个「非多项式、连续」的激活函数(例如 sigmoid)。

第 1 步:使用魏尔斯特拉斯定理

我们前面已经证明过这个定理:任何连续函数都可以被多项式 P(x)P(x) 逼近。即

ϵ>0,P(x) 使得 f(x)P(x)<ϵ/2\forall \epsilon>0, \exists P(x) \text{ 使得 } |f(x)-P(x)|<\epsilon/2

这里我们暂不考虑神经网络,而是把问题转化为「逼近一个多项式」。我们知道,多项式可以写成 a0+a1x++amxma_0 + a_1 x + \dots + a_m x^m

第 2 步:用激活函数逼近单项式 xkx^k

如果我们能用单隐层中若干神经元的线性组合逼近 xkx^k,那么就能逼近多项式 P(x)P(x)

单隐层网络的形式为:

N(x)=i=1nαiσ(βix+γi) N(x) = \sum_{i=1}^{n} \alpha_i \sigma(\beta_i x + \gamma_i)

选取合适的 σ(x)\sigma(x),例如 sigmoid:

σ(x)=11+ex \sigma(x) = \frac{1}{1+e^{-x}}

它的泰勒展开在局部非零:

σ(x)=12+14x148x3+ \sigma(x) = \frac12 + \frac14 x - \frac1{48} x^3 + \dots

利用其平移版本的线性组合,可以生成任意的多项式项。

通过调节 αi,βi,γi\alpha_i, \beta_i, \gamma_i,线性组合

iαiσ(βix+γi) \sum_i \alpha_i \sigma(\beta_i x + \gamma_i)

可以任意精度逼近 xkx^k(类似于微积分中的泰勒多项式逼近)。

这里的要点直觉:每个神经元都是一个「非线性函数块」,把许多这样的块加在一起,就能组合成多项式形式。

第 3 步:组合逼近多项式

对多项式 P(x)=k=0makxkP(x) = \sum_{k=0}^m a_k x^k,对每个 xkx^k 找到逼近它的神经元组合 Nk(x)N_k(x)

Nk(x)xk<ϵ2(m+1) |N_k(x) - x^k| < \frac{\epsilon}{2 (m+1)}

然后组合:

N(x)=k=0makNk(x) N(x) = \sum_{k=0}^m a_k N_k(x)

误差界:

N(x)P(x)k=0makNk(x)xk<k=0makϵ2(m+1)<ϵ/2 |N(x) - P(x)| \le \sum_{k=0}^m |a_k||N_k(x)-x^k| < \sum_{k=0}^m |a_k| \frac{\epsilon}{2(m+1)} < \epsilon/2

第 4 步:三角不等式完成逼近

我们有两处误差来源:

  1. f(x)P(x)<ϵ/2|f(x) - P(x)| < \epsilon/2(魏尔斯特拉斯定理)
  2. P(x)N(x)<ϵ/2|P(x) - N(x)| < \epsilon/2(神经元对多项式的逼近)

由三角不等式:

f(x)N(x)f(x)P(x)+P(x)N(x)<ϵ/2+ϵ/2=ϵ |f(x) - N(x)| \le |f(x)-P(x)| + |P(x)-N(x)| < \epsilon/2 + \epsilon/2 = \epsilon

证毕。

换言之:神经网络的非线性单元充当「可调节的多项式基」,单层就能把它们组合成任意多项式,从而逼近任何连续函数。

UAT 与机器学习视角

这个证明其实相当有意思:

伯恩斯坦多项式本质上是在表达

f(x)kf ⁣(kn)(nk)xk(1x)nk基函数f(x) \approx \sum_k f\!\left(\frac{k}{n}\right) \cdot \underbrace{ \binom{n}{k} x^k(1-x)^{n-k} }_{\text{基函数}}

这与神经网络

f(x)iaiσ(wix+bi)f(x) \approx \sum_i a_i·\sigma(w_i x+b_i)

非常相似。

差别仅在于:

  • 魏尔斯特拉斯使用多项式基 xk(1x)nkx^k(1-x)^{n-k}
  • 神经网络使用激活函数基 σ(wx+b)\sigma(wx+b)

因此,从现代视角看,UAT 定理可以理解为魏尔斯特拉斯定理向「神经网络基函数」的推广。魏尔斯特拉斯说「多项式基是稠密的」,UAT 则说「神经元基也是稠密的」。