1. 问题叙述
心血来潮写点最近做的成果,主要分成两个博客来进行阐述。研究生上了一年半看了不少关于剪枝神经网络方面的文章,但是有很少的文章能让人感觉到耳目一新,打通了任督二脉的感觉。前段时间看到了一个剪枝算法就有这种感觉。和大家分享下。
全连接神经网络在很多方面都用的很多,这我就不赘述了,全连接有很强的逼近能力但是很容易导致过拟合。所以 机器学习与模式识别最核心的问题就是减小系统的复杂度(description -length【1】,VC-dimensions【2】),在神经网络中,这样的核心问题就变成了减少连接权值的数量。
减小模型复杂度方面,很常见的方法是在损失函数后面加上惩罚项

为了是模型复杂度减小,通常使用2范数【3】

但是2范数误差使权值和阈值稀疏化,进而使用1范数对权值和阈值进行惩罚

进而陆续有很多关于惩罚项的改进【4】【5】【6】,接下来我要阐述的算法是OBS算法,很简单,并且很容易实现,效果显著。
2. OBS算法详述【7】 OBS算法是一种基于Hessian矩阵的网络修剪算法,首先,构造误差曲面的一个局部模型,分析权值的扰动所造成的影响。 通过对误差函数进行Taylor展开
![这里写图片描述](https://img-blog.youkuaiyun.com/20171213152721540?wa