Data-Free Adversarial Distillation
Data-Free Adversarial Distillation
最近,Dosovitskiy与Brox[11]结合了自动编码方法与对抗性GAN进行联合训练,成功开发出能够从高度压缩的特征表示中重建图像的网络架构.基于这些重建型生成器网络,我们选取其作为初始条件,优先生成合成图像.值得注意的是,尽管这些重建型发生器架构接近真实生成模型,但它们在训练过程中未施加任何隐式假设或约束条件,同样未添加噪声以增强稳定性或改善性能.因而,在数据空间中既不存在自然采样的机制,同样缺乏隐式的概率密度函数描述.
我们提出了一种量化评估机制来衡量学生与教师模型间的性能差距,并设定了一个优化上限。在研究过程中,默认假设学生与教师具备鉴别能力。通过这种方式减少了这一差距指标。为了进一步提高该指标,在实验中采用了主动选择困难样本的方法。广泛的实验表明所提出的无数据方法具有与现有数据驱动方法相当的性能表现更引人注目的是这种方法能够直接扩展到更为复杂的任务——语义分割领域并在此任务上实现了最新的研究成果最终部分提到该代码将被发布
无数据蒸馏当前仍属新兴研究领域,在缺乏真实数据的情况下,传统生成技术如GANs[11]和VAEs[19]无法直接应用。Nayak团队[27]与Chen团队[6]均进行了初步探索。其中,在Nayak的研究中[27],部分"Data Impressions"是通过教师模型构建的;而在Chen的研究中[6]则提出生成相应的one-hot样本以显著激活教师模型中的神经元。这些探索性研究在分类任务中取得了显著成果(如显著激活教师模型中的神经元),但仍存在局限性:例如其生成约束基于经验设计(即一个适当样本通常能引起教师模型高度自信),然而该方法将样本从数据空间映射至极小输出空间(导致大量信息丢失),使得在此有限空间内构建标准化样本难度增加;此外现有方法仅考虑固定教师模型情况(未考虑学生信息),因此所生成样本无法根据学生特征进行定制
为了突破经验设计局限性,在本研究中
该对抗性训练框架已被开发用于提取无数据中的知识。经研究发现这一技术路线是首个可应用于语义分割的方案。
我们开发了一种新型方法,在缺乏真实数据的情况下评估模型间的差异。
大量实证研究显示,所提出的混合学习方法不仅在性能方面显著优于无监督学习方法,并且其效果与部分基于数据的机器学习方法相当。
3. Method
基于已预先训练完成的教师模型T(x, θt)所掌握的知识基础之上, 我们的项目旨在创建一个比现有教师模型更为轻量的学生架构S(x, θs). 该目标得以实现的方式在于, 通过最小化教师与学生之间的差异度量D(T,S), 采用参数化的学生架构S来模拟教师行为. 其中,D表示用于量化评估教师T与学生S之间行为差异的关键指标.

基于数据提取的关键环节中, 我们构建了一个损失函数, 如平均平方误差, 并使用真实数据进行优化. 在此过程中所使用的损失函数可被视为对模型差异的一种量化评估工具. 当原始训练数据缺失时, 该评估过程变得具有挑战性. 为此我们提出了一种称为DFAD(无数据对抗性蒸馏)的方法来近似评估模型差异, 从而能够对该过程进行优化以实现无数据蒸馏
3.1. Discrepancy Estimation
假设存在教师模型T(x, θt)、学生网络S(x, θs)以及特定的数据分布p,在此基础之上

公式2中的常数因子n代表模型输出元素的数量。这种差异仅用于评估模型输出在所有数据点上的平均绝对误差(MAE)。请注意,在且唯其在它们对任意输入x产生相同输出时,S与T在功能上是相同的。因此,在假设p是一个覆盖整个数据空间的均匀分布p_u的情况下,我们能够得到真实的模型差异D*。
在处理这一差异时,默认的做法是采用从整个数据空间中抽取随机输入来进行训练。然而由于维数灾难的存在而导致这种方法显得不可行。为了规避难以估计的D∗问题我们需要引入一个新的概念即生成器网络\mathcal G(z\theta^g)用于控制数据分布。这种设计与GANs相似地构建机制:即通过将来自分布p_z中的随机变量z经过处理后输出一个虚假样本x并利用该样本进行判别评估从而达到目标

