论文笔记_Optimal Brain Damage

本文是根据LeCun的1990年发表的Optimal Brain Damage论文翻译的,有些地方的理解也不是很透彻,如果有不正确的地方,欢迎评论指正!

摘要

  我们已经利用信息理论的思想推导出了一类实用的、近似最优的神经网络尺寸自适应方案。通过从网络中删除不重要的权重,可以有一些改进:更好的泛化能力、需求更少的训练样本、更少的学习或分类时间。本文的基础思想是使用二阶导数来对网络复杂性和测试误差之间做一个平衡,实验证明该方法在现实世界应用中是有用的。

1.介绍

  使用神经网络来解决现实世界中的问题,要么采用高度结构化的网络,要么采用大型的网络。随着现实世界中的应用越来越复杂,神经网络也变得越来越大或者结构复杂,所以就需要我们设计一个比较不同框架和最小化网络的工具。更重要的是,网络的参数越多,可能会导致过拟合,这对于泛化能力是毁灭性的。本文介绍一个OBD方法通过选择性地删除权重来减小网络的大小。我们将展示OBD方法既是一个自动最小化网络的过程,又是一个达到最佳网络架构的交互工具。
  OBD的基本思想是将一个训练好的网络,删除一半甚至一半以上的权重,最终会和原来的网络性能一样好,甚至更好。这个思想可以在需要解决的问题很复杂,并且训练数据有限的 情况下使用。这个思想的理论支撑是:当训练数据有限时,有太多权重的神经网络泛化能力反而不好。另一方面,权重数量太少的神经网络又不能很好的表示数据。最好的泛化能力是在训练误差和网络复杂度平衡的时候。
  达到这种平衡的一种技术是最小化由两部分组成(原始的训练误差+网络复杂度的度量)的损失函数。
  学术界已经提出了各种各样的复杂度评估方法,包括VC维,description length、还有一个历史悠久的方法是:自由参数中的非零参数数量,这个方法也是本文选用的方法[but see?]。使用自由参数而不会连接的原因是:因为在受限网络中,好几个连接是由一个参数控制表示的。
  在很多统计推理的文章中,存在一些先验或者是启发式的信息规定了哪些参数应该被删除;例如,在一组多项式中,应该先删除高次项。但是在神经网络中,应该删除哪些次项的参数就不是那么明显了。
  一个简单的策略是删除那些具有较小“贡献”的参数,例如,删除那些对最终预测结果贡献度最小的参数。还有其他条件相同的情况:数值小的参数对对最终预测结果贡献度也小,所以一个合理的做法是,先训练一个网络,然后依次删除那些数量级小的参数,最后再重新训练网络,当然,这个过程可以迭代进行;in the limit it reduces to continuous weight-decay during training(using disproportionately rapid decay of small-magnitude parameters)这一句不理解。(在极限情况下,它在训练过程中减小到持续的权重衰减 (使用小数量级参数不成比例的快速衰减))。事实上,已经有人使用非均衡权重衰减或控制系数来实现最小化网络框架,据报道,泛化性能在研究了一些小问题之后显著提高。剪枝参数这个方法存在两个缺点:第一,在剪枝之后需要微调,避免发生灾难性的结果,第二,微调的过程很慢。而且这个方法包含一种潜在的假设:网络复杂度是通过参数个数或者是单元的个数来测量。
  本文中重要的一点就是抛弃这个大小等于贡献度的理念,并提出一个理论修正的贡献度测量方式。本文的技术是使用目标函数对参数求二阶导数表示参数的贡献度。该方法稍后在手写数字识别MNIST数据集上进行测试。

2.OPTIMAL BRAIN DAMAGE

  目标函数在神经网络领域扮演着重要的角色;因此使用“删除一个参数之后,目标函数的变化”来定义一个参数的贡献度是很合理的。但是计算每一个参数删除引发的目标函数的变化是很困难的。
  幸运的是,我们可以通过建立一个误差函数的局部模型来分析预测扰动参数向量引起的影响。我们用泰勒级数来近似目标函数 E E E参数向量的扰动 δ U \delta U δU将会通过下面的式子来改变目标函数: δ E = ∑ i g i δ u i + 1 2 ∑ i h i i δ u i 2 + 1 2 ∑ i ! = j h i j δ u i δ u j + O ( ∣ ∣ δ U ∣ ∣ 3 ) ( 1 ) \delta E = \sum\limits_{i}g_i \delta u_i + \frac{1}{2}\sum\limits_{i}h_{ii} \delta u_i^2 + \frac{1}{2}\sum\limits_{i !=j}h_{ij} \delta u_i \delta u_j + O(||\delta U||^3)\quad\quad\quad(1) δE=igiδui+21ihiiδui2+21i!=jhijδuiδuj+O(δU3)1
  其中, δ u i \delta u_i δui δ U \delta U δU的元素, g i g_i gi是目标函数 E E E关于 U U U的梯度 G G G的元素, h i j h_{ij} hij是目标函数 E E E关于 U U U的梯度海森矩阵 H H H的元素。 g i = ∂ E ∂ u i h i j = ∂ 2 E ∂ u i ∂ u j ( 2 ) g_i = \frac{\partial E}{\partial u_i} \quad\quad\quad h_ij = \frac{\partial ^2E}{\partial u_i \partial u_j}\quad\quad\quad(2) gi=uiEhij=uiuj2E2
  目标是找到一个参数集合,使得删除掉这个参数集合之后 E E E的增加最小。这个问题几乎是无法解决的。其中一个原因是海森矩阵

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值