Advertisement

Data-Free Network Quantization With Adversarial Knowledge Distillation

阅读量:

无需数据的网络量化与对抗式知识蒸馏

1. Introduction

在本文中,我们提出了一种抗性知识提炼框架,在缺少原始训练数据的情况下,并非通过直接减少损失值的方式进行优化;而是通过抗性学习方法实现最坏情况下可能损失(即最大损失)的最小化目标。相较于文献[36]的研究工作,在基于任意元数据的前提下;我们不仅引入了对发生器施加约束条件的技术;还特别注重利用批量规范化层内部保存的统计数据来进行生成器约束;从而避免了额外开发新形式元数据所带来的复杂性和资源消耗问题。具体而言;我们采用了多生成器技术以生成多样化的合成样本;并通过实验研究表明:同时对多个学生实施抗性KD策略能够显著提升收敛效果与最终性能表现;图1详细展示了该无数据抗性KD框架的工作流程

在这里插入图片描述

图1展示了无数据环境下对抗性知识提炼的过程。我们旨在最小化教师与学生输出之间的Kullback-Leibler(KL)散度的最大值。在训练生成器用于产生对抗性图像的过程中,在最大化步骤中,生成器被约束为依据教师批量归一化层的数据统计特性进行生成

在模型压缩领域中展开了实验研究,在两种情况下进行了考察:第一种是无数据KD场景下的分析;第二种则是无数据网络量化的情形。与现有相关工作[35, 36, 41]相比,在SVHN[39]、CIFAR-10、CIFAR-100[40]以及Tiny-ImageNet1上的残差网络[37]和宽残差网络[38]等方面的表现上,则显示出我们在无数据KD方面的最佳性能。据所知,在无数据量化感知训练及训练过程中此前尚未有研究存在对该方法进行深入探讨

基于TensorFlow平台实施的量化感知训练实验[24, 42]中,在对不同规模的数据集进行深入研究后发现

Data-efficient KD and model quantization. 在数据稀缺条件下进行知识蒸馏(KD)的行为引起了广泛兴趣。为了将其部署至移动设备或边缘计算设备而需进行模型压缩。受限于隐私保护与许可证发放的相关规定。

一些早期研究尝试建议采用元数据策略。研究者倾向于采用从预训练模型中提取中间特征的数据统计作为辅助信息[33,34]。具体而言,他们建议从选定的中间层获取激活输出的基本统计特性,包括均值和方差,并将这些统计量作为补充信息提供给学习器,而非直接使用原始数据集.基于这些元数据特征,他们通过直接推断图像域中的样本特征,筛选出能够有效提升学生网络性能的学习样本.当这些样本在某种意义上反映了元数据统计特性时,它们会被提交给教师进行进一步训练.

然而目前提出的一些方法旨在解决这一问题 不专门针对无数据KD任务设计元数据 研究者们在文献[43]中发现 类间的相似性可以通过分析最后一个全连接层计算出各分类器间的相似性度量 这些度量被用来替代传统的元数据 最近的研究者们提出了一个新的思路 他们认为可以利用一批训练后的神经网络模型运行时产生的中间表示 而无需额外的成本就能生成新的元数据 这种方法被称为基于批量规范化层统计信息的设计

此外,在早期的方法中引入了一个另外的网络结构——生成器(Generator),它被用来生产用于训练学生网络的合成数据[35, 36, 44])。通过优化该生成器使其输出经由预训练教师处理后具有较高的准确性。这种做法旨在以生成具有挑战性的数据样本作为目标,并通过这种方式使得教师与学生之间的分类决策出现不一致现象。随后,在这一系列对抗性样本上实施了一项过程——知识蒸馏过程[KD][36]以进一步提升模型性能。

据我们了解,在无数据网络量化领域目前的研究相对较少。文献[45]探讨了无数据权重量化的方法,并提出了一种权重均衡策略及偏差校正机制。然而,在处理激活量化的环节上存在不足。权重均衡机制是一种系统性方法,在各层神经元间进行动态资源分配。通过这一过程,在各层的偏差均被最小化,并实现了量化误差的显著降低。

