内积空间下为什么神经网络可以拟合任何函数

柏舟   新冠5年 02-20

神经网络解决这样一个问题:假设需要拟合的函数为f*(x),有数据集D:(x,y)分布在f*(x)上,损失函数J(f(x,w)),最后得到一个最佳拟合f(x,w)。

最佳二次逼近

首先,我们看看传统的拟合方法,传统的方法将f(x)写成一组基下的坐标:

\[ f(x)\approx\sum_{i=0}^nk_i\phi_i(x) \]

常见的基有:

  1. Taylor展开:\(1,x,x^2,x^3,\cdots\)
  2. 傅里叶变换:\(\cos nx, \sin nx\)
  3. Legendre多项式等等。

对于Hilbert空间,这组基展成一个平面$M=span{\phi_i}$,而f(x)的最佳二次逼近就是$J(f)=<f(x),\sum_^nk_i\phi_i(x)>$最小。用几何的话讲,f(x)可以分解成两个部分,第一项垂直于M,第二项平行于M。 \(f(x)=f_{\perp}(x)+f_{\parallel}(x)\) 显然,当J(f)最小时,第二项取得极小值。

如何计算最佳逼近的系数k

因为第二项可以由基线性表出,所以

\[ f_{\parallel}(x)=\sum_{i=0}^nk_i\phi_i(x) \]

与phi做内积:

\[ <f_{\parallel}(x),\phi_j(x)>=\sum_{i=0}^nk_i<\phi_i(x),\phi_j(x)> \]

这就是一个简单的线性方程组:

\[ Ak=b \]

其中,\(a_{ij}=<\phi_i(x),\phi_j(x)>\)\(b_j=<f(x),\phi_j(x)>\)

比如傅里叶级数(以cos为例):

\[ b_j=<f(x),\cos jx>=\frac{1}{\pi}\int_{-\pi}^{\pi}f(x)\cos jxdx \]

而aij,由于三角函数的正交性,A=I。所以你可以注意到,傅里叶和Legendre多项式都是正交的,实际求解系数只需要计算b,而x^n不是正交的,实际计算需要计算A。

此外,最小二次法也是上述过程的特殊形式:

\[ A^TAk=A^Tb,<x,y>=y^Tx \]

实际上为:

\[ <a_ik,a_i>=<b,a_i>,A=[a_1,a_2,\cdots,a_n] \]

Hilbert空间下的神经网络

对于全连接形式的神经网络,假设有n层,可以写成如下形式:

\[ f_0(x)=x,\\ f_i(x)=s(K_if_{i-1}(x)+b_i),\\ f_n(x)=K_nf_{n-1}(x)+b_n. \]

s为激活函数,K为全连接的权重,b为偏置量。

首先,s采用RELU或者Leaky-RELU这种线性的激活函数,不是线性的推导不了。神经网络可以写成:

\[ f_i(x)=K_is(f_{i-1}(x+b_i)) \]

假设$f_i(x)$只有一维,也就是求取$f_i(x)$在空间$span{ s(f_(x+b_i))}$的最佳逼近,结果为列向量k。如果为m维,对每一维求取最佳逼近,权重K为

\[ K_i=[k_1,k_2,\cdots] \]

这样递归的,一层层写方程,假如每层有m个神经元,最后总共有nmm个方程。

内积的形式如何确定?

内积的形式由损失函数J导出,但不是任意的J都能导出内积。下面以MSE为例:

\[ MSE=\sum(f(x_i;w)-y_i)(f(x_i;w)-y_i)^T \]

对比以下的内积形式:

\[ <f(x),g(x)>=\int f(x)g(x)^Tdx \]

导出范数:

\[ ||f(x;w)-f^*(x)||^2=\int (f(x;w)-f^*(x))(f(x;w)-f^*(x))^Tdx \]

是不是一模一样?MSE其实就是以上内积形式在数据集D上的采样,然后让他们的距离最小,最小当然是f*垂直于f(x;w)时。

但是如KL散度就无法导出内积:

\[ D(P||Q)=\sum_xp(x)log_2\frac{P(x)}{Q(x)}=H(P,Q) - H(P) \]

因为P和Q是不对称的,不满足交换律。

其它问题

  1. 偏置量b怎么办? 见有限元。

  2. 比如KL散度这种无法导出内积的怎么办? Cea定理,适用于Banach空间,同时适用于非线性的激活函数。结论是

\[ ||f(x;w)-f^*(x)||\le c\min_{v\in span \{\phi_i\}}||f(x;w)-v|| \]

也就是说,基取得越好,结果越逼近。详见《变分学讲义》274页。

  1. 为什么要求Hilbert空间或者Banach空间? 因为,虽然J有下界,但是如果空间不完备是取不到下界的。虽然现实环境中基本不存在不完备的空间,但是对于分类问题,f(x)的值域是Z不是R,连连续性都无法满足,就很难处理。