上一章讨论的是标量输出
f:Rm→R
但很多实际问题的输出不是一个数,而是一个向量。例如一个 sample correction 可能输出 3D 位移、3D rotation vector、若干权重,或者一整组高维 correction vector。此时 RBF 要描述的是
f:Rm→Rd
这时最重要的一点是:RBF 基函数本身仍然是标量,变成向量的是每个基函数携带的系数。
向量输出的形式
对第 i 个样本,设
xi∈Rm,yi∈Rd
向量值 RBF 写成
f(x)=i=1∑Nϕ(∥x−xi∥2)wi
其中
wi∈Rd
也就是说,ϕ(∥x−xi∥2) 只负责给出一个标量影响强度,而 wi 决定这个影响在输出空间中指向哪里、幅度多大。
可以把它理解成图像混合里的 mask 与颜色:
RBF 基函数 = 输入空间中的 scalar influence / soft mask
向量系数 = 这个 influence 携带的输出方向和幅度
mask 是标量,但颜色可以是 RGB 向量。同理,RBF 的影响场是标量,但它携带的 correction 可以是多维向量。
三个 3D 输出样本的展开
假设有 3 个样本
x1→y1,x2→y2,x3→y3
并且每个输出都是 3D 向量:
yi=yixyiyyiz
向量值 RBF 是
f(x)=ϕ(∥x−x1∥2)w1+ϕ(∥x−x2∥2)w2+ϕ(∥x−x3∥2)w3
其中
wi=wixwiywiz
要求函数经过三个样本点:
f(x1)=y1,f(x2)=y2,f(x3)=y3
展开第一条:
ϕ(∥x1−x1∥2)w1+ϕ(∥x1−x2∥2)w2+ϕ(∥x1−x3∥2)w3=y1
展开第二条:
ϕ(∥x2−x1∥2)w1+ϕ(∥x2−x2∥2)w2+ϕ(∥x2−x3∥2)w3=y2
展开第三条:
ϕ(∥x3−x1∥2)w1+ϕ(∥x3−x2∥2)w2+ϕ(∥x3−x3∥2)w3=y3
记
ϕji=ϕ(∥xj−xi∥2)
则三条向量方程可以压缩成
ϕ11ϕ21ϕ31ϕ12ϕ22ϕ32ϕ13ϕ23ϕ33w1⊤w2⊤w3⊤=y1⊤y2⊤y3⊤
把 W 和 Y 里的向量进一步展开成标量分量,就是
ϕ11ϕ21ϕ31ϕ12ϕ22ϕ32ϕ13ϕ23ϕ33w1xw2xw3xw1yw2yw3yw1zw2zw3z=y1xy2xy3xy1yy2yy3yy1zy2zy3z
也就是同一个 K 同时作用在 x,y,z 三列输出上。
进一步记为
KW=Y
其中
K∈RN×N,W∈RN×d,Y∈RN×d
从分量角度看,向量值 RBF 就是多个标量 RBF 共享同一套 basis:
fx(x)fy(x)fz(x)=i∑ϕi(x)wix=i∑ϕi(x)wiy=i∑ϕi(x)wiz
与张量或线性算子的关系
普通向量值 RBF 可以写成
f(x)=i∑ϕ(∥x−xi∥2)wi
也可以写成
f(x)=i∑[ϕ(∥x−xi∥2)I]wi
从这个角度看,它相当于使用了一个很简单的 matrix-valued kernel:
K(x,xi)=ϕ(∥x−xi∥2)I
更一般的向量值 RBF 可以写成
f(x)=i∑K(x,xi)ci
其中
K(x,xi)∈Rd×d
这时 kernel 本身就可以表达输出分量之间的耦合,有点像一个位置相关的线性算子。
从响应关系的角度看,普通的 scalar RBF kernel 乘单位矩阵:
K(x,xi)=ϕi(x)I
表示同一个空间影响强度 ϕi(x) 同等作用到所有输出分量上。也就是说,x,y,z 三个分量共享同一个 basis,只是每一列的系数不同。
如果希望不同分量有不同的影响权重,可以使用 diagonal matrix-valued kernel:
K(x,xi)=ϕix(x)000ϕiy(x)000ϕiz(x)
这表示来自第 i 个样本中心的影响,对输出的 x,y,z 分量可以有不同强度。
更一般地,如果分量之间也会互相影响,可以使用 full matrix-valued kernel:
K(x,xi)=KxxKyxKzxKxyKyyKzyKxzKyzKzz
例如 Kxy 可以理解为:第 i 个中心携带的 y 分量系数,会如何影响查询点输出的 x 分量。
所以它和 FEM 里的弹性张量有一点共同直觉:二者都在描述某种“响应关系”,也就是输入的某种量如何引起输出的某种变化。但两者所在的层级不同,不能直接等同。
FEM 里的弹性张量描述的是同一个材料点内部从 strain 到 stress 的本构关系:
σ(x)=C(x):ε(x)
这里的 constitutive rule 可以理解成材料本身的响应规则。它回答的不是 “位置 A 如何影响位置 B”,而是“同一个材料点上,发生了某种 strain 之后,会产生怎样的 stress”。
最简单的一维例子是 Hooke's law:
σ=Eε
其中 E 是 Young's modulus。它表示同样的 strain ε,不同材料会产生不同的 stress σ。例如钢、橡胶、软组织的 E 不同,所以它们被拉伸或压缩时的反抗方式也不同。
所以 constitutive rule 的直觉是:材料在局部被拉、压、剪之后,会如何产生内部反作用。在线弹性 FEM 里,这个规则由 elastic tensor C 描述;在更复杂的材料模型里,它也可以是非线性的、各向异性的,甚至依赖历史状态。
而 RBF 的 kernel 描述的是一个样本中心的系数如何对某个输入位置的输出产生贡献:
f(x)=i∑K(x,xi)ci
也就是说,RBF kernel 更直接是空间上的 influence rule;弹性张量更直接是材料点内部的 constitutive rule。FEM 中不同位置之间的相互影响,是弹性张量经过网格离散、stiffness matrix 组装、边界条件和整体平衡方程之后才体现出来的。
大多数情况下,用标量 RBF 基函数乘向量系数已经足够。
核函数接收的是什么
经典 RBF 核函数接收的是一个非负标量距离
ri=∥x−xi∥2
所以
ϕi(x)=ϕ(ri)
通常可以认为
ϕ:R≥0→R
工程上也经常使用加权距离,而不是直接使用普通欧氏距离:
ri2=(x−xi)⊤M(x−xi)
例如输入向量由多个 feature block 拼接而成时,可以把不同 block 的影响尺度分开:
ri2=αa∥ua−ua,i∥22+αb∥ub−ub,i∥22
这里 αa 与 αb 决定两个 feature block 在距离度量中的相对重要性。
常见核函数与外推倾向
不同核函数主要区别在于:影响是局部还是全局、远离样本后是衰减还是增长、外推是否保守。
| 核函数 | 公式 | 是否局部 | 远处行为 | 外推倾向 |
|---|
| Gaussian | e−(ϵr)2 | 强局部 | 趋近 0 | 保守,远处趋向基准值 |
| Inverse Multiquadric | r2+c21 | 局部但长尾 | 趋近 0 | 比 Gaussian 衰减慢 |
| Compact Support | Wendland 等 | 非常局部 | 半径外为 0 | 很安全,但需要 fallback |
| Linear | r | 全局 | 线性增长 | 有趋势,但可能漂 |
| Cubic | r3 | 全局 | 快速增长 | 平滑,但容易 overshoot |
| Thin Plate | r2logr | 全局 | 增长 | 很平滑,但远处可能变大 |
| Multiquadric | r2+c2 | 全局 | 近似线性增长 | 有趋势,但不局部 |
对于需要保守外推的 correction problem,通常更偏向 Gaussian 或 compact support,因为它们的外推更保守,不容易在远离样本区时产生夸张结果。
exact RBF 与 normalized RBF blend
前面讨论的是 exact RBF interpolation:
f(x)=i∑ϕi(x)wi
其中 wi 通过
KW=Y
解出来。它的目标是严格满足
f(xi)=yi
另一种常见工程方案是 normalized RBF blend。它先把 kernel value 归一化成非负软权重:
ai(x)=∑jϕj(x)ϕi(x)
然后直接混合样本输出:
f(x)=i∑ai(x)yi
它不需要解线性系统,也不一定严格经过样本点。更准确地说,它更像一个基于距离的 sample-driven lookup。
| 维度 | exact RBF interpolation | normalized RBF blend |
|---|
| 形式 | ∑iϕi(x)wi | ∑iai(x)yi |
| 系数 | wi 需要求解 | 直接使用样本 yi |
| 是否严格命中样本 | 是 | 通常不是 |
| 样本点准确性 | 高 | 可能偏软 |
| 稳定性 | 可能 overshoot | 通常更稳 |
| 外推 | 可能不可控 | 通常趋向最近样本或平均 |
| 是否可能超出样本范围 | 可能 | 非负权重时基本不会 |
| 是否需要解矩阵 | 需要 | 不需要 |
| 可解释性 | wi 不直观 | ai 很直观 |
| 调参友好度 | 中等 | 高 |
如果目标是精确命中样本输出,例如预先定义好的 correction vector,那么 exact RBF 更合适,但常常需要 regularization:
(K+λI)W=Y
如果目标是做稳定、直观、调参友好,通常可以先用
normalized RBF blend + Gaussian/Wendland kernel + fallback + 样本点 snap + 输出 clamp
exact RBF 更像数学插值器,精确但可能不稳;normalized RBF blend 更像 sample-driven lookup,不完全精确但稳定、直观、工程友好。