[论文解读] NeST: A Neural Network Synthesis Tool Based on a Grow-and-Prune Paradigm
NeST在训练过程中从稀疏种子同时进行增长和剪枝DNN架构,以合成紧凑、准确的网络,在MNIST和ImageNet上实现显著的参数和FLOPs降低。
Deep neural networks (DNNs) have begun to have a pervasive impact on various applications of machine learning. However, the problem of finding an optimal DNN architecture for large applications is challenging. Common approaches go for deeper and larger DNN architectures but may incur substantial redundancy. To address these problems, we introduce a network growth algorithm that complements network pruning to learn both weights and compact DNN architectures during training. We propose a DNN synthesis tool (NeST) that combines both methods to automate the generation of compact and accurate DNNs. NeST starts with a randomly initialized sparse network called the seed architecture. It iteratively tunes the architecture with gradient-based growth and magnitude-based pruning of neurons and connections. Our experimental results show that NeST yields accurate, yet very compact DNNs, with a wide range of seed architecture selection. For the LeNet-300-100 (LeNet-5) architecture, we reduce network parameters by 70.2x (74.3x) and floating-point operations (FLOPs) by 79.4x (43.7x). For the AlexNet and VGG-16 architectures, we reduce network parameters (FLOPs) by 15.7x (4.6x) and 30.2x (8.6x), respectively. NeST's grow-and-prune paradigm delivers significant additional parameter and FLOPs reduction relative to pruning-only methods.
研究动机与目标
- 说明在没有过度试错或固定架构的情况下发现紧凑DNN架构的需求。
- 提出NeST,一种通过增长与剪枝同时学习权重和架构的综合工具。
- 证明NeST在多种数据集和种子架构上能够产生在准确性与紧凑性方面都很出色的模型。
- 展示 growth+pruning 相较于仅剪枝能带来更大规模的参数和FLOPs降低。
提出的方法
- 从一个随机初始化的稀疏种子架构开始,所有神经元都已连接。
- 应用两个连续阶段:基于梯度的增长以添加连接/神经元/特征图,然后基于幅度的剪枝以移除冗余。
- 使用三种增长策略:(1) 由损失降低梯度驱动的连接增长,(2) 通过桥接梯度和以平方根初始化权重的相关神经元对实现的神经元增长,以及(3) 对卷积层的特征图增长。
- 在剪枝中,应用带有批归一化调整的基于幅度的剪枝,并引入部分区域卷积以对每个卷核裁剪输入区域。
- 可选地在剪枝后重新训练以恢复性能。
- 在MNIST和ImageNet上的TensorFlow/PyTorch实现与评估,种子基于LeNet-、AlexNet-和VGG-16。
实验结果
研究问题
- RQ1NeST是否能够从多样化的稀疏种子架构出发,综合出紧凑、准确的DNN?
- RQ2梯度引导的增长如何与基于幅度的剪枝相互作用,相较于单独剪枝在参数和FLOPs上的降低?
- RQ3种子大小和架构对MNIST和ImageNet的最终模型紧凑性和准确性有何影响?
- RQ4局部区域卷积是否在实践中进一步在不损失准确性的前提下降低FLOPs?
主要发现
- 在MNIST的LeNet-300-100上,NeST将参数降低了70.2×,FLOPs降低79.4×(LeNet-5为74.3×和43.7×)。
- 在ImageNet的AlexNet和VGG-16上,NeST将参数分别降低15.7×和30.2×,FLOPs分别降低4.6×和8.6×。
- Growth-and-prune在所测试的架构中比仅剪枝的方法实现了更大的降低。
- NeST能够实现广泛的种子范围,并在报道的情况下产生与全连接基线相比无精度损失的非常紧凑的DNNs。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。