MIT-IBM Watson AI Lab在ICLR 2019上以研究论文的形式介绍了彩票假说。该论文已获得ICLR 2019最佳论文奖。
背景:网络修剪
修剪基本上意味着通过删除多余和不需要的部分来减少神经网络的范围。网络修剪是减少神经网络的大小,存储和计算空间的常用方法。像–在您的手机中安装整个神经网络。网络修剪的想法起源于1990年代,后来在2015年得到普及。您如何“修剪”神经网络?
我们可以将修剪的过程概括为四个主要步骤:
- 训练网络
- 去除多余的结构
- 微调网络
- 可选:重复重复步骤2和3
但是,在我们进一步前进之前,您必须知道:
- 通常,修剪是在对数据训练了神经网络之后进行的。
- 多余的结构可以是权重,神经元,过滤器,通道。但是,这里我们考虑“稀疏修剪”,这意味着修剪“权重”。
- 需要一种启发式方法来定义结构是否多余。这些试探法是幅度,梯度或激活。在这里,我们选择了幅度。我们修剪重量最小的砝码。
- 通过从神经网络中删除零件,我们在某种程度上已经破坏了激活函数。因此,我们对模型进行了更多的训练。这称为微调。
- 如果正确地遵循了这些步骤,我们可以将神经网络的参数LeNet-300-100和AlexNet压缩9倍至12倍,而不会损失任何准确性。我们不能随机初始化修剪的网络并训练其收敛吗?
许多研究人员都在思考这个结论。但是,他们所有人都给出了相同的答案–不。
事实证明,从头开始训练修剪的模型比训练修剪的模型要差,这可能表明训练小容量网络很困难。但是,情况已不再如此。 MIT-IBM进行的研究表明,我们确实可以从头开始训练修剪的网络。同样,也没有必要对网络进行参数化来学习。训练后修剪的权重本可以在训练前修剪的,但是,您需要使用相同的初始化。如何训练修剪过的网络?- 随机初始化整个网络
- 训练并修剪多余的结构
- 步骤1之后,将每个剩余的重量重置为其值。
这基本上表明:“存在一个子网络,该子网络存在于随机初始化的深度神经网络中,如果对其进行单独训练,则可以匹配甚至超过原始网络的准确性。经过训练的修剪网络的优势
- 像MNIST这样具有超过600K参数的完全连接的神经网络据称被简化为具有与原始网络相同精度的21K参数的子网
- 保留原始功能-辍学,体重减轻,batchnorm,resnet,您最喜欢的优化器等。
进一步的研究范围
- 追溯找到子网
- 查找子网非常昂贵
- 小型视觉网络和任务
链接至研究论文:彩票假设:查找稀疏,可训练的神经网络