今天为大家带来的论文导读是由布兰迪斯大学和微软亚洲研究院所提出的RePr——专为卷积神经网络所设计的训练方法。该方法通过对滤波器的重要性进行排序,对网络进行修剪,并迭代训练完整网络和子网络,提升网络表现和泛化能力。作者设计了充分的ablation study和跨任务网络实验,证明了该训练方法的有效性。这篇论文已被CVPR2019接收为oral。本文是AI前线第73篇论文导读。
摘 要
一个训练良好的卷积神经网络可以很容易地进行网络修剪,而不会有明显的性能损失。这是因为网络滤波器捕捉的特征之间有不必要的重叠。跳跃连接、密集连接,以及Inception单元等网络结构上的创新都在一定程度上减轻了这个问题,但是这些改进往往伴随着运行时计算和内存需求的增加。我们试图从另一个角度来解决这个问题——不再是通过改变网络的结构,而是通过改变训练方法。通过暂时修剪,然后恢复模型的滤波器子集,并循环重复此过程,可以减少学习特征的重叠,从而提升泛化能力。我们发现,现有的模型修剪标准并不是最佳的,因此我们引入滤波器间正交性作为排序标准,来确定表示能力较弱的滤波器。我们的方法既适用于最简单的卷积网络,也适用于当前复杂的网络结构,提高了网络在各项任务上的性能。
介 绍
卷积神经网络(ConvNet)在许多计算机视觉任务中达到了最先进的水平,其成功的主要原因是由于针对特定任务对网络结构进行了改进。尽管新的网络结构层出不穷,多种多样,但是核心的优化方法依然没有改变。目前的优化方法将网络权重看作单独的个体,然后进行独立更新。卷积神经网络的滤波器是其基础单元,但一个滤波器并不是一个单独的权重参数,而是由一组空间滤波器核组成的。
由于卷积神经网络模型往往过度参数化(over-parameterized),一个训练好的模型滤波器通常是冗余的。因此大部分修剪滤波器的方法都能去掉大量滤波器,而不损失模型的表现。但是对于小型模型,从头开始训练的表现也比不过一个大型网络修剪到和它一样大小的表现。标准的训练过程倾向于让模型有额外的和可修剪的滤波器。这也意味着卷积神经网络的训练还有提升的空间。
为此,我们提出了一种训练方案,在该方案中,在经过标准训练的迭代之后,我们选择一部分滤波器的子集暂时丢弃。在对修剪后网络进行额外训练之后,我们重新引入先前丢弃的滤波器,用新的权重初始化,并继续标准训练。我们观察发现,在重新引入丢弃的滤波器之后,该模型能够达到比修剪之前更高的性能。如图1,重复这一过程所获得的模型,其表现超过了由标准训练产生的模型。我们发现这一提升适用于多种任务和多种卷积神经网络。
除了所提出的新的训练方法,该论文的第二个贡献在于提出了衡量滤波器重要性的指标。我们发现即使是参数化不足(under-parameterized)的网络也会出现学习参数冗余的情况,说明滤波器冗余并不只是由于过度参数化,而是由于训练过程低效所导致的。我们的目标是减少滤波器的冗余性,增加卷积网络的表示能力,而我们通过改变训练方法而不是网络结构来实现这个目标。
实验表明,标准的滤波器修剪方法并不能达到最优的效果,我们提出了一种替代的指标,计算效率较高,并且极大的提升了网络表现。我们基于卷积层内的滤波器正交性提出了一个滤波器丢弃指标Ortho,该指标的效果超过了目前最先进的滤波器重要性排序算法。
正交特征
如果一个特征能帮助提升模型的泛化能力,则该特征是有用的。特征之间的相关性与网络的泛化能力和稳定性都密切相关。对于一个泛化能力较差的模型,其特征在响应空间只能捕捉到有限的方向,即特征相关性较高。另一方面,如果特征之间互相正交,这说明他们分别学习到了响应空间的不同方向,则提高了模