由于权重量化而引入激活中的偏差,在没有数据情况下被计算并加以修正;而这种偏差则基于批量归一化层中的统计数据。我们注意到,在文献[45]中未生成合成数据,并未考虑到data-free quantization-aware training。我们在表1部分进行了对比实验比较了无数据KD与量化方案的表现

表1对比了无数据KD与网络量化方案的异同点。该比较基于(1)它们生成合成数据的方式以及(2)它们是否依赖元数据的支持。

在这里插入图片描述

鲁棒优化是一种重要的优化领域,在这一框架中我们关注的是应对数据不确定性的问题(见参考文献[46,47])。稳健性优化构成了现代优化理论的重要组成部分,在这一过程中我们假设这些目标函数和约束条件都属于特定的集合类,并期望找到一种能够适应所有可能情况的有效解决方案。我们的目标是在任何可能的结果下都能实现可行决策,并在此情况下尽可能地最小化最坏情况下的目标函数值。当缺乏数据支持时我们将无监督知识抽取任务转化为鲁棒性优化模型,并基于预先训练好的教师在其BN层使用统计信息来确定相应的不确定性集。

Adversarial attacks. **人工合成的数据用于欺骗预先训练模型的问题研究具有重要意义。(例如, 见文献[48].) 尽管这些方法的目标各不相同, 但它们之间存在相似的机制. 在对抗攻击中, 其他两种主要方法包括: (1) 基于图像空间直接生成敌对样本 [49–51], 和 (2) 借助生成器网络技术实现对抗样本的产生 [52–54].

我们还注意到,在深度学习领域中,基于卷积层构建的生成器网络可被视为一个有效的正则化工具。该生成器网络可被用作图像重建过程中的先验信息来源[55]. 因此,在现有文献中并未引入额外的先验约束[56]的情况下, 我们选择直接使用该类神经网络架构来进行合成图像的研究

Generative adversarial networks (GANs). 对抗性学习在GANs中也是众所周知的[57]。GANs对图像合成问题的深入学习非常感兴趣。模式崩溃是GANs中众所周知的问题之一(例如,见[58])。克服模式崩溃的一个简单而有效的方法是引入多个发生器和/或多个鉴别器[59–62]。我们还发现,使用多个生成器和/或多个学生(在我们的案例中,一个学生充当鉴别器)有助于产生不同的样本,并避免在我们的无数据KD框架中过度拟合。

3. Data-free model compression

3.1. Knowledge distillation (KD)

该神经网络模型被设计为一种通用非线性架构,在分类任务中展现出显著的能力。该模型旨在生成基于输入x的概率分布P_θ(y|x)来反映标签集C中的可能性。其输出形式为一个向量t_θ(x) = [P_θ(y | x)]_{y∈\mathcal C}。令输入样本x的真实标签y是其所属类别在集合C中的one-hot编码表示。该网络模型基于标记数据集(称为训练数据集)进行预训练,并利用概率分布p(x, y)来学习模式。

在这里插入图片描述

其中\mathbb E_{p(x,y)}可视为基于训练数据集的经验期望值。其中D即为Kullback-Leibner (KL)散度的表现形式(例如可见文献[63]中的相关内容)。值得注意的是,在给定分布p(x, y)下,KL散度的最小化与交叉熵的最小化具有等价关系

为了训练一个新的神经网络s_{\phi}(被称作 '学生'),我们可以使其具备与预先训练的模型t_{θ*}相比更为简洁且结构上更为简单的特性(被称为 '教师')。该系统不仅能够生成输入x在各个类别y上的条件概率估计值Q_{\phi}(y|x)(即s_{\phi}(x)=[Q_{\phi}(y | x)]_{y∈\mathcal C}),而且知识提取文献[27]则主张通过特定方法实现这一目标。

在这里插入图片描述

