Skip to main content
QUICK REVIEW

[论文解读] Detecting Dead Weights and Units in Neural Networks

Utku Evci|arXiv (Cornell University)|Jun 15, 2018
Advanced Neural Network Applications参考文献 28被引用 4
一句话总结

该论文提出了一种新方法,通过使用均值替换得分(MRS)——一种基于偏差传播的损失变化高效近似方法——来检测并剪除神经网络中的死单元(即不再参与学习的神经元)。该方法在 MNIST 上实现了高达 5 倍的模型压缩,且准确率无下降,表明基于单元的剪枝优于传统的参数级剪枝。

ABSTRACT

Deep Neural Networks are highly over-parameterized and the size of the neural networks can be reduced significantly after training without any decrease in performance. One can clearly see this phenomenon in a wide range of architectures trained for various problems. Weight/channel pruning, distillation, quantization, matrix factorization are some of the main methods one can use to remove the redundancy to come up with smaller and faster models. This work starts with a short informative chapter, where we motivate the pruning idea and provide the necessary notation. In the second chapter, we compare various saliency scores in the context of parameter pruning. Using the insights obtained from this comparison and stating the problems it brings we motivate why pruning units instead of the individual parameters might be a better idea. We propose some set of definitions to quantify and analyze units that don't learn and create any useful information. We propose an efficient way for detecting dead units and use it to select which units to prune. We get 5x model size reduction through unit-wise pruning on MNIST.

研究动机与目标

  • 在训练期间或之后识别并移除停止学习且不提供有用信息的死单元(即神经元)。
  • 通过剪除整个单元而非单个参数来提升模型效率,从而获得更紧凑、更快速的模型。
  • 开发一种高效的方法,受二阶方法启发,用于检测死单元,且无需昂贵的 Hessian 矩阵计算。
  • 证明基于单元的剪枝在保持模型准确率的同时,相比参数级剪枝能实现更好的压缩效果。
  • 提供一个实用的、基于 PyTorch 的开源库,支持使用 MRS 基于显著性评分的单元剪枝与参数剪枝。

提出的方法

  • 提出均值替换得分(MRS),作为通过将单元输出替换为其均值所引起的损失变化的高效一阶近似。
  • 利用偏差传播估计移除某个单元对整体损失的影响,从而实现快速且准确的显著性评分。
  • 采用掩码机制模拟剪枝过程而无需重新训练,从而高效评估单元移除的影响。
  • 应用 MRS 按单元对损失的贡献程度进行排序,选择贡献最小的单元进行移除。
  • 实施两阶段剪枝策略:首先通过 MRS 检测死单元,然后使用可微分掩码层将其移除。
  • 开发了一个 PyTorch 库 `pytorchpruner`,支持基于 MRS 和 Hessian 的显著性评分的参数级与单元级剪枝。

实验结果

研究问题

  • RQ1能否在训练期间或之后,通过损失变化的高效、可微分近似方法可靠地检测到死单元?
  • RQ2与单独剪枝参数相比,剪除整个单元是否能实现更好的模型压缩效果且不造成性能下降?
  • RQ3MRS 与传统显著性度量(如 L2 范数、梯度幅值)相比,在识别非贡献单元方面表现如何?
  • RQ4高学习率对单元死亡的影响是什么?MRS 是否能早期检测到此类单元?
  • RQ5基于 MRS 的单元剪枝能否在标准视觉基准(如 MNIST 和 CIFAR-10)上实现显著的模型压缩?

主要发现

  • 基于 MRS 的单元剪枝在 MNIST 数据集上实现了 5 倍的模型尺寸压缩,且测试准确率无下降。
  • 由于高学习率或激活饱和(如 ReLU、Tanh)而死亡的单元,可被 MRS 可靠检测。
  • 在更深或更复杂的网络中,MRS 在识别非贡献单元方面优于基于范数的显著性度量。
  • 该方法即使在包含 BatchNorm 和 ReLU 的网络中也能检测到死单元,而传统基于梯度的方法会失效。
  • 所提出的 `pytorchpruner` 库支持高效、可复现的剪枝,同时支持参数级与单元级策略。
  • 基于 MRS 的剪枝在不同架构和激活函数(包括 ReLU 和 Tanh)下均表现出稳定且高效的效果。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。