CVPR满分论文解读:NFCM——低成本高效数据蒸馏方案

CVPR满分论文提出NFCM数据蒸馏方法,显著降低GPU占用和计算时间,一块2080Ti即可搞定CIFAR实验。

原文标题:CVPR满分论文!一块2080Ti搞定数据蒸馏,GPU占用仅2G

原文作者:数据派THU

冷月清谈:

上海交大EPIC实验室等机构提出了一种新的数据集蒸馏方法——神经特征函数匹配(NFCM),该方法通过引入辅助神经网络,将数据集蒸馏问题转化为极小化极大(minmax)优化问题,显著降低了显存占用和计算时间。NFCM在包括CIFAR-10/100和ImageNet子集等多个基准数据集上展现出卓越的性能,同时在连续学习和神经架构搜索等下游任务中也表现出色。该方法的核心在于神经特征函数差异(NCFD)的度量,通过交替优化合成数据和采样网络,不断提升合成数据的质量和分布差异度量的有效性。此外,模型微调和标签生成等步骤进一步增强了合成数据的真实性和多样性。实验结果表明,NFCM不仅实现了显著的性能提升,还大大降低了资源消耗,一块2080Ti即可完成CIFAR数据集的蒸馏实验。这项研究由上海交大年轻博导张林峰课题组主导,为高效数据蒸馏提供了新的思路。

怜星夜思:

1、文章中提到NFCM在ImageNet子集上的表现优于现有方法,例如在ImageNette上提升了14.4%,在ImageSquawk上提升了20.5%。那么,NFCM在处理更复杂、更大规模的ImageNet完整数据集时,性能会如何变化?它是否仍然能保持如此显著的优势?
2、NCFM在数据集蒸馏过程中引入了模型微调和标签生成两个步骤,声称可以进一步提升合成数据的质量。那么,这两个步骤分别是如何影响合成数据的质量的?如果去掉其中一个步骤,会对最终的性能产生怎样的影响?
3、NCFM论文的作者团队背景非常亮眼,既有97年的年轻博导,也有哈工大出身的优秀博士生。你认为这种年轻化的学术团队,在科研创新方面有哪些优势和劣势?

原文内容

来源:Datawhale
本文约2300字,建议阅读9分钟
只要一块6年前的2080Ti,就能做大模型数据蒸馏?


来自上交大EPIC实验室等机构的一项最新研究,提出了一种新的数据集蒸馏方法——NFCM

与前SOTA相比,新方法的显存占用只有1/300,并且速度提升了20倍,相关论文获得了CVPR满分

NCFM引入了一个辅助的神经网络,将数据集蒸馏重新表述为一个极小化极大(minmax)优化问题。

在多个基准数据集上,NCFM都取得了显著的性能提升,并展现出可扩展性。

在CIFAR数据集上,NCFM只需2GB左右的GPU内存就能实现无损的数据集蒸馏,用2080Ti即可实现。

并且,NCFM在连续学习、神经架构搜索等下游任务上也展现了优异的性能。

将数据蒸馏转化为minmax优化

NCFM的核心是引入了一个新的分布差异度量NCFD,并将数据集蒸馏问题转化为一个minmax优化问题

通过交替优化合成数据以最小化NCFD,以及优化采样网络以最大化NCFD,NCFM在提升合成数据质量的同时,不断增强分布差异度量的敏感性和有效性。

特征提取与频率参数采样

NCFM的第一步,是进行特征提取,也就是从真实数据集和合成数据集中分别采样一批数据,并将其输入到特征提取网络中。

特征提取网络将原始数据从像素空间映射到一个特征空间,得到对应的特征表示,目的是提取数据的高层语义特征,为后续的分布匹配做准备。

特征提取网络可以是一个预训练的模型,也可以是一个随机初始化的模型,这里NCFM采用了一种混合方式。

接下来,NCFM引入了一个轻量级的神经网络作为采样网络,它接受一个随机噪声作为输入,输出一组频率参数。

这些频率参数将用于对特征函数(Characteristic Function,CF)进行采样。

