【学术】Ferenc Huszár:剪枝神经网络两篇最新论文的解读

我想简要地介绍两篇关于修剪神经网络的论文:

Learning Sparse Neural Networks through L0 Regularization – Christos Louizos, Max Welling, Diederik P. Kingma (2018)

  • 链接:https://arxiv.org/abs/1712.01312

Faster gaze prediction with dense networks and Fisher pruning – Lucas Theis, Iryna Korshunova, Alykhan Tejani, Ferenc Huszár (2018)

  • 链接:https://arxiv.org/abs/1801.05787

我在本文中提到的剪枝(pruning),是指减少或控制非零参数的数量,或者在神经网络中使用很多特征映射。在高维中,至少有三种方法可以做到这一点,而剪枝就是其中之一:

  • 正则化:修改目标函数或学习问题,所以优化可能会找到一个参数较少的神经网络。第一篇论文选择了这种方法。
  • 剪枝:取一个大的网络,删除一些多余的特征或参数。第二篇论文选择了这种方法。
  • 成长(growing):第三种方法,从小型网络开始,通过增加标准逐步增加新的单元。比较少见。

为什么需要这样做?

你可能会出于很多目的修建自己的网络。最可能的原因是在保持相同的性能的同时降低计算成本。删除那些深度网络架构中没有真正使用的特征可以加速推理和训练。你也可以把剪枝看作是一种架构搜索的形式:搞清每层中需要多少特征才能获得最佳性能。

其次你可能因为需要通过减少参数数量来增强泛化,减少参数空间的冗余。正如我们在近期关于深度网络中泛化的研究中所看到的那样,参数的原始数量(L0范数)实际上不足以预测其泛化能力。也就是说,我们凭经验去修剪网络往往有助于泛化。同时,社区正在开发新的参数依赖量来预测或描述泛化。在Fisher-Rao范数是这些一个很好的例子。有趣的是,费希尔剪枝(Fisher pruning,第二个论文)被证明与Fisher-Rao范数有细微的联系,这可能暗示了修剪,参数冗余和泛化之间的更深层次的关联。

L0正则化

我发现Louizos等人的L0论文很有意思,它可以被看作是之前我写的机器学习文章中,关于机器学习问题转换的简单应用。这是一个很好的例子,说明如何使用这些想法,为一个棘手的ML优化问题订制实际的你可以运行的随机梯度下降算法。

  • 链接:http://www.inference.vc/design-patterns/

所以我将把论文总结成一系列的步骤,每一步都改变了优化问题:

1. 从理想的损失函数开始,虽然它可能很难优化:通常的训练损失加参数的L0范数线性结合。在L0范数计算向量中非零项,这是一个不可微分的分段常值函数。这是一个困难的组合优化问题。

2. 应用变分优化将不可微函数转化为可微函数。通常通过在参数θ中引入概率分布pψ(θ)来进行。即使目标相对于任何θ都不可微分,pψ(θ)以下平均损失可能是可微的,与θ有关。为了找到最佳的ψ,通常可以使用增强(REINFORCE)梯度估计器,从而形成进化策略。但是一般都有很高的方差。

3. 所以,我们将再参量化(reparametrization)技巧应用于pψ,构建一个低方差梯度估计器。但是,这只适用于连续变量。

4. 为了处理离散变量,我将它转换成concrete relaxation,它通过一个连续的近似来逼近离散的随机变量。现在我们有一个较低的方差(与REINFORCE相比)梯度估计器,可以通过反向传播和蒙特卡罗采样来计算。你可以在随即梯度下降((Adam))中使用这些梯度,这也正是论文中的做法。

有趣的是,(3)式和进化策略或变分优化之间的联系没有被提到。取而代之的是,基于spike-and-slab先验的激励。我建议阅读这篇论文,也考虑到这一点。

然后,作者证明这确实是可行的,并且与其他设计用于减少参数数量的方法相比更有优势。根据这些步骤从一个问题转换到另一个问题的思考,可以让你概括或改进这种想法。例如,REBAR或RELAX梯度估计器提供了一个没有偏见的,低方差的替代concrete relaxation,也可以很好地工作。

费希尔剪枝

我想谈的第二篇文章是来自我们自己的实验室。不是纯粹的方法论文,而着重于建立轻便的神经网络来预测图像显著性的具体应用。修剪后的网络现在提供了支持在Twitter上裁剪照片的逻辑。

我们的目标也是降低网络的计算成本,特别是在迁移学习环境中:当在预训练完成的神经网络的基础上构建时,你将继承解决原始源任务所需的大量复杂度,这对于解决你的目标任务是多余的。我们的高级修剪目标不同的地方在于:不像L0范数或组稀疏,我们用一个稍微复杂的公式来直接估计方法的正向通道运行时间。这是每个层的参数个数与相邻层之间的相互作用的二次函数。有趣的是,这会导致架构倾向于交替厚层和薄层,如下所示:

我们“贪婪”地剪掉训练好的网络,每次去掉一个卷积特征映射。选择下一个修剪特征映射去剪枝的一个原则是尽量减少由此造成的训练损失的增加。从这个标准出发,使用损失的二阶泰勒展开,做更多的假设,我们得到下面的剪枝表达式(pruning signal)来保持参数θi。

Δi∝Fiθi2

