使用机器学习在边缘设备启用多个应用程序需要多个特定于任务的持久化模型,而所述模型可用于从计算机视觉(Howard et al.,2019)到自动语音识别等多种任务。但是,多应用和多模型的趋势受到以下事实的制约:片外存储器读取会产生高延迟和电源成本。
在名为《Low-Rank+Sparse Tensor Compression For Neural Networks》的研究论文中,加州大学和Meta组成的团队把降低内存成本作为目标。
在这一领域,低秩张量压缩是一种流行的方法,它可以实现数量级压缩,不过会导致严重的精度损失。低秩张量压缩已经获得了令人印象深刻的压缩数,并且由于其依赖于标准密集线性代数运算,它适合于设备加速。然而,它通常应用于大规模超参数化架构,如VGG或ResNet。最近的稀疏修剪基准测试研究提出了一个问题:应用于过参数化架构的压缩技术可能无法达到SOTA压缩网络的Pareto压缩/精度水准,如EfficientNet。
另外,张量压缩对神经网络权重强制执行低秩因子分解结构。同时,SOTA计算机视觉主干已经通过深度可分离卷积利用了这种分解结构。这促使团队考虑以下问题:低秩张量压缩如何影响SOTA计算机视觉架构呢?
在论文中,团队研究了低秩张量压缩是否可以与稀疏剪枝相结合,分别捕获互补的粗结构和精细结构,并且实现优于稀疏剪枝或单独的低秩张量因子分解。具体来说,研究人员探索了神经网络权值的两种低秩加稀疏分解形式。首先考虑附加结构,其中神经网络权值可以分解为低秩分量和稀疏分量之和。其次考虑一个低秩或稀疏结构,其中神经网络权值来自于稀疏修剪权重或低秩权重。
在high level,团队的算法以一个经过训练的神经网络ft作为输入,然后通过第一阶段和第二阶段:低秩加稀疏张量分解;迭代剪枝和微调输出一个低秩加稀疏张量压缩的神经网络fs,见图1。
团队考虑两种方法来表示张量A,并假设重建A= H(L,S)结合低秩和稀疏分量,并且在任何前向传播之前进行。根据H的具体形式,分别使用S和L直接收缩层激活可能更有效。
稀疏权重S将被迭代剪枝。因此,目标是使用L捕获A中任何可能的粗粒度结构,并保留S中非常适合稀疏剪枝的精细结构。研究人员描述了两种分解方法。在执行因式分解之前,可以对张量A进行重塑。
团队报告了在ImageNet-1K上获得的结果。所有结果都是通过在一台搭载32个CPU核、8个Tesla V100 GPU和128GB内存的机器进行训练获得。对每种方法进行50个阶段的训练。每次运行大约需要12小时。所有报告的ImageNet准确度指标均为验证准确度。
首先,研究人员比较了方法的两种变体:带剩余初始化的相加重建和带掩蔽初始化的掩蔽重建。对于本实验和所有其他MobileNet实验,团队使用动量为0.9的SGD,基础学习率为0.1,每5个时代应用0.7的衰减。使用{0.5,0.7,0.9}上的小网格搜索选择衰减率,并为稀疏剪枝的MobileNet-v3-Large基线选择最佳ImageNet-1K验证精度。
图3比较了剩余初始化策略和掩蔽初始化策略的结果。团队观察到这两种策略都没有明显的收益。基于结果,研究人员在剩下的实验中使用了更简单的残差初始化策略和加法重建。
团队进一步绘制了应用于MobilNetv3小型高效网络模型的CP格式分解结果。其观察到,许多层具有较高的相对误差,但有几层突出,因为低秩张量分量几乎完全符合原始张量a。研究人员发现,许多(但不是全部)空间卷积都能通过张量分解很好地拟合,并且相对误差较小。图6提供了一个示例,其中给出了MobileNetv3 Small中逐点卷积和空间卷积的代表性示例。
总的来说,团队的主要贡献是研究了最近SOTA中保留的用于计算机视觉任务的高效神经网络的低秩结构。研究人员观察到,建筑设计的趋势通过构建因子权重从此类网络中移除了低秩结构。因此,直接应用低秩矩阵和张量方法具有挑战性。
据其所知,这项研究是第一次考虑低秩张量压缩与稀疏剪枝的结合。另外,这是第一次研究依赖于有效深度可分离卷积的SOTA架构的低秩+稀疏权重压缩。