ONLY train once a one-shot neural network training and pruning framework
问题:
1、大型神经网络学习速度很快,性能也往往优于其他较小的模型,但它们对资源的巨大需求限制了其在现实世界的部署,所以当部署网络到资源有限的设备上,需要对网络进行剪枝(识别和剪枝冗余的结构),使性能几乎无损失情况下,网络更苗条更简单。
2、剪枝方法:a、采用L1或L2正则化的细粒度剪枝方法,根据一定的固定阈值对小权重连接进行剪枝 b、过滤器的重要性,通过删除不重要的特征映射来加速网络 c、利用强化学习代理预测压缩行为等
这些方法都需要重新训练和微调模型,以在修剪过程中优化准确率;
这些方法无法避免额外且通常耗时的微调步骤,因为已识别的冗余结构(即使用零参数化)实际上有助于模型输出,因此额外的微调步骤是绝对必要的;
且知识应用与特定的网络结构,应用和任务
3、最近的研究,使用稀疏诱导正则化器训练网络train the network with sparsity inducing regularizers,提供了通用性和收敛性保证。然而这些方法要么只关注参数的个体稀疏性,要么关注滤波器的群体稀疏性,因为这些0值和bias,BN,跳接纠缠在一起,不能直接进行删除,需要微调。并且优化算法不能有效探索DNN中的组的稀疏性,需要一个后处理步骤来产生精确的零
目标:通过Only-Train-Once (OTO)无需微调即可从大型神经网络中得到轻量级架构,在保持模型高性能的同时还能显著降低所需算力;适合各种架构和应用,因此具有通用性和有效性。
主要技术:
1、Zero-Invariant Group(ZIG)。我们将DNN识别模型参数并将其划分为零不变组,使我们能够根据零组修剪冗余结构,而不影响网络的输出
2、Half-Space Stochastic Projected Gradient(HSPG),新的结构化稀疏优化算法,解决结构化稀疏正则化问题,促进 zero group 方面表现出的优势
研究者定义了神经网络的 zero-invariant group。如果一个框架被划分为 ZIG,它就允许我们修剪 zero group,同时不影响输出,这么做的结果是 one-shot 剪枝。这种特性适用于全连接层、残差块、多头注意力等多种流行结构