一步到位 | What?QAT+自监督结合,让你没有标注也能完成具有量化落地能力的模型

552次阅读
没有评论

点击下方卡片,关注「集智书童」公众号

一步到位 | What?QAT+自监督结合,让你没有标注也能完成具有量化落地能力的模型

量化感知训练(QAT)在模型压缩中取得了竞争性的性能,广泛用于图像分类任务。现有的QAT工作通常从预训练的全精度模型开始,在重新训练过程中进行量化。然而,这些工作需要来自GT标签的监督,而在现实世界的环境中,获得足够的标记数据是不可行的。此外,它们由于减少精度而导致精度损失,没有一种算法在每个模型架构上始终达到最佳或最差性能。

为了解决上述限制,本文提出了一种新颖的自监督量化感知知识蒸馏框架(SQAKD)。SQAKD统一了各种量化函数的前向和后向动态,使其灵活地纳入各种QAT工作。以全精度模型作为教师,低位模型作为学生,SQAKD将QAT重新构建为一个共优化问题,同时最小化KL-Loss(即教师和学生的倒数第二输出之间的Kullback-Leibler散度损失)和离散化误差(即全精度权重/激活和其量化对应物之间的差异)。这种优化是在不需要标记数据的自监督方式下实现的。

评估结果显示,SQAKD显著改善了各种最先进的QAT工作的性能(例如,PACT、LSQ、DoReFa和EWGS)。SQAKD建立了更强大的Baseline,不需要大量的标记训练数据,有可能使最先进的QAT研究更加可行。

I. 引言

量化是用于解决资源有限的边缘设备与资源密集型深度神经网络之间不匹配问题的模型压缩方法之一。各种量化技术通过量化感知训练(QAT)在重新训练过程中从预训练模型创建了低位模型,取得了显著的成果。然而,由于减少精度,大多数方法导致了一定程度的精度损失,并且没有一种算法在每个模型架构(例如,VGG、ResNet、MobileNet等)上始终达到最佳或最差的性能。

此外,各种QAT方法受不同直觉的启发,缺乏共同认可的理论,这使得通用化变得困难。此外,所有的QAT方法都假定始终可以获得带标签的训练数据,然而标记数据的生成可能是耗时的,有时甚至不可行,特别是在专业领域或特定任务中。

为了解决上述问题并提高最先进的(SOTA)模型压缩的QAT性能,作者提出了一个简单而有效的框架——自监督量化感知知识蒸馏(SQAKD)。SQAKD首先统一了各种量化函数的前向和后向动态,并将QAT视为最小化原始权重/激活和其量化对应物之间的离散化误差。然后,SQAKD将全精度模型和低位模型分别作为教师和学生,并排除了CE-Loss(即带标签的交叉熵损失),仅保留KL-Loss(即教师和学生倒数第二输出之间的Kullback-Leibler散度损失),将QAT重新构建为一个共同优化问题,同时最小化KL-Loss和离散化误差,无需标签监督。

与现有的QAT方法相比,SQAKD具有几个优点:

  1. 首先,SQAKD具有灵活性,可以纳入各种QAT方法,因为它统一了它们前向和后向动态的优化。
  2. 其次,SQAKD在没有标签数据的情况下以自监督方式运行,支持在实际场景中更广泛的应用范围。
  3. 最后,SQAKD显著改善了各种SOTA QAT方法的收敛速度和精度。

II. 方法学

一步到位 | What?QAT+自监督结合,让你没有标注也能完成具有量化落地能力的模型

图1说明了所提出的SQAKD的工作流程。

前向传播

表示一个均匀量化器,将全精度输入x转换为量化输出。这里的x可以是网络的激活或权重。首先,量化器应用剪切函数来归一化和剪切输入x到较小的范围,生成一个全精度的潜在表示:,其中分别是范围的下限和上限, 表示量化所需的可训练参数的集合,是参数的数量。然后,量化器使用包含一个舍入函数的函数将剪切值转换为离散的量化点,其中是位宽,是可训练参数的集合。因此,可以描述为:,这里作者使用作为函数中所有参数的集合的简写:

