论文题目:Zero-shot Adversarial Quantization
论文来源:CVPR2021 oral
论文作者:Yuang Liu , Wei Zhang, Jun Wang
作者单位:华东师范大学
下载链接:https://arxiv.org/pdf/2103.15263.pdf
代码地址:https://github.com/FLHonker/ZAQ-code
[推荐理由]
为了在无法获得原始数据情况下实现模型量化,现有方法采用后训练量化或BN层统计量引导生成的合成样本对网络进行微调,但两者存在性能低下的问题,本文提出了一个零样本对抗量化(ZAQ)框架,以对抗学习的方式优化量化模型,引入新的特征图信息监督提高生成样本质量,促进了从全精度模型到其量化模型的知识迁移,算法性能SOTA。
[主要内容]

如图所示,该框架只要包括两部分,第一部分是训练生成器生成匹配原始训练数据的样本;第二部分是利用合成样本引导量化模型进行fine-tune;两个部分交替进行,利用对抗式方法优化模型。
该框架的优化函数由输出损失 Do 和中间通道内特征图损失 Df 组成;此外针对生成器,增加了激活正则化 La 鼓励G生成更具信息丰富性和多样性的样本。
构建优化目标:
一般使用用KL散度衡量模型差异,但在训练生成器G时,KL散度不足以使差异最大化。这是因为一些样本的
预测结果可能是相似的,使得负的KLD太小而无法优化。因此我们采用 L1 损失来更直接地测量输出损失:
测量中间层差异的传统方法依赖于P(全精度模型)和Q(量化模型)的相关特征图,受利用中间特征图提高知识蒸馏性能的想法的启发,我们考虑不同通道之间特征图的相似关系,利用CRM捕获同一个模型的同一层中不同通道之间的关系。它既能消除不同数值跨度的特征图的影响,又能代表样本的高维特征。定义中间层内部差异为:
.
L是层数,R表示提取出的通道关系图,
表示该层的自适应权重,C是该层的通道数。


式中 EMA为指数移动平均,T为每个epoch的训练步长,L为ZAQ所利用的层数。通过这种方式,将更多的注意力放在在中有较大差异的模型层上。此外,为了避免在长期训练中打破平衡,
需要在新的epoch开始时重新以1/L初始化。
对抗知识迁移
误差估计阶段(训练生成器)
知识迁移阶段(训练学生)
激活正则化
内容中包含的图片若涉及版权问题,请及时与我们联系删除
评论
沙发等你来抢