其中λ取值为非负数;需要注意的是,在公式(1)中涉及到了两个重要的变量t_{θ∗}s_{\phi}。由于为了简化计算过程而未包含温度参数的影响,在处理第二个KL散度项时建议首先对这两个变量进行Softmax处理以确保模型的有效性。

3.2. Data-free adversarial KD

如(1)所示,在对p(x, y)期望值的假设下开发出原始KD方法。然而,在获取大规模数据集成本较高的情况下(尤其是在面临隐私与安全限制时),直接实现KD变得不可行。鉴于无法获得训练数据集的情况(即无法进行充分的数据标注与学习),设计一种无需依赖训练数据集就能实现知识蒸馏的方法具有重要意义——因为这种蒸馏方法仅依赖于预训练模型作为教师模型

稳健优化(例如见[46])强调在数据不确定性时采用对抗性学习策略以最小化潜在损失(最大损失),类似于我们在未经过训练的数据集优化过程中遇到的情形。为了在知识蒸馏过程中采用稳健的minimax优化策略(即抗受扰动知识蒸馏),我们首先引入生成器网络g_ψ用于生成对抗样本作为知识蒸馏过程的输入。接着运用最小化方法提出了一种无需训练数据支持的抗受扰动知识蒸馏方法(无须训练数据支持)。其公式表示为

在这里插入图片描述

其中α是一个不小于零的参数,在本研究中,L_\psi 被定义为经过预训练的教师网络,在基于生成器G 的输出结果上补充到生成器的学习过程中所形成的额外损失函数。我们将该模块的内容安排在第3.3节之后进行详细讨论。

备注1. 在比较(2)与(1)中的原始KD时,在论文写作中我们采用了更为简洁的方式,在比较过程中忽略了与 ground truth标签有关的第一个KL散度项。

在这里插入图片描述
在这里插入图片描述

然而,在缺乏原始训练数据的情况下,并未成功找到最佳生成器g_{ψ∗}。另一方面,在解决(2)中的最小化最大值问题后,在期望\mathbb E_{p(z)}[D(t_{θ∗}, s_ϕ)]的基础上达到了最优解,并通过辅助损失L_ψ对生成器施加了约束条件。

3.3. Generator constraints

在(2)的最大化过程中,我们对生成器施加了三个辅助损失函数的影响,在教师模型的基础上使其最大限度地模仿原始数据分布的高质量对抗性样本。

a) 批量归一化层通过记录输入数据的均值与方差来进行标准化处理。

© Batch categorical entropy. 假设各个类别在数据集中出现的概率相近,则其平均分类概率分布趋向于均匀状态,在此状态下熵达到最大值\log_2|\mathcal C|。换言之,在这一过程中我们希望使\mathbb E_{p(z)}[t_{θ∗}(g_ψ(z))]保持较高的熵。

定义为μ(l, c)和σ²(l, c),它们是从原始训练数据中学习并存储在批归一化层l中的通道c的平均值和方差。同样地,在生成器g_ψ的作用下,\hat μ_ψ(l,c)\hatσ^2_ψ(l,c)被定义为针对生成样本计算出的相关统计量。根据公式(2)所示,在(2)节中所述的位置上,发电机g_ψ所对应的辅助损失L_ψ由以下公式给出:

在这里插入图片描述
在这里插入图片描述

备注2. 如果(2)中的α=0,则所提出的方法将退化为文献[36]中所述的对抗性信念匹配方法。引入辅助损失函数L_ψ并施加约束条件来限定生成器的行为,在统计上使生成器所产出的合成图像与真实数据具有相似性特征。这有助于优化过程中尽量避免出现与真实数据存在较大差异的情况,并最终提升模型对复杂场景的适应能力(实际上减少了模型因过度拟合那些不具代表性的极端案例而导致的性能下降)。