其中Fi表示费希尔信息矩阵的ith对角项。上面的公式删除的是单个参数,但是我们可以拓展它,删除全部特征映射。通过删除每次迭代具有最小Δ的参数或特征映射进行修剪,并在迭代之间对网络进行再训练网络。

这本文中,我项支出费希尔剪枝与我之前曾发的博客中的观点之间的联系。

  • 博客:http://www.inference.vc/

Fisher-Rao范数

第一个联系是Fisher-Rao范数(FR-norm)。假设费希尔信息对角 – 理论上是一个不合理的假设,但是实际上的简化在实践中产生了有用的算法。因为这个假设,关于θ的变为:

用这种形式写下来,你可以希望看到Fisher-Rao范数和费希尔修剪标准之间的联系。根据所使用的费希尔信息的特定定义,可以近似解释FR-norm:

  • 当你删除一个随机参数时,训练日子的可能性(费希尔经验信息)下降。
  • 或者当移除一个参数时,模型(费希尔信息模型)定义的条件分布近似变化。

在现实世界中,Fisher信息矩阵并不对角,这实际上对理解泛化非常重要。举个例子,只考虑对角项使得费希尔剪枝对网络的某些重新参数化(非对角线雅可比行列式)敏感。但是也许在Fisher-Rao范数和参数的冗余之间有更深的联系。

弹性权重巩固

利用对角费希尔信息值,引导剪枝与弹性权重巩固( EWC,elastic weight consolidation) 。在EWC中,费希尔信息值用于确定权重对于解决以前的任务的重要程度。这个算法是从贝叶斯在线学习的角度推导出来的,但你也可以从泰勒展开的角度来激发它,就像费希尔剪枝一样。

为了解释EWC你可以把他看作共享硬盘(只是比喻)。神经网络的参数就像一个硬盘驱动器或某种存储卷。在任务中训练神经网络包括压缩训练数据并保存信息到硬盘。如果你没有防止数据被覆盖的机制,那么它将会被覆盖:在神经网络中,灾难性的遗忘会以同样的方式发生。EWC就像一个在多个用户之间共享硬盘的协议,用户不会覆盖对方的数据。EWC中的费希尔信息值可以被看作软的不覆盖的标志。在对第一个任务进行训练之后,我们计算出费希尔信息值,该值表示哪些参数存储任务的关键信息。较低的费希尔值是冗余的,可以重复使用来存储新的信息。在这个比喻中,我们可以想到费希尔信息值的总和能衡量硬盘驱动器满载的程度,而剪枝就像丢弃了实际上没有存储任何东西的驱动器部分。

总结

我记述了两个通过计算出哪些参数或特征可以扔掉来自动学习神经网络架构的方法。在我看来,这两种方法或者说论文本身都很有趣。L0方法似乎是一种更简单的优化算法,可能比费希尔剪枝的迭代,每次删除一个特征的性质更可取。然而,当你从一个大的预训练模式开始,费希尔修剪更适用于,在迁移学习的环境中,从大的预训练模型开始的这种情况。

本文分享自微信公众号 - ATYUN订阅号(atyun_com)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-02-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏前端桃园

知识体系解决迷茫的你

最近在星球里群里都有小伙伴说道自己对未来的路比较迷茫,一旦闲下来就不知道自己改干啥,今天我这篇文章就是让你觉得一天给你 25 个小时你都不够用,觉得睡觉都是浪费...

22740
来自专栏钱塘大数据

中国互联网协会发布:《2018中国互联网发展报告》

在2018中国互联网大会闭幕论坛上,中国互联网协会正式发布《中国互联网发展报告2018》(以下简称《报告》)。《中国互联网发展报告》是由中国互联网协会与中国互联...

13850
来自专栏Ken的杂谈

【系统设置】CentOS 修改机器名

18430
来自专栏haifeiWu与他朋友们的专栏

复杂业务下向Mysql导入30万条数据代码优化的踩坑记录

从毕业到现在第一次接触到超过30万条数据导入MySQL的场景(有点low),就是在顺丰公司接入我司EMM产品时需要将AD中的员工数据导入MySQL中,因此楼主负...

31040
来自专栏钱塘大数据

理工男图解零维到十维空间,烧脑已过度,受不了啦!

让我们从一个点开始,和我们几何意义上的点一样,它没有大小、没有维度。它只是被想象出来的、作为标志一个位置的点。它什么也没有,空间、时间通通不存在,这就是零维度。

35430
来自专栏微信公众号:小白课代表

不只是软件,在线也可以免费下载百度文库了。

不管是学生,还是职场员工,下载各种文档几乎是不可避免的,各种XXX.docx,XXX.pptx更是家常便饭,人们最常用的就是百度文库,豆丁文库,道客巴巴这些下载...

45130
来自专栏腾讯社交用户体验设计

ISUX Xcube智能一键生成H5

51620
来自专栏怀英的自我修炼

考研英语-1-导学

英二图表作文要重视。总体而言,英语一会比英语二难点。不过就写作而言,英语二会比英语一有难度,毕竟图表作文并不好写。

12410
来自专栏腾讯高校合作

【倒计时7天】2018教育部-腾讯公司产学合作协同育人项目申请即将截止!

16220
来自专栏FSociety

SQL中GROUP BY用法示例

GROUP BY我们可以先从字面上来理解,GROUP表示分组,BY后面写字段名,就表示根据哪个字段进行分组,如果有用Excel比较多的话,GROUP BY比较类...

5.2K20

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励