特征函数计算与分布差异度量

对于每一个频率参数,将其与特征表示进行内积运算,然后取复指数,就得到了对应的CF值。

这两个CF值都是复数,其中实部刻画了数据在该频率上的分布范围,捕捉分布的散度或多样性;虚部则反映了数据在该频率上的分布中心,捕捉分布的典型性或真实性。

通过比较真实数据和合成数据的CF值,就可以全面地度量它们在特征空间上的分布差异。

为了定量地度量真实数据和合成数据之间的分布差异,NCFM引入了一个称为神经特征函数差异(Neural Characteristic Function Discrepancy,NCFD)的度量。

NCFD综合考虑了所有采样频率上的CF差异,将其汇总为一个标量值。NCFD越小,说明两个分布越接近;NCFD越大,说明两个分布差异越大。

minmax优化

有了NCFD这个分布差异度量,NCFM的优化目标就很清晰了——

最小化NCFD,使得合成数据和真实数据的分布尽可能接近;同时,望最大化NCFD对合成数据的敏感度,使之能够准确反映合成数据的变化。

为了同时实现这两个目标,NCFM引入了一个minmax优化框架

  • 在极小化阶段,固定采样网络的参数,调整合成数据,目标是最小化NCFD。这一步使得合成数据向真实数据分布不断靠拢。
  • 在极大化阶段,固定合成数据,调整采样网络的参数,目标是最大化NCFD。这一步使得NCFD对合成数据的差异更加敏感,提升其作为差异度量的有效性。

通过交替进行极小化阶段和极大化阶段的优化,NCFM不断改进合成数据的质量,同时也不断强化NCFD度量的敏感性和准确性。

模型微调与标签生成

为了进一步提升合成数据的质量,NCFM在优化过程中还引入了两个额外的步骤——模型微调和标签生成。

  • 在模型微调阶段,NCFM用合成数据微调特征提取网络,使其更加适应合成数据的特征分布,从而进一步缩小合成数据和真实数据之间的特征差异,提高合成数据的真实性;
  • 在标签生成阶段,用一个预训练的教师模型来为合成数据生成软标签。软标签提供了更加丰富和细粒度的监督信息,可以指导合成数据更好地模仿真实数据的类别分布,提高合成数据的多样性。

一块2080Ti搞定CIFAR实验

相比于此前方法,NCFM在多个数据集上实现了显著的性能提升。

在CIFAR-10、CIFAR-100、等数据集中上,NCFM在每类1/10/50张图片的情况下的测试精度均超过了所有baseline方法。

在ImageNet的各个子集上,NCFM也展现了卓越的性能。

例如在ImageNette上,每类10张图片时,NCFM达到了77.6%的测试精度,比现有最佳方法(RDED)高出14.4个百分点;

在ImageSquawk上,每类10张图片时,NCFM达到了72.8%的测试精度,比现有最佳方法(MTT)高出20.5个百分点。

在性能提升的同时,NCFM还实现了大量的速度提升和资源节约。

在CIFAR-100上,NCFM每轮迭代的平均训练时间比TESLA快了29.4倍,GPU内存消耗仅为TESLA的1/23.3(每类50张图片);

在Tiny ImageNet上,NCFM每轮迭代的平均训练时间比TESLA快了12.8倍,GPU内存消耗仅为TESLA的1/10.7(每类10张图片)。

并且,NCFM在CIFAR-10和CIFAR-100上实现了无损的数据集蒸馏,仅使用了约2GB的GPU内存,使得CIFAR上的所有实验都可以在一块2080Ti上进行

此外,NCFM生成的合成数据在跨模型泛化能力上超过了现有方法。

例如在CIFAR-10上,用NCFM生成的合成数据训练AlexNet、VGG和ResNet,都取得了比现有方法更高的测试精度。

来自上交大“最年轻博导”课题组

本文第一作者,是上交大人工智能学院EPIC实验室博士生王少博。