反向传播

与常见的量化方法不同,作者提出了一种新的反向传播公式,将离散化误差集成到其中:

一步到位 | What?QAT+自监督结合,让你没有标注也能完成具有量化落地能力的模型

其中是非负值。STE通过将设置为零来表示,也可以通过其他方案进行更新,例如Curriculum Learning驱动的策略。

优化目标

为了将知识蒸馏(KD)应用到量化中,作者让一个预训练的全精度网络充当教师,指导具有相同架构的低位学生。KD定义了训练损失,将交叉熵损失(称为“CE-Loss”)与标签和教师和学生的Soft logits之间的KL散度(称为“KL-Loss”)的线性组合,由超参数控制:

然而,作者发现CE-Loss与KL-Loss的组合不会有效地协同工作,它们的组合可能会降低网络性能。仅最小化KL-Loss就足以实现量化网络中的最佳梯度更新。因此,作者去掉了CE-Loss,只保留了KL-Loss在SQAKD中。优化目标定义如下:

一步到位 | What?QAT+自监督结合,让你没有标注也能完成具有量化落地能力的模型

其中ρ是温度,用于使分布以使用深层知识,Y是GT标签, 分别是教师和学生的倒数第二层的输出。是学生权重和激活的量化函数, 分别是学生的全精度权重/激活和量化权重/激活。

III. 评估

实验设置

作者在不同的模型(ResNet 、VGG、MobileNet、ShuffleNet、SqueezeNet 和AlexNet)以及各种数据集上进行了广泛的评估,包括CIFAR-10、CIFAR-100 和Tiny-ImageNet。

作者将最先进的量化方法(PACT、LSQ、DoReFa 和EWGS)整合到SQAKD中,并与它们的原始结果进行比较,以展示SQAKD的改进效果。

CIFAR-10 和 CIFAR-100 上的准确性

表I显示,SQAKD显著提高了EWGS在CIFAR-10和CIFAR-100上的1、2和4位量化的准确性。具体来说,在CIFAR-10上,SQAKD在VGG-8上提高了0.36%到1.28%,在ResNet-20上提高了0.05%到0.39%;在CIFAR-100上,SQAKD在VGG-13上提高了1.26%到3.01%,在ResNet-32上提高了0.16%到1.15%。

Tiny-ImageNet 上的准确性

一步到位 | What?QAT+自监督结合,让你没有标注也能完成具有量化落地能力的模型

表II和表III显示,SQAKD在所有情况下都显著提高了各种量化方法(包括PACT、LSQ 和DoReFa)的准确性。具体来说,SQAKD提高了

  1. PACT的准确性0.41%到15.86%
  2. LSQ的准确性0.04%到12.03%
  3. DoReFa的准确性0.3%到3.96%

一步到位 | What?QAT+自监督结合,让你没有标注也能完成具有量化落地能力的模型

收敛速度

一步到位 | What?QAT+自监督结合,让你没有标注也能完成具有量化落地能力的模型

图2分别说明了在训练过程中每个Epoch内,1位VGG-18(CIFAR-10)、4位ResNet-32(CIFAR-100)和4位MobileNet-V2(Tiny-ImageNet)的Top-1测试准确度的演变。SQAKD改善了现有的量化方法在所有模型架构上的收敛速度。

此外,在MobileNet-V2上,SQAKD使量化的学生比全精度教师更快地收敛,而仅使用量化方法无法实现。

参考

[1]. Poster: Self-Supervised Quantization-Aware Knowledge Distillation

一步到位 | What?QAT+自监督结合,让你没有标注也能完成具有量化落地能力的模型

点击上方卡片,关注「集智书童」公众号

 

Read More 

正文完
可以使用微信扫码关注公众号(ID:xzluomor)
post-qrcode
 
评论(没有评论)
Generated by Feedzy