香港浸会大学博士生兰伟超、胡志锴、李梦柯及其导师张晓明教授的最新研究成果“Compact Neural Network via Stacking Hybrid Units”,被TPAMI录用。该文通过堆叠基本单元的方式构建了一种新的紧凑型神经网络,所提出的方法不仅可以克服传统剪枝方法的缺点,同时可以达到良好的压缩效果。
论文题目:
Compact Neural Network via Stacking Hybrid Units
论文链接:
https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=10275036&tag=1
一、摘要
作为网络压缩的一种有效工具,网络剪枝技术已被广泛用于减少深度神经网络(DNNs)中的冗余。然而,非结构化剪枝在处理稀疏和不规则的权重方面存在局限性。相比之下,结构化剪枝可以克服这个问题,但它需要设计额外的标准来确定要剪枝的组件。
因此,本文提出了一种称为BUnit-Net的新型网络,该方法通过堆叠一些设计好的基本单元直接构造紧凑的神经网络,而不再需要额外的判断标准来减少参数。给定一组基本单元,我们将它们系统地组合和堆叠起来以构建完整的神经网络,由于每个单元之间的独立性,网络中权重参数也相应的减少。这样,BUnit-Net可以达到与非结构化剪枝相同的压缩效果,同时权重矩阵仍然可以保持规则和紧密。我们基于不同的流行主干网络搭建了 BUnit-Net,并在基准数据集上与最先进的剪枝方法进行比较。实验结果表明,BUnit-Net 可以实现相当的分类精度和良好的压缩效果,这为网络压缩提供了一种新的方式。
二、问题背景与动机
DNNs凭借其优越的性能已经成为计算机视觉领域不可或缺的工具之一。然而,过度参数化和冗余的特性导致网络的内存占用和计算成本消耗巨大,这阻碍了它们在实际场景中的应用。考虑到实际应用中移动设备和边缘设备的存储空间和计算能力有限,减少 DNNs中 的参数数量和浮点运算 (FLOPs)才能帮助更好地部署网络。
为了获得轻量级的网络模型,研究人员探索了许多压缩和加速技术,网络剪枝就是其中一种。剪枝旨在通过删除一些重要性较低的组件来降低模型的冗余。根据去除组件的类型,剪枝方法可以分为两种类型:非结构化剪枝和结构化剪枝。非结构化剪枝通常去除权重矩阵中的连接或神经元。
然而,由于剪枝后的权重矩阵是稀疏和不规则的,需要特殊的硬件或者软件完成加速处理, 这可能会影响实际应用中的加速效果。为了实现更实用的压缩和加速,研究人员又提出了结构化剪枝方法,例如通道和滤波器剪枝。虽然卷积核和特征图的结构化剪枝可以获得硬件友好的网络,但它们通常需要设计特定的标准或复杂的机制来识别不重要的组件子集以进行剪枝,这也会增加对内存的需求和计算成本。
此外,剪枝方法通常都基于预训练网络。而在没有预训练网络的情况下,我们是否可以直接搭建一种紧凑的网络,实现与剪枝后的网络相当甚至更好的压缩性能?
三、方法
我们从新的角度出发, 提出通过独立堆叠基本单元的方法来直接构建紧凑型神经网络。首先,我们将基本单元设计为具有至少一个隐藏层的小型神经网络,然后按照一定的堆叠策略将这些基本单元组合起来构建整个网络,方法框架如图1所示。在该框架中,一组节点(即神经元)构成了一个基本功能单元,类似于人大脑中具有不同功能的神经组织。由于各个单元之间是独立的,没有权重连接,BUnit-Net中的权重参数自然减少,而无需额外的机制来判断权重的重要性实现剪枝。与非结构化剪枝生成的稀疏且不规则的权重矩阵不同,BUnit-Net中每个单元的权重是规则且密集的,因此无需特殊设备即可轻松处理。此外,由于 BUnit-Net 是直接从头开始训练的,也可以避免对预训练模型的依赖。我们的方法可以通过设计不同类型的基本单元构建不同的神经网络,具有很强的泛化性。
在搭建的完整的网络时,如图 1(c)所示,在 BUnit-Net 中有两种网络层,分别称为Stacked Layer 堆叠层(实线框)和 Normal Layer 标准层(虚线框)。以卷积神经网络(CNNs)为例,堆叠层是指由基本卷积单元堆叠而成的网络层,而标准层是单个标准卷积层。由于堆叠层中各个单元之间的独立性,我们在堆叠层之间添加了普通的卷积层来保证特征信息的顺利传输, 同时,在堆叠层之间插入标准层也可以帮助处理维度匹配问题。在通过组合不同单元获得堆叠层后,我们就可以交替使用这些堆叠层和标准层来构建整个神经网络。
此外,评估压缩模型性能最常用指标是参数数量和 FLOPs。然而,当考虑压缩率和精度之间的权衡时,有时很难对不同的模型做出评价。据了解,目前还没有一个统一的指标能够同时考虑这些因素。因此,我们定义了两个新的指标来衡量准确度和资源消耗 (包括 FLOP 数量和参数量)之间的权衡,即 TCA和TSA,这有助于根据不同的需求选择合适的压缩方法。
四、主要结果
在Tiny-ImageNet和ImageNet两个数据集上的比较结果显示, 与最先进的剪枝方法和轻量级模型相比,所提出的 BUnit-Net 可以实现更好的压缩同时保持精度。
五、总结与展望
在本文中,我们尝试构建了新型紧凑网络BUnit-Net,该网络组合了许多精心设计的基本单元来生成堆叠层。与标准层相比,由于每个单元的独立性,堆叠层包含更少的参数和 FLOPs ,从而实现压缩。大量的实验表明了BUnit-Net 的灵活性和有效性,为网络压缩提供了一种新的途径。
尽管我们的方法已被证明在压缩网络方面是有效的,但仍然存在一些局限性。例如,堆叠层中每个单元的独立性也可能会阻碍信息的通信,从而影响性能。未来,我们将进行更多探索,并尝试将我们的方法与网络架构搜索等其他技术相结合以获得更好的性能。
Illustration From IconScout By Delesign Graphics