基于张量分解的DNN模型压缩
摘要
先进的张量分解技术,比如tensor train(TT)和tensor ring(TR)。然而,使用TT/TR压缩卷积神经网络(CNNs)总是遭受显著的精度损失。 本文提出了一个使用交替方向乘子法的(ADMM)基于张量分解的模型压缩的系统框架。将基于TT分解的模型压缩构造为具有张量秩约束的优化问题(an optimization problem with constraints on tensor ranks),我们利用ADMM技术以迭代的方式(in a iterative way)系统地解决这个优化问题。在此过程中,整个DNN模型以原始结构而不是TT格式进行训练,但逐渐获得所需的低张量秩特征。然后,我们将该未压缩的模型分解为TT格式,并对其进行微调,最终获得一个高精度的TT格式的DNN模型。我们的框架是非常通用的,它同时适用于cnn和rnn,并且可以很容易地修改以拟合其他张量分解方法。我们在不同的DNN模型上评估了我们提出的框架,包括图像分类和视频识别任务。实验结果表明,我们基于ADMM的TT格式模型(ADMM-based TT-format models)具有很高的压缩性能并保证高精度。特别是,在CIFAR-100上,2.3x和2.4x的压缩率,我们的模型相比原来的ResNet-20和ResNet-32分别有1.96%和2.21%的top-1准确率提升。压缩在ImageNet上的ResNet-18,我们的模型实现了在无精度损失下2.47x的FLOPs降低。
1、引言
模型压缩中的张量分解(Tensor Decomposition)
与其他模型压缩方法不同,张量分解可以独特地可以提供超高的压缩比,特别是对于循环神经网络(RNN)模型。先进的张量分解方法(如TT和TR)(48,38),可以给RNN模型的输入到隐藏层(input-to-hidden)带来1000x以上参数缩减,甚至可以显著提高视频识别任务中相应的分类精度。此外,为了充分利用这些模型所提供的优势,已经开发了几种TT格式的DNN硬件加速器,并适配了不同的芯片格式,比如digital CMOS ASIC,memristor ASIC和IoT board。
前沿技术的局限
尽管张量分解具有很好的潜力,但作为一种成熟的模型压缩方法,其性能还不够满足需求。目前,所有报道的张量分解成功仅局限于在视频识别任务中压缩RNN模型。所有最先进的张量分解方法,包括TT和TR,在面对CNN都遭受了非常显著的精度损失。对于CIFAR-10上的ResNet-32,即使最先进的使用TR的方法,在压缩2.7x的时候也损失了1%,5.8x时损失了1.9%。
为什么会限制性能
上述张量分解的局限性主要是由于训练张量分解的DNN模型存在独特的挑战。一般情况说,用张量分解得到压缩模型有两种方法:1)以分解后的格式从头开始进行训练;2)分解一个预先训练过的未压缩模型,然后再训练。在前一种情况下,如TT格式模型时,由于模型在训练前结构已经预先设置为低张量秩格式,与全秩结构相比,相应的模型容量通常有限,因此使得训练过程对初始化非常敏感,具有更高的精度挑战性。在后一种情况下,虽然预训练的未压缩模型提供了良好的初始化位置,但通过将全秩未压缩模型直接分解为低张量秩格式,会导致不可避免且不可忽略的近似误差,即使经过长时间的再训练,这些近似误差仍然很难恢复。此外,无论采用哪种训练策略,张量分解总是会导致网络深度的线性增加,这意味着训练张量分解格式的DNN通常更容易出现梯度消失问题,因此难以得到很好的训练。
Technical Preview and Contributions
为了克服目前张量分解的局限性,充分释放其模型压缩的潜力,本文提出了一种利用交替方向乘数法(ADMM)提出的基于张量分解的模型压缩系统框架。通过将基于TT分解的模型压缩构造为具有张量秩约束的优化问题,我们利用ADMM技术系统地迭代解决该优化问题。在此过程中,整个DNN模型以原始结构而不是TT格式进行训练,但逐渐获得所需的低张量秩特征。然后,我们将该未压缩的模型分解为TT格式,并对其进行微调,最终获得一个高精度的TT格式的DNN模型。综上所述,本文的贡献总结如下:
- 我们提出了一个系统的框架来制定和解决基于张量分解的模型压缩问题。通过将这个问题表述为一个受约束的非凸优化问题,我们的框架逐

最低0.47元/天 解锁文章
9234

被折叠的 条评论
为什么被折叠?



