Transfer learning allows the reuse of deep learning features on new datasets with limited data. However, the resulting models could be unnecessarily large and thus inefficient. Although network pruning can be applied to improve inference efficiency, existing algorithms usually require fine-tuning and may not be suitable for small datasets. In this paper, we propose an algorithm that transforms the convolutional weights into the subspaces of orthonormal bases where a model is pruned. Using singular value decomposition, we decompose a convolutional layer into two layers: a convolutional layer with the orthonormal basis vectors as the filters, and a layer that we name "BasisScalingConv", which is responsible for rescaling the features and transforming them back to the original space. As the filters in each transformed layer are linearly independent with known relative importance, pruning can be more effective and stable, and fine tuning individual weights is unnecessary. Furthermore, as the numbers of input and output channels of the original convolutional layer remain unchanged, basis pruning is applicable to virtually all network architectures. Basis pruning can also be combined with existing pruning algorithms for double pruning to further increase the pruning capability. With less than 1% reduction in the classification accuracy, we can achieve pruning ratios up to 98.9% in parameters and 98.6% in FLOPs.
翻译:转移学习允许在数据有限的新数据集中重新使用深层学习功能。 但是, 由此产生的模型可能不必要地庞大, 因而效率低下。 虽然网络修剪可以应用来提高推算效率, 但现有的算法通常需要微调, 并且可能不适合小数据集。 在本文中, 我们提出一种算法, 将卷变权重转换成一个模型被冲淡的正方位基的子空间。 使用单数值分解, 我们将一个相向层分解成两层: 以正态基矢量作为过滤器的卷变层, 以及一个我们命名为“ 基数缩放Conv” 的层, 负责调整特性并将其转换为小数据集。 由于每个变形层的过滤器具有线性独立, 并且相对重要性是已知的, 剪裁可以更加有效和稳定, 并且不需要细调个人重量。 此外, 由于原相向的递转层输入和输出渠道的数量保持不变, 6 基础的调算法适用于几乎所有网络结构的精确度, 降为98% 的精度, 递增 1 的精度也可以在现有的精度结构中实现双重递增。 。