我们的框架的核心理念在于通过D(T, S; G)来近似D∗。具体而言,则是基于有限生成样本去估计教师模型与学生之间的真实差异。在本研究中,我们将生成样本划分为两类:"硬样本"与"简单样本"。硬样本能够使得模型T与模型S之间的输出差异相对较大;假设存在一个生成器\mathcal G^h始终能产出硬样本,则以下不等式成立:

在这一不等式中, pu是一个在整个数据空间均匀分布的概率分布,其中包含了大量难以分类(hard)和容易分类(easy)的数据样本.
容易分类的数据样本使得真实模型差异 D* 被低估,
而难以分类的数据点则会导致估计值 Dh 产生偏差.
假设所有生成的数据点都被归类为难以分类的数据点时,
这一关系式始终成立.
在这种情况下,
通过这个上限 \mathcal D^h 可以限制真实模型差异 D* 的变化范围,
从而帮助我们更好地理解其行为特性.
在训练学生模型S的过程中,在学习阶段中会遇到一些具有挑战性的任务或数据(称为难的样本)。这些难的样本会被学习者逐步理解和转化为较容易处理的样本(称为易的样本)。为了持续生成高质量且具有挑战性的数据用于训练模型,请考虑设计一种机制。这种机制可以通过对抗性蒸馏法来实现。

3.2. Advserarial Distillation
为了维持生成对抗样本的约束条件,在本节中提出了两阶段对抗训练方法。与现有的GAN架构相似,在本框架中同样配置了一个生成器G(z,θ⁴),并引入了一个鉴别网络作为主干结构。如同前面所述,在这一过程中其中生成器G(z,θ⁴),负责从潜在空间中产生对抗样本;而将学生模型S(x,θˢ)与教师模型T(x,θᵗ)结合使用作为鉴别网络主体部分(即所谓的主干),用于计算判别网络在对抗样本上的差异程度D(T,S;G).
对抗性训练过程包含两个阶段:模仿阶段通过最小化差异实现目标;生成阶段则通过最大化差异实现更高的复杂度。
3.2.1 Imitation Stage
在此阶段期间,在判别器内部仅更新并优化学生的模型参数。我们从高斯分布中提取一批随机噪声z,并通过使用生成器G生成一组假样本x。然后每个样本x分别输入到教师模型与学生模型中,从而得到输出q^t与q^s。在分类任务场景下,其中q是一个向量变量,在该场景下表示各个类别对应的分数值;而在此外的任务类型下(例如图像语义分割)则 q 可以是一个矩阵变量来描述相应的结果空间结构
实际上,在指导学生学习的过程中存在多种方法以定义差异D。Hinton等研究者采用KD损失来进行监督学习任务,并将其定义为Kullback-Leibler散度(KLD)或均方误差(MSE)。这些数据驱动的方法在实际应用中表现出色;但将其直接引入我们的框架可能会带来问题。其根本原因在于:当学习器收敛至生成的数据样本时;这些损失函数会产生梯度衰减现象;这将导致生成器的学习过程会陷入停滞状态;从而使得整个minmax博弈陷入一种停滞不前的状态。
在此基础上,在此基础上
在此基础上


从直观上讲,这一阶段与KD具有许多相似之处,但其目标存在显著差异.在KD体系中,学生能够积极地模仿教师所设下的软性目标,这是因为这些目标是由真实数据所支撑并得以提取出来的[14],其中蕴含着对特定任务而言的重要知识.然而,在我们的环境中缺乏真实的训练数据支持.由生成器创建的人工样本难以确保其实用性,特别是在训练初期阶段.
如前所述,在生成阶段,生成器需要创造具有代表性的样本以评估教师与学生在模型上的差异。除了从老师那里获取知识之外,在模仿阶段的另一个关键目标是建立一个更有效的搜索空间,并促使生成器产出新的具有代表性的样本。
3.2.2 Generation Stage
在本阶段的主要任务是推动硬样本数量的增长并确保公式4的有效性。在此期间(或此阶段),我们将保持鉴别器不变,并仅更新生成器。该系统的设计灵感来源于人类的学习机制,在这一机制中,默认情况下会积累基础知识(即在开始时就具备基本认知能力)。随后,在应对更具挑战性的问题的过程中不断扩展和深化这些基础(即通过解决问题来提升认知水平)。因此,在此阶段中我们期望促使模型更加多样化地呈现数据特征(即通过多样化的数据增强模型的能力)。为了实现这一目标的一种可行的方式就是以负Mean Average Error(MAE)损失函数作为优化生成器的标准:

在损失出现的情况下, 误差首先经过鉴别器——教师与学生模型, 然后经发生器反向传递以生成梯度用于优化发生器. 当对抗性训练启动时, 其中来自教师模型的导数是不可或缺的关键因素, 因为随机初始化的学生未能提供有效的探索硬样本信息.
但是,在这种情况下(即学生的学习速度远低于平均水平),基于公式7的目标设计出来的训练计划可能会出现不稳定的情况。通过优化公式7中的目标函数(即最小化其值),生成器可能会产出异常的样本数据集(例如那些不符合常规预期的结果)。值得注意的是,在教师与学生反馈这些异常样本的过程中所观察到的现象差异性可能会影响到整体系统的稳定性表现
对抗性训练过程受到了负面影响,并导致数据分布发生了显著变化。因此必须确保生成的数据样本属于正常类别。为此我们建议采用MAE取对数的方式构成适应性损失函数在生成阶段。

与\mathcal{L}_{\text{GEN}}始终倾向于促进生成器产生显著差异的硬样本不同,在公式8所提出的新型目标函数中,在差异增大的情况下(即随着差异增大),生成器的行为会发生变化——其梯度值将逐渐趋向于零。这种机制使得生成器在整个训练过程中逐步减速并最终趋于平稳状态。若去掉对数项,则必须谨慎调节学习率以确保整个系统的稳定性。
3.2.3 Optimization

双阶段训练方案中描述了整个提炼过程的机制,在算法1中被系统1所涵盖