对于类别(b)和(c),已有研究指出[35]中已经提出并探讨了类似的熵损失项。同时,在文献[41,45]中采用了基于批量归一化统计的方法进行相关分析。Yin等人[41]通过优化输入批次使其在预先训练的模型框架内产生了与批量归一化统计相似的信息,并在此基础上直接定位合成样本而无需依赖生成器这一创新方法。与之不同的是,在本研究中我们采用了一种不同的方法:利用Ze的批处理归一化统计特性来约束生成器以实现更好的性能提升

此外,在试图匹配均值和方差的过程中

3.4. Multiple generators and multiple students

有人建议采用集成生成模型以规避模式崩坏问题,并能覆盖目标数据集的整体支持性样例[62]。同样地,在我们的无标签知识 Distillation 框架中训练多套集成模型以增强样本多样性。此外,在GANs中采用多套鉴别器也被提议用来缓解模式崩坏问题[59]。

在这里插入图片描述

3.5. Implementation

在这里插入图片描述

我们通过算法1详细阐述了我们所设计的无数据对抗性知识蒸馏方案。其中\mathbf z_1^B是基于生成器G_B产生的随机噪声向量。由参数(\phi_i, ψ_i)定义的判别器\mathcal D_{\phi_i,ψ_i} (\mathbf z_1^B)以及基于判别器参数ψi计算得到的损失函数值L_{ψi}(\mathbf z_1^B)均来自于同一批次的数据集采样结果。

我们推荐对生成器实施预热期训练,并可在强对抗者KD之前完成此过程。在预热阶段中,我们通过最小化辅助损失Lψ来逐步优化生成器,使其输出结果能够符合批量归一化统计特征以及熵约束条件,从而将优化后的结果反传至教师模型中进行监督学习。

该预训练程序降低了在无数据KD早期阶段生成不可靠样本的可能性;此外,在更新机制上相比学生生成器更加频繁地对学生活行更新操作,从而有效降低了在最小化优化过程中陷入局部最大值的风险;为了进一步提升优化效果,在最小化步骤中建议参考文献[28-30]中的方法进行中间层输出;最后,在量化处理过程中,默认情况下学成了教师角色的量化版本(参考第4.2节内容)。这一步骤有助于减少资源消耗并提高效率

4. Experiments

在两项模型压缩任务中,我们进行了评估。其中一项是针对较小网络的无数据KD(即无监督的数据抗性知识蒸馏),另一项是针对无数据网络进行量化处理。

生成器架构。其中conv3-k代表包含k个3×3滤波器且stride步长为1×1的卷积层操作;fc-k则表示具有k个神经元的全连接层;upsampling则定义了一个基于2×2最近邻插值的上采样操作。作为输入噪声向量z采用512维向量,并从均值为0、方差为1的标准正态分布中进行采样。基于原始数据图像尺寸(W,H,3),本研究构建了一个深度生成模型

在这里插入图片描述

Training. 对于最大化的训练生成器,我们使用adam优化器[64],动量为0.5,学习率为10^{-3}。另一方面,对于训练学生的最小化,我们使用Nesterov加速梯度[65],动量为0.9,学习率为0.1。学习速率通过余弦衰减进行退火[66]。对于CIFAR10上从WRN40-2到WRN16-1的无数据KD,我们采用vanilla KD。我们在热身阶段使用50个epoch,在main adversarial KD阶段使用200个时期,每个时期由400 batch,batch size为 256组成。

在其他场景中,我们应用变分信息蒸馏法(VID)[30]来模仿中间层的输出特征。具体而言,在每个epoch周期内使用的batch数量被缩减至200个;VID作为知识蒸馏领域中最具代表性的变体之一,在保持较高教学性能的同时实现了较快的学生收敛速度。针对(2)中所提及的加权系数α,在候选参数集合{1e-3, 1e-2, 1e-1, 1, 1e1}上进行了系统性实验研究,并通过验证集性能选取最优配置。对于宽残差网络架构,在生成器更新频率m方面采用了固定值设置:当处理宽残差网络时m=10;而对于其余标准架构则采用默认值m=1。除了表3所示的数据对比结果外,在无 teacher指导的数据环境下仅配置一个生成器与一个学生模型即可实现稳定训练(如算法1所示)。

