论文地址:https://arxiv.org/pdf/2203.03844.pdf

开源代码:https://github.com/zysxmu/ddtb

摘要

轻质超分辨率(SR)模型因其在移动设备中的适用性而受到广泛关注。许多努力使用网络量化来压缩SR模型。然而,这些方法在使用低成本分层量化器将SR模型量化到超低精度(如2比特和3比特)时,性能严重下降。在本文中,我们发现性能下降是由于分层对称量化器和高度不对称激活分布之间的矛盾造成的。这种差异导致量化级别的浪费或重建图像中的细节损失。因此,我们提出了一种新的激活量化器,称为动态双可训练界限(DDTB),以适应激活的不对称性。具体来说,DDTB创新之处在于:1)一个分层量化器,具有可训练的上下边界,以解决高度不对称的激活。2)动态门控制器,在运行时自适应地调整上下限,以克服不同样本下剧烈变化的激活范围。为了减少额外的开销,动态门控制器被量化为2位,并根据引入的动态强度仅应用于部分SR网络。大量实验表明,我们的DDTB在超低精度下表现出显著的性能改善。例如,当将EDSR量化到2位并将输出图像放大到×4时,我们的DDTB在Urban100基准上实现了0.70dB的PSNR提高。

主要贡献

受上述分析的启发,在本文中,我们提出了动态双可训练边界 (DDTB) 来量化 SR 模型中的激活。我们的 DDTB 在以下方面进行了创新:1)具有可训练上限和下限的分层量化器,以解决高度不对称的激活问题; 2)动态门控制器在运行时根据不同的输入样本自适应地调整上限和下限,以克服不同样本上急剧变化的激活范围。为了最小化计算和存储的额外成本,动态门以 2 位格式表示,并根据每一层的动态强度应用于网络的一部分。此外,我们引入了一个初始化程序来为 DDTB 提供预热。具体来说,我们首先使用来自全精度网络的激活统计信息而不是量化版本来初始化上限和下限。然后,在早期的几个 epoch 中,针对所有输入的目标输出 1 单独训练动态门控制器。结合所提出的初始化器,DDTB 提供了显着的性能改进,尤其是当 SR 模型被量化为超低比特的情况时。例如,与最先进的技术相比,当 EDSR [24] 量化为 2 位并输出 ×4 重建图像时,我们的 DDTB 在 Urban100 基准 [12] 上实现了 0.70dB PSNR 的性能提升。

实验

所有模型都在包含800幅图像的DIV2K训练集上进行训练[37],并在Set5[2]、Set14[22]、BSD100[30]和Urban100[12]四个标准基准上进行测试。评价了×2和×4的两个上升因子。量化的SR模型包括EDSR[24],RDN[46]和SRResNet[22]。我们将它们量化到4位、3位和2位,并与SOTA竞争对手进行比较,包括DoReFa[47]、Tensorflow Lite[14]、PACT[3]和PAMS[23]。本文报道了Y信道上的PSNR和SSIM[41]。

基于其开源代码实现了全精度模型和比较量化方法。对于量化模型,遵循PAMS[23],我们对高层特征提取模块的权值和激活量进行量化。低层特征提取和重构模块设置为全精度1。批大小设置为16,优化器为Adam[19],β1=0.9,β2=0.999,ε=10-8。我们将初始学习速率设置为10-4,并每10个历元将其减半。对于EDSR,门比P设置为30,初始化系数M为99。RDN的P和M分别为50和95。对于SRResNet,P=10和M=99。总训练时间被设置为60。通过减去平均RGB对训练图像进行预处理。在训练过程中,采用随机水平翻转和垂直旋转来扩充数据。所有实验都用PyTorch[33]实现。

 

内容中包含的图片若涉及版权问题,请及时与我们联系删除