表1列出了实验所涉及的数据集及其模型架构。REL和UNR分别代表相关替代数据与不相关数据。
基于学生模型的学习进度,在这一对抗性游戏中竞争激烈的环境迫使生成器去寻找缺少的知识。经过几个训练步骤后,在这一对抗性游戏中竞争激烈的环境迫使生成器去寻找缺少的知识。在这种情况下,在这一对抗性游戏中竞争激烈的环境迫使生成器去寻找缺少的知识。在这种情况下,在这一对抗性游戏中竞争激烈的环境迫使生成器去寻找缺少的知识
Training Stability 在对抗性训练过程中维持稳定性至关重要。在模仿阶段,我们对学生模型进行k次更新,以确保其收敛性。然而,由于生成的数据可能与我们的目标任务关联不大,避免设置过大的k值,因为这会导致学生模型过于偏向特定数据。通过设置合适的k值(如5),我们可以有效提升稳定性。此外,在密集预测任务中推荐采用自适应损失函数LGEN−ADA,因为这种函数通过调整梯度来利用统计信息;而在分类任务中则倾向于使用少量样本计算生成损失,因为此时统计信息不够可靠。
Sample Diversity 优于GANs的方法,在于其能更有效地维持了生成样本的多样性。在模式崩溃发生时,在这种情况下容易出现训练出大量相似的样本而导致模型之间的差异显著降低的现象。在这种特定场景下,在这种情况下为了提高整体性能,在这种情况下生成器不得不尝试产生多样化的样本以弥补由于模式崩溃带来的性能损失。
建议将外部链接中的图片保存下来以避免转存失败的情况;网站可能存在防盗链设置,因此可采取的方法包括提前保存文件或通过其他上传途径确保图片能够正常显示。
4.2. KD in Classification Models
表2展示了我们提出的方法与基准线方法的测试性能。在消除随机性影响的前提下,在这些替代方案中(指表中的第一部分),我们假设生成的数据分布应与原始训练集保持一致。为了确保结果的一致性,在这些替代方案中(指表中的第一部分),我们假设生成的数据分布应与原始训练集保持一致。第一部分总结了基于数据驱动蒸馏的方法的表现。其中KD-ORI依赖于原始训练数据;而KD-REL和KD-UNR则利用了一定数量的无监督替代数据来辅助训练;在这些替代方案中(指KD-REL),我们假设生成的数据分布应与原始训练集保持一致;而在这些替代方案中(指 KD-UNR),我们则采用了另一种无监督学习策略以优化模型性能;在这些替代方案中(指 KD-RAND),我们完全随机地从未标记数据集中选择样本作为输入;其中,在这些替代方案中(指 KD-RAND),我们完全随机地从未标记数据集中选择样本作为输入;其中,在这些替代方案中(指 KD-RAND),我们完全随机地从未标记数据集中选择样本作为输入;其中,在这些替代方案中(指 KD-RAND),我们完全随机地从未标记数据集中选择样本作为输入
然而, 替代数据与真实场景之间存在显著差异, 这就造成了知识体系理解上的局限性. 从表中可以看出, KD-REL的表现略逊于KD-ORI. 在实验阶段, 我们能够获取到真实场景下的训练数据, 因此能够较为容易地利用现有的相似样本来进行训练分析. 然而, 在实际应用场景中, 我们缺乏关于领域信息的具体认知, 这使得我们难以获取到具有代表性的相似样本. 因此, 仅凭盲目采集的数据可能导致大量与目标任务无关的内容存在. 当这种情况发生时, 数据偏差不仅增加了模型训练难度, 而且会导致学生模型性能明显下降;
表格的第二部分展示的是无数据蒸馏方法的效果。我们利用他们提供的代码将自身的方法与DALF[6]进行了对比。在实验过程中,我们将CIFAR的数据批量设为256, Caltech101的数据批量设为64,并对每个模型进行了持续500个epoch的训练。通过对抗性学习,在无需数据的情况下,我们取得的最佳准确率是最高的,其性能甚至不弱于那些依赖数据的方法。特别值得注意的是,在Caltech101上调整批次大小至64时,DALF[6]出现了问题,而我们的研究发现,在这种情况下依然能够从教师模型中获得有效的知识转移。关于不同批次大小的影响,相关细节可在补充材料中查阅获取
可视化生成样本. 随着分类难度的增加, 教师模型具备更强的能力, 因此在对抗性学习过程中, 生成器能够重建出更加复杂的图像. 如前所述, 生成样本的多样性基于对抗性损失机制得以保障. 在实验结果中, 生成器确实成功地维持了样本的多样性, 几乎每一个生成出来的样本都是独一无二的.
A. 模型结构和超参数
表7列出了每个数据集的基本配置情况。
在我们的实验研究中发现,
教师模型是基于标记数据进行学习的,
而学生模型与生成器则采用了无真实世界数据训练的方法。
每隔50个训练步骤后,
我们会对当前模型的表现进行评估。
为了简化描述,
我们将这样一个时间段称为一个 epoch
A.1. Generators
如图4所示,在实验中我们采用了两个生成器架构来实现图像增强效果的提升。第一个生成器(记为"Generator-A")采用最近邻插值方式进行上采样操作;而第二个生成器(记为"Generator-B")则基于DCGAN[31]提出的相似架构设计,在 upsampling 过程中替换了传统的插值方法并引入了反卷积层(deconvolutions)。具体而言,在 MNIST 和 CIFAR 数据集上我们采用了 Generator-A 作为基础模型;而对于其他类型的非标准数据集,则采用了更为强大的 Generator-B 架构以获得更好的重建效果。在梯度下降优化过程中,默认激活函数斜率设定为 0.2 能够有效防止梯度爆炸现象的发生。为了提高训练效率,在蒸馏过程中我们选择 Adam[18] 优化算法并设置了学习率为 1\times 10^{-3} 的固定步长参数;同时 beta 参数取其预设值 0.9 和 0.999 来满足优化过程中的数值稳定性要求

表4列出了生成器架构的详细信息。向量输入随后被投影到特征图中[31],随后经过上采样处理以达到所需尺寸。
B. Influence of Different Batch Sizes
存中…(img-soEACNep-1619342709449)]
表 4:生成器架构。经过向量投影至对应的特征图中[31]后进行处理,在随后通过上采样技术放大至所需尺寸以满足后续计算需求
B. Influence of Different Batch Sizes
在我们采用的方法中, 为了实现高效的生成过程, 在模型训练阶段采用了较大的批量规模, 并确保差异估计的准确性. 通过在分类和语义分割数据集上进行多次实验, 我们系统地研究了不同批量规模对模型性能的影响. 进一步发现, 适当增大批量规模能够显著提升生成质量. 其中一个关键因素是大量样本的数据分布特征能够更好地反映真实场景下的统计特性, 从而使得模型训练过程更加稳定.
