查看原文
其他

【源头活水】CVPR 2021 Oral | “无招胜有招”?北航、耶鲁、商汤提出用于无数据量化的多样化样本生成

“问渠那得清如许,为有源头活水来”,通过前沿领域知识的学习,从其他研究领域得到启发,对研究问题的本质有更清晰的认识和理解,是自我提高的不竭源泉。为此,我们特别精选论文阅读笔记,开辟“源头活水”专栏,帮助你广泛而深入的阅读科研文献,敬请关注。

作者:知乎—秦浩桐

地址:https://www.zhihu.com/people/qin-hao-tong

近年来,量化被视为一种高效实用的神经网络压缩加速方法,无数据量化方法也开始被应用于数据隐私场景。本文将介绍CVPR 2021关于无数据量化的最新工作,一种多样性的数据生成方法DSG。相比现有的SOTA方法,DSG对极低比特量化的性能改善明显,部分场景下可以媲美甚至超越使用真实数据的效果。这项研究由北京航空航天大学刘祥龙教授团队、耶鲁大学、商汤研究院工具链团队共同完成。
论文链接:https://arxiv.org/abs/2103.01049

快捷下载:本公众号后台回复【paper73】下载本论文


01

背景和概述
近年来,量化已经成为了一种获取高效神经网络的有效方法。离线量化不需要重新训练或者微调,作为一种实用而有前景的方案得到了广泛研究。然而,这种方法仍然需要真实的训练数据去校准量化后的模型。有时这些真实数据例如医疗或用户数据因为隐私或者安全问题难以获得。近期的很多工作提出了无数据的量化方法。
一些工作(如ZeroQ)用全精度模型的BN统计量来生成最拟合BN统计量的合成数据,解决了对数据的依赖问题。然而,这些方法生成的数据存在两个明显的同质化问题。
首先是数据分布上的同质化现象:由于合成数据是去匹配批标准化(BN)统计量参数,每层的特征分布容易过拟合,而真实的数据通常具有更加多样的分布(见图1(a))。
其次是样本层面上的同质化现象:合成数据的所有样本都是通过同样的目标函数被优化的,即直接将网络每层的损失累加来优化所有样本。这样的话,样本的特征分布统计量会趋于中心化但真实数据往往是分散的(见图1(b))。
这两个同质化问题导致生成数据的分布与真实数据有很大差异,从而导致了量化模型精度的下降。
图1.生成数据的两种同质化问题
我们提出了一种多样化的样本生成方式(DSG)来解决上述两个同质化问题,采用松弛对齐分布(SDA)来松弛对BN层参数的约束,采用层级样本增强(LSE)来加强特定的生成样本对特定层的约束。DSG方法适用于各种离线量化方法,并且可以获得接近用真实数据校准的模型的性能,甚至在4bit上超过了真实数据。
图2.多样化样本生成(DSG)方法


02

方法
Slack Distribution Alignment
我们提出了一种松弛对齐批标准化的数据分布的方法(SDA)。我们分别为激活的均值和标准差统计引入松弛量,以带来丰富的分布变化。具体来说,将松弛常数添加到原始的批标准化统计量损失函数中,以解决分布同质化问题。第i个批标准化层的损失项变为如下形式:
松弛量和允许合成数据的统计量与批标准化层的统计参数之间存在差距。在特定范围内,合成数据的统计量会在宽松的约束下波动。因此,合成数据的特征分布变得更加多样化。
一个重大的挑战是在不使用真实数据的条件下确定松弛量和的值。真实数据的特征统计量与批标准化统计量参数之间的差距可以作为合理的参考。由于无法获取真实数据,根据中心极限定理,我们可以使用高斯假设作为一个通用的近似值。因此,我们使用从高斯分布中随机采样的合成数据来确定和。
首先,我们从μ=0,σ=1的高斯分布中采样1024个合成样本。然后将合成样本输入模型,并保存所有特征统计信息,即均值和标准差。
然后计算保存的统计数据与相应的批标准化层的参数之间的差。采用差的绝对值的分位点作为和。和的定义如下:
其中,和是高斯分布中采样的合成样本在第i个批标准化层的激活值的均值和标准差。-和-分别表示-和-的百分位点。这个在0与1之间的数决定了和的取值,即决定了合成数据统计量对齐批标准化统计量参数的松弛程度,当该值较大时,对合成数据的约束更加松散。
Layerwise Sample Enhancement
为解决样本之间的同质化问题,我们提出了一种层级样本增强的方法(LSE)。
我们分别设计一个batch中每个合成图像的损失函数,从而增强每个样本对于特定层的损失。具体地说,对于具有N个批标准化层的网络,我们可以提供N个不同的损失项,并将它们中的每一个应用于特定数据样本。
假设每次生成N个图像,即批大小设置为N,和模型中的批标准化层的个数相同。我们定义=作为增强矩阵,其中I是一个N维单位矩阵,1是N维全1列向量,L是包含每层损失项的向量。那么该批次的损失函数定义为:

其中L是N维列向量,其第i个元素表示该批次中第i个图像的损失函数。因此,该批次的每个样本被施加了唯一的损失项,对特定层的损失项进行了增强。对于具有N个批标准化层的网络,该方法可以同时批量生成各种样本,每种样本在特定层上进行增强。我们可以将L替换为,从而将SDA方法与LSE方法结合。
如图3所示,通过上述两个方法,我们解决了生成样本的同质化问题,并增强了多样性。
图3.真实样本和生成样本的激活值统计量分布


03

实验
为了验证该多样化样本生成方法在不同网络架构,数据集和不同量化位宽上的效果,我们在ImageNet数据集上使用各种模型与离线量化方案进行了实验。
表1中结果表明,在ResNet-18和ResNet-50上,DSG在各种比特设置下优于ZeroQ,尤其是在较低比特下。在某些设置下,甚至取得了超过真实数据的结果。
表1.在ResNet-18(a)和ResNet-50(b)上的对比实验
表2结果表明,采用各种离线校准方法时,DSG相比ZeroQ有一致的性能提升。
表2.ResNet-18上采用不同离线校准方法的实验
为了进一步验证DSG的有效性,我们验证了使用最先进的离线量化方法(AdaRound)时的性能,如表3所示。实验中,我们也使用了Label以及Image Prior方法。结果表明,DSG依然带来了性能上的提升。
表3.在ResNet-18上使用AdaRound的实验


04

总结
本文展示了一种新颖的用于精确无数据量化的样本生成方法DSG,该方案针对合成样本在分布和样本层面上的的同质化问题进行了剖析,提出了松弛对齐批标准化层分布SDA和层级样本增强LSE两个方法,共同增强了生成数据的多样性。事实表明,DSG在各种网络训练架构和各种离线量化方法中表现出色,尤其在超低位宽条件下,效果大大优于现有技术。我们的工作揭示了现有无数据量化方法中普遍存在的问题,希望能为未来的研究带来启发。

作者介绍

论文共同第一作者张祥国,北京航空航天大学硕士二年级,主要研究方向为模型量化压缩与加速、硬件友好的深度学习,以第一作者发表计算机视觉顶级会议(CVPR)一篇。
论文共同第一作者秦浩桐,北京航空航天大学博士二年级,主要研究方向为模型量化压缩与加速、硬件友好的深度学习。以第一作者发表顶级会议、期刊(ICLR,CVPR,PR)共4篇。个人主页:https://htqin.github.io/

团队介绍

北航刘祥龙教授团队近年来围绕模型低比特量化、二值量化、量化训练等方向做出了一系列具有创新性和实用性的研究成果,包括国际首个二值化点云模型BiPointNet、可微分软量化DSQ、量化训练、信息保留二值网络IR-Net等,研究论文发表在ICLR、CVPR、ICCV等国际顶级会议和期刊上。
主页:http://sites.nlsde.buaa.edu.cn/~xlliu/

本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。


“源头活水”历史文章


更多源头活水专栏文章,

请点击文章底部“阅读原文”查看



分享、在看,给个三连击呗!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存