以一个ANN(MLP,级联的FC网络)为例,每一层的每一个units(neurons)代表着这一层所构建的特征空间中的一维,或者是这一层所能代表类别的某一类别的confidence:
(即若ANN中的某一层有3个neuron,后一层有5个neuron,y = W * x + b, 这两层之间的W是一个5*3的矩阵。那么这两层相当于把输入为3 * dim的一个feature map转换成5 * dim的feature map,即将dim维的feature dimension从3升到了5。W中的每行的3个weight wi(即这一层中的5个neuron每一个都管理着自己的3个weights),就可以看做是一个classifer,或一个feature descriptor。因为这三个weights把一个输入转化成了一个类别的得分,或者是一个5维特征在一维上的特征值。)
那么,一个网络的generalization能力是由网络的capacity和训练数据量共同决定的。网络capacity越大越能捕捉训练数据的细枝末节(高频),所以越容易overfit(在训练数据的高频noise上),从而generalization不佳。
所以在训练数据无穷的极限条件下,网络的generalization能力与其capacity成正比。
那么提高网络的泛化性能就可以理解为1. 增加训练数据;2. 增大网络的capacity。
直观来看网络的capacity与网络参数量成正比。但是,这里面要考虑到所谓参数间互相coupling、correlating的现象。即,某些参数能力很强,总能做出正确的事,从而网络学会了偷懒,其他某些参数(units)只是在机械地模仿这些“superstar“unit的输出结果。这就导致虽然参数量很大,但是一部分参数在单纯模仿,并没有独立运作的效力。造成其名存实亡,也即网络capacity的折损。因而,需要一些手段来de-