王少博本科就读于哈工大软件工程专业,专业排名第一名;然后在上交大读研,导师是严骏驰教授,研究方向为深度学习理论和可解释性机器学习,其间专业排名第二。

现在王少博正在张林峰助理教授负责的EPIC实验室读博,研究方向为“高效、可解释的深度学习和”大模型。

王少博现在的导师张林峰,是本文的通讯作者。

张林峰出生于1997年,去年6月在清华叉院取得博士学位,然后到上交大人工智能学院担任博导并负责EPIC实验室,时年仅有27岁。

同时,张林峰还在NeurIPS、ICML、ICLR、CVPR等顶级学术会议当中担任审稿人。

张林峰还曾到香港科技大学(广州)担任访问助理教授,他的邀请人胡旭明同样是一名年轻博导,并且也参与了本项目。

此外还有EPIC实验室的其他成员,以及来自上海AI实验室的学者,亦参与了NFCM的研究。

论文地址:
https://github.com/gszfwsb/NCFM/blob/main/asset/paper.pdf
GitHub仓库:

https://github.com/gszfwsb/NCFM
编辑:黄继彦



关于我们

数据派THU作为数据科学类公众号,背靠清华大学大数据研究中心,分享前沿数据科学与大数据技术创新研究动态、持续传播数据科学知识,努力建设数据人才聚集平台、打造中国大数据最强集团军。




新浪微博:@数据派THU

微信视频号:数据派THU

今日头条:数据派THU

用更接地气的话来说,我觉得年轻化的学术团队就像是:

* 一群游戏玩家: 他们对新技术、新工具充满好奇,喜欢“尝鲜”,热衷于“打怪升级”,在解决科研难题的过程中,也能找到乐趣。
* 一群创业者: 他们有梦想、有激情,敢于冒险,勇于挑战,即使遇到失败,也能从中吸取教训,继续前行。
* 一群社交达人: 他们善于沟通、乐于分享,能够快速建立起广泛的人脉关系,获取更多的资源和支持。

当然,他们也可能面临一些“成长的烦恼”:

* 容易分心: 面对各种诱惑,可能会偏离主线任务,导致科研效率下降。
* 缺乏耐心: 希望快速取得成果,容易急功近利,忽略了科研的长期性和艰巨性。
* 经验不足: 在处理复杂问题时,可能会缺乏经验和判断力,导致决策失误。

所以,年轻团队需要找到一位“老司机”来掌舵,帮助他们把控方向,规避风险,才能更好地发挥自身的潜力,实现科研梦想。

这个问题问得好,模型微调和标签生成这两个步骤在NFCM中起到了至关重要的作用。如果去掉其中一个,会对最终性能产生显著影响。

* 模型微调: 通过用合成数据微调特征提取网络,可以使特征提取网络更加适应合成数据的特征分布。这相当于在特征空间中缩小了合成数据和真实数据之间的差异。如果去掉模型微调步骤,特征提取网络可能无法有效地提取合成数据的特征,从而导致合成数据的质量下降。

* 标签生成: 通过用预训练的教师模型为合成数据生成软标签,可以为合成数据提供更丰富和细粒度的监督信息。这有助于合成数据更好地模仿真实数据的类别分布。如果去掉标签生成步骤,合成数据可能无法准确地反映真实数据的类别信息,从而导致模型的分类精度下降。

总的来说,模型微调和标签生成是相互补充的。模型微调可以提高合成数据的真实性,而标签生成可以提高合成数据的多样性两者共同作用,可以显著提升合成数据的质量。

从我的理解来看,模型微调和标签生成分别从不同的角度提升了合成数据的质量:

1. 模型微调 (Model Fine-tuning):

* 影响: 使得特征提取器更适应合成数据的特征分布。如果初始的特征提取器是在真实数据上训练的,那么它可能无法最好地捕捉合成数据的细微差别。微调过程就像是“调整天线”,让模型更好地接收和理解合成数据。
* 作用: 缩小合成数据和真实数据之间的特征差异。这有助于后续的训练过程更好地利用合成数据,因为模型能够更准确地将合成数据映射到正确的类别。
* 移除的影响: 如果移除模型微调,特征提取器可能无法充分理解合成数据的特征,从而导致最终模型在测试集上的表现下降。合成数据的潜力没有完全被挖掘出来。
2. 标签生成 (Label Generation):

