先上定义
BP Neural Network - 使用 Automatic Differentiation (Backpropagation) 进行导数计算的层级图模型 (layer-by-layer graphical model)
只要模型是一层一层的,并使用AD/BP算法,就能称作 BP Network。RBF Network 是其中一个特例。
关于 AD 与BP 算法的介绍
1.请问自动微分法(Automatic differentiation)是如何用C++实现的? - 李瞬生的回答
2.Backwards differentiation in AD and neural nets: Past links and new opportunities
接下来简单介绍 RBF Network 相比一般 Neural Network 具有的特点。
机器学习的模型通常存在各种解读。相对正统的是统计上的解读。但这里只谈直观上的解读,以求易读。
RBF Network 通常只有三层。输入层、中间层计算输入 x 矢量与样本矢量 c 欧式距离的 Radial Basis Function (RBF) 的值,输出层算它们的线性组合。
图一
如此可见,和普通的三层神经网络,RBF 神经网络的区别在中间层。中间层采用 RBF Kernel 对输入作非线性变换,以便输出层训练线性分类器。
那么RBF Kernel 有什么特点呢?
图二 Radial Basis Function
图三 Plot of Radial Basis Function with 2D input
RBF 拥有较小的支集。针对选定的样本点,它只对样本附近的输入有反应,如下图。
图四 RBF 使样本点只被附近(圈内)的输入激活
T. Poggio 将RBF 比作记忆点。与记忆样本越近,该记忆就越被激活。
有的同学看到这,也许会说:这不就是 SVM with RBF Kernel 么。
这些同学对了一半。光看模型,RBF Network 确实与 SVM with RBF kernel 无异。区别在于训练方式。
其实在深度学习出现之前,RBF神经网络就已经提出了 2-stage training。