表3 列明了从WRN40-2至WRN16-1在CIFAR-10上的性能表现,在无数据知识蒸馏过程中采用多组生成器与学生组合的情况下进行评估。各参与模型的准确率对比(%)被详细记录。

在这里插入图片描述

4.1. Data-free model compression

基于SVHN、CIFAR-10、CIFAR100以及Tiny-ImageNet等典型数据集的数据集进行评估研究,我们针对ResNets和WRNs架构的KD过程提出了无监督模型压缩方案。实验结果在表2中进行了详细展示,并将该方法与现有无监督KD技术进行了对比分析。实验结果表明,在各项评估测试中均实现了最先进无监督KD性能。

表2: 对抗性知识蒸馏方案在无数据条件下的系统性分析与现有方法对比.

图片无法正常加载,请检查目标服务器是否配置了防盗链保护并重新尝试上传文件

我们还获得了学生在分别采用原始数据集自定义学习以及采用[30]中的VID方法时的学习准确率。结果显示,在与基于原始数据集的传统方法相比,我们的无数据KD方法仅导致了约2%的准确率下降。

Synthetic image examples. We have presented in Figures 2, 3, and 4 the synthesized images generated by the student generators pre-trained with teachers, which are specialized for SVHN, CIFAR-10, and CIFAR-100 datasets respectively. The results demonstrate that the regularized student generators produce samples consistent with their corresponding teacher datasets.

Figure 4: Example synthetic images generated in data-free knowledge distillation (KD) transition from a ResNet-34 model to a narrower ResNet-18 architecture on the CIFAR-100 dataset.

在这里插入图片描述

消融实验研究. 对于消融研究, 我们对所提出的无数据KD方案进行了评估, 其中包含了从第4节中提到的所有相关生成器辅助损失Lψ. 通过条形图可以看出, 主要贡献源于(a)段, 其目标是以匹配批量正常的标准化统计为基础进行设计(见3.3节).

在消融研究中, 我们对所提出的无数据KD方案进行了详细评估, 具体包括从第(4)节所述的发电机各辅助损失Lψ. 这些结果汇总于图5. 显示结果表明, 主要贡献来源于(a), 其目的是为了匹配batch normalization statistics (见3.3节).

图5:对(4)中辅助损失Lψ的三个减少项进行分析研究。具体而言,在该部分中包含了以下三个关键指标:(a) BN统计量(BN统计量),(b) 单实例类别熵(instance categorical entropy),以及(c) BN类别熵(BN类别熵)(参考Section 3.3).

在这里插入图片描述

本文通过展示(2)中的加权因子α对KD性能的影响,在图6中进行说明。此外,在图7中展示了两种特定情况下的合成图像:当取值为10和0.1时分别对应这两种情况。结果显示,在这些情况下生成器的表现呈现显著差异性特征——较小的权重参数会生成更多样化的对抗样本;而随着权重参数逐渐增大,则会导致生成结果趋向于单一模式并引发过拟合现象。

加权因子α对KD性能的影响进行分析表明,在不同参数设置下观察其表现变化。为了直观展示α对生成数据合成效果的影响程度,分别收集了α取值为10和0.1时的合成图像,并在图7中展示了不同迭代周期下的具体分布情况。从图中可以看出,在较小的α取值下会生成更多具有显著差异性的对抗样本;这是因为此时生成器受到系统约束较为宽松。而当增大α值时,在各类别特征之间表现出更强的一致性特征。

Several generators and several students. We presented the performance results in Table 3 under configurations involving multiple generators and/or multiple students. We compared two configurations: one with two generators and another with two students. In the design of the second generator, we substituted a residual block for a middle convolution layer. For knowledge distillation targeting two students, we employed identically initialized but distinct student models. As shown in Table 3, increasing the number of generators or students can improve the accuracy of KD-able student models in an unsupervised KD scenario.

全部评论 (0)

还没有任何评论哟~