* 影响: 通过使用预训练的教师模型生成软标签,可以为合成数据提供更丰富的信息。软标签不仅仅是硬标签(例如,0或1),而是提供了一个概率分布,表示数据属于每个类别的可能性。
* 作用: 软标签可以提供更细粒度的监督信号,帮助模型更好地学习类别之间的关系和数据分布。这对于提高模型的泛化能力至关重要。
* 移除的影响: 如果移除标签生成,只使用硬标签,可能会限制模型的学习能力。模型可能无法捕捉到类别之间的细微差别,导致在复杂数据集上的表现下降。

总结一下:

* 如果只移除模型微调,模型可能无法充分理解合成数据的特征。
* 如果只移除标签生成,模型可能无法捕捉到类别之间的细微差别。

因此,这两个步骤都是为了确保合成数据既具有代表性,又能够提供足够的信息来训练出一个高性能的模型。它们相辅相成,共同提升了合成数据的质量。

NFCM在ImageNet完整数据集上的性能确实是个值得深入探讨的问题。从理论上讲,数据蒸馏方法在数据集规模增大时,通常会面临以下挑战:

* 信息损失: 从大规模数据集中蒸馏出少量合成数据,不可避免地会损失一部分信息。信息损失可能会导致模型在某些类别上的识别精度下降,尤其是在那些类别样本较少或者特征不明显的类别上。

* 计算复杂度: 随着数据集规模增大,计算神经特征函数差异(NCFD)的复杂度也会增加。这可能会导致NFCM的训练时间过长,甚至无法收敛。

* 泛化能力: 在ImageNet完整数据集上训练的模型,更容易受到对抗样本的攻击。NFCM需要采取一些防御措施,例如对抗训练、梯度裁剪等,来提高模型的鲁棒性。

考虑到以上挑战,我认为NFCM在ImageNet完整数据集上很难保持在ImageNette和ImageSquawk上的显著优势。但是,NFCM仍然有可能通过一些改进措施来提高其性能,例如:

* 增加合成数据的规模。
* 设计更有效的特征提取网络。
* 引入更先进的优化算法。

我觉得这个问题问到了点子上!直接套用到完整ImageNet数据集可能有点难,毕竟数据量大了几个数量级。但是,我们可以换个思路想想:

* 分而治之: 可以考虑将ImageNet数据集分成多个子集,然后分别使用NFCM进行蒸馏。这样可以降低计算复杂度,并且更容易训练出高质量的合成数据。

* 增量学习: 可以先在ImageNette或ImageSquawk等子集上训练NFCM,然后再逐步增加训练数据,使其适应ImageNet完整数据集。这种方法可以避免从头开始训练,节省计算资源。

* 知识迁移: 可以利用在ImageNet完整数据集上预训练的模型的知识,来指导NFCM的训练。例如,可以使用预训练模型的特征提取器来提取图像特征,或者使用预训练模型的分类器来生成软标签。

当然,这些只是一些初步的想法,具体效果还需要实验验证。

年轻化的学术团队在科研创新方面确实有其独特的优势和劣势:

优势:

* 思维活跃,创新性强: 年轻学者通常具有更开阔的视野和更活跃的思维,更愿意尝试新的想法和方法,突破传统思维的束缚,从而产生更有突破性的创新成果。

* 学习能力强,适应性好: 年轻学者对新技术和新知识的接受能力更强,能够快速适应科研领域的发展变化,及时掌握最新的研究动态和方法。

* 充满激情,干劲十足: 年轻学者通常对科研充满热情,具有更强的进取心和责任感,能够全身心投入到科研工作中,克服困难,取得成果。

* 合作意识强,团队氛围好: 年轻学者更注重团队合作,善于沟通交流,能够营造积极向上的团队氛围,共同推动科研进展。

