[论文解读] Learning the Number of Neurons in Deep Networks
本文提出了一种组稀疏正则化器,在训练过程中自动确定并修剪每层的神经元数量,从过度完备的网络开始,在保持或提升精度的同时实现显著的参数缩减。
Nowadays, the number of layers and of neurons in each layer of a deep network are typically set manually. While very deep and wide networks have proven effective in general, they come at a high memory and computation cost, thus making them impractical for constrained platforms. These networks, however, are known to have many redundant parameters, and could thus, in principle, be replaced by more compact architectures. In this paper, we introduce an approach to automatically determining the number of neurons in each layer of a deep network during learning. To this end, we propose to make use of structured sparsity during learning. More precisely, we use a group sparsity regularizer on the parameters of the network, where each group is defined to act on a single neuron. Starting from an overcomplete network, we show that our approach can reduce the number of parameters by up to 80\% while retaining or even improving the network accuracy.
研究动机与目标
- 激发层宽度的自动确定以降低内存和计算成本。
- 提出一种在训练过程中能够删除整个神经元的正则化学习框架。
- 实现对网络参数和神经元数量的端到端学习,而无需对网络进行预训练。
- 展示在 ImageNet 和 ICDAR 等大型数据集及模型架构上的可扩展性。
提出的方法
- 将一层中的神经元定义为一组参数,并应用组稀疏正则化以使某些组收缩为零。
- 使用结合了组范数和 L1 惩罚的稀疏组 Lasso 变体,以同时鼓励组级和组内稀疏。
- 使用近端梯度下降进行优化;对每个神经元组应用近端算子以将整个神经元置零。
- 从一个过完备网络开始,在学习过程中迭代修剪神经元以获得紧凑的架构。
- 尝试两种正则化变体:Eq. (2) 的组稀疏和 Eq. (3) 的带 α 参数的稀疏组 Lasso。
实验结果
研究问题
- RQ1组稀疏正则化是否能够在学习过程中自动减少每一层的神经元数量?
- RQ2在大型数据集上不牺牲精度的前提下,能够实现多少参数减少?
- RQ3该方法是否能在不同架构和数据集(ImageNet、Places2、ICDAR)上实现泛化?
- RQ4修剪后的网络在测试时的性能提升(速度和内存)有哪些?
- RQ5该方法对跨层正则化超参数的敏感度有多大?
主要发现
- 从过完备网络出发,该方法可以将参数量减少多达80%。
- 大多数方法在剪枝后维持或提升 top-1 准确率,在某些设置下在 ImageNet 上提升可达 2.45%。
- 在 GS 下的 BNet C 实现了 12.7% 的神经元减少和 27.4% 的总参数减少,同时将准确度保持在基线的误差不超过 1.6%。
- 在初始宽度较大的情形 Dec 8(M=640/768)产生 19–26% 的神经元减少,参数减少最多 48%,且精度与基线相当或更好。
- 在 ICDAR 上,Dec 3 采用 GS/SGL 可将参数减少至多 80%,并且在准确度上优于 MaxPool/MaxOut 基线。
- 在测试时,修剪后的网络显示显著的加速(在某些情况下高达约 50%)和内存节省(参数多达 82%)。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。