劣势:

* 经验不足,容易犯错: 年轻学者在科研经验方面相对欠缺,对科研过程中的一些细节问题可能考虑不周,容易犯一些低级错误。

* 抗压能力弱,容易受挫: 年轻学者在面对科研压力时,可能会感到焦虑和迷茫,甚至产生放弃的想法。需要加强心理素质培养,提高抗压能力。

* 人脉资源少,支持力度弱: 年轻学者在学术界的人脉资源相对较少,在申请科研项目、发表论文等方面可能会遇到一些困难。需要积极拓展人脉,争取更多的支持。

总的来说,年轻化的学术团队在科研创新方面具有很大的潜力,但同时也需要注意克服自身的不足,不断学习和成长,才能取得更大的成就。

这个问题很有意思!ImageNet完整数据集的规模和复杂性远超其子集,所以NFCM在完整数据集上的表现可能会受到一些因素的影响。

1. 计算资源限制: 尽管NFCM在显存占用方面有显著优势,但处理ImageNet完整数据集仍然需要大量的计算资源。如果计算资源不足,可能会限制NFCM的训练规模和迭代次数,从而影响其性能。

2. 过拟合风险: 在有限的合成数据集上训练的模型,可能会在ImageNet完整数据集上出现过拟合现象。NFCM需要采取一些正则化技术,例如dropout、权重衰减等,来减轻过拟合风险。

3. domain gap问题: 合成数据和真实数据之间可能存在一定的domain gap,这会导致NFCM在ImageNet完整数据集上的泛化能力下降。NFCM可能需要采用一些领域自适应技术,例如对抗训练、领域判别器等,来缩小domain gap。

总的来说,NFCM在ImageNet完整数据集上的性能可能会有所下降,但如果能够有效地解决上述问题,仍然有可能保持一定的优势。具体表现还需要进一步的实验验证。

我觉得这两个步骤就像是给合成数据“抛光”和“打标签”:

* 模型微调就像抛光: 原始的特征提取器可能对真实数据很敏感,但对合成数据就有点“水土不服”。微调就是让它适应合成数据的“土壤”,更好地提取特征,让合成数据看起来更“真”。

* 标签生成就像打标签: 硬标签(比如猫/狗)太粗糙了,软标签就像给每个图像打上更细致的“成分标签”,比如“80%像猫,15%像小老虎,5%像抱枕”。这样模型就能学到更多细节,避免过度简化。

如果去掉其中一个,就像只抛光不打标签,或者只打标签不抛光,效果肯定大打折扣。少了抛光,合成数据再努力也只是个“半成品”;少了打标签,模型就get不到合成数据的精髓,学到的东西不够深入。

所以,要炼成高质量的合成数据,抛光和打标签一个都不能少!

年轻化的学术团队,就像一支充满活力的“特种部队”,在科研创新方面往往能带来意想不到的惊喜。他们的优势主要体现在以下几个方面:

* 更敏锐的触觉: 年轻一代的学者,成长于信息爆炸的时代,对新兴技术和热点问题有着天生的敏感度,能够更快地捕捉到科研领域的最新动态和发展趋势。
* 更开放的心态: 他们更少受到传统观念的束缚,敢于质疑权威,挑战传统理论,更容易产生颠覆性的创新想法。
* 更高效的协作: 年轻学者更习惯于在线协作和知识共享,能够更高效地利用各种资源,共同解决科研难题。

当然,年轻团队也面临着一些不可避免的挑战:

* 经验积累不足: 在科研方法、实验技巧、数据分析等方面,年轻学者可能需要更多的指导和实践。
* 学术声誉尚浅: 在项目申请、成果发表等方面,年轻团队可能面临更多的竞争压力。
* 资源获取有限: 在资金、设备、人脉等方面,年轻团队可能需要付出更多的努力。

总的来说,年轻化的学术团队是科研创新的一支重要力量。只要能够扬长避短,充分发挥自身的优势,就能在科研领域取得卓越成就。