没有合适的资源?快使用搜索试试~ 我知道了~
1×有效网络压缩的少样本知识提取李天虹1李建国2刘庄3张长水41MIT2 Intel Labs 3 UC Berkeley 4Dept. 清华大学自动化学院tianhong@mit.edu,jianguoli@intel.com,zhuangl@berkeley.edu,zsc@tsinghua.edu.cn摘要深度神经网络压缩技术,如修剪和权重张量分解,通常需要微调,以在压缩比较高时恢复预测精度。然而,传统的微调受制于需要大的训练集和耗时的训练过程。 本文提出了一种新的解决方案,从无标签的少量样本中提取知识,以实现数据效率和训练/处理效率。 我们把原始网络看作“教师网”,把压缩后的网络看作“学生网”。在学生网络的每个层块的末尾添加一个11卷积层,通过估计添加层的参数,将学生网络的块级输出拟合到教师网络。 我们证明了增加的层可以合并,而不增加额外的参数和计算成本在推理。 在多个数据集和网络结构上的实验验证了该方法对各种网络剪枝和权值分解方法得到的学生网的有效性。 我们的方法可以在几分钟内将学生网络的准确性恢复到与传统微调方法相同的水平,同时仅使用完整训练数据的1%的无标签数据。1. 介绍深度神经网络在计算机视觉[21,13]、语音识别[14]和自然语言处理[28]等领域取得了非凡的成功。然而,它们需要大量资源的性质极大地阻碍了它们在某些资源有限的情况下的广泛部署。 为了解决这个限制,已经做了许多工作来加速和/或压缩神经网络,其中网络修剪[11,23]和网络权重分解[7,18]由于其竞争性性能和兼容性而特别受欢迎。网络修剪[23,25]和权重分解[37,19]方法可以产生非常压缩的网络,这项工作是李天虹在英特尔实验室实习时在李建国的指导下工作,但它们通常会遭受严重的准确性下降,因此需要微调以恢复可能的准确性然而,目前的微调实践不仅耗时,而且需要完全注释的大规模训练集,由于隐私或机密问题,这在实践中可能是不可行 这在软件或硬件供应商帮助客户优化深度学习解决方案时非常常见。因此,当压缩比高时,如果存在非常少的用于部署的训练示例(标记的或甚至未标记的),则当前方法可能无法恢复下降的准确度。为了解决这个问题,人们可能会问,是否可以将来自原始大型网络的知识用于压缩的紧凑网络,因为后者具有与前者类似的块级结构,并且已经继承了一些特征表示能力。一个自然的解决方案是使用知识蒸馏(KD)[4,1,15],这是一种将知识从大型“教师”模型转移到紧凑但有效的“学生”模型的方法,通过匹配它们之间的某些统计数据。 进一步的研究介绍了各种匹配机制[31,33,17,24]。蒸馏过程通常基于匹配机制设计损失函数,并在整个训练过程中优化损失因此,这些方法仍然需要耗时的训练过程以及完全注释的大规模训练数据集,因此无法满足我们的训练/处理效率和高样本效率的目标。本文通过一种简单而新颖的方法来解决这个问题,即少样本知识蒸馏(FSKD),用于有效的网络压缩,其中 如图1所示,FSKD包含三个步骤:压缩教师网络以获得学生网络,将学生-教师与学生网络中添加的层对齐,以及合并添加的层。 我们首先通过使用现有方法修剪或分解教师网络来获得学生网络。在这个阶段,我们确保教师网和学生网在每个对应的层块处具有相同的特征图大小其次,我们在每个块的末尾添加一个1×1的conv层,1463914640×老师学生老师学生最 小平 方误差老师学生(1) 压缩(2)对齐(3)合并1x1转换图1:少样本知识蒸馏的三个步骤该方法首先对教师网进行压缩,得到学生网;然后在每个学生网块的末尾增加一个1 ×1conv-layer,并通过最小二乘回归估计1 ×1conv-layer的参数来对齐教师和学生;最后将增加的1×1conv-layer与前一个conv-layer合并,得到最终的学生网。学生网。然后,我们将少量未标记的数据转发到教师网络和学生网络,并通过使用最小二乘回归估计添加层的参数来对齐学生与教师的块级输出。由于在增加的conv-layers中需要估计的参数非常少,因此我们可以用非常少量的无标记样本获得很好的估计对齐的学生网络具有与原始网络相同的参数数量和计算成本,因为我们证明了添加的11卷积可以合并到前一个卷积层中。FSKD有许多潜在的用途,特别是当完全微调或重新训练在实践中不可行,或者手头的数据非常有限时。 Wename a few concrete cases below. 首先,边缘设备的计算资源有限,而FSKD提供了在设备上学习压缩深度模型的可能性其次,当客户由于隐私或机密问题而仅上传少数未标记数据时,FSKD可以帮助云服务获得紧凑模型第三,如果训练/微调有严格的时间预算,FSKD可以实现快速模型收敛。最近的几次研讨会已经解决了强烈的实践要求1。我们的主要贡献可归纳如下:据我们所知,我们是第一个证明在台式PC上使用知识蒸馏可以在几分钟内用很少的未标记样本从压缩网络中恢复大量的实验表明,所提出的FSKD方法广泛适用于通过不同的基于修剪或分解的方法压缩的深度神经网络。我们证明了FSKD比现有蒸馏技术显著提高了精度,1http://sites.google.com/view/icml2019-on-device-compact-dnn以及在各种数据集和网络体系结构上优于传统的基于修剪/分解的方法的压缩比和加速增益。2. 相关工作网络剪枝方法通过对训练好的大网络进行权值剪枝得到一个小网络,如果剪枝率设置适当,可以保持大模型的准确性。 [12]建议修剪接近零的个体权重。最近,过滤修剪变得越来越受欢迎,这要归功于与权重修剪相比,它与现成的计算库具有更好的兼容性。 已经提出了不同的标准来选择要修剪的滤波器,包括权重的范数[23],乘法系数的尺度[25],下一层的统计量[27]等。 这些基于剪枝的方法通常需要在剪枝和微调之间进行迭代循环,以实现更好的剪枝率和加速。同时,网络分解方法试图将参数重的层分解为多个轻量级的层。例如,它可以对全连接层[7]采用低秩分解,对卷积层[18,19,37]采用不同类型的权重分解然而,积极的网络修剪或网络分解通常会导致大的准确性下降,因此必须进行微调以减轻这些下降[23,25]。知识蒸馏(KD)将知识从预先训练的大型教师网络(甚至是网络集合)转移到小型学生网络,以便于在测试时部署。最初,这是通过回归教师模型的softmax输出来完成的[15]。这里使用的软连续回归损失提供了比基于标签的损失更丰富的信息,使得提取的模型可以比在具有交叉熵损失的标记数据上训练更准确。后来,各种作品都对此进行了延伸···14641IJ×响应{X};××××∈St×××我×i=1我i=1我i=1我--j=通过匹配其他统计数据的方法,包括中间特征响应[31,6],梯度[33],分布[17],Gram矩阵[36]等。更复杂的是,深度互学习[38]训练了一组学生网络,并通过模型蒸馏相互协作算法1用于FSKD的块坐标下降算法输入学生网络s,教师网络t,输入数据XiN,对齐块的数量M,迭代次数T1:对于k=1:T做2:随机抽取IP输入数据集以获得{X′}N;在培训过程中。KD中的学生网通常设计为随机权重初始化,因此3: 对于j=1:M做4:进料{X′}Nii=1到t的第j个块的末尾,获得所有这些方法都需要大量数据(称为因此,从极端修剪或分解的网络开始学生网,并在少样本设置下探索KD解决方案是非常有趣的。拟议的FSKD在将中间响应与最接近的知识蒸馏方法FitNet [31]对齐方面具有完全不同的理念。FitNet使用大量完全注释的数据,通过中间监督和标签监督重新训练整个学生网络,而FSKD仅使用少量未标记的样本估计添加的11个conv层的参数实验证明,FSKD不仅效率更高,而且比FitNets更准确 在单次或少次学习的概念下,对少样本学习进行了广泛的研究。 一类方法直接用生成模型对少数样本进行建模[8,22,5,3],而大多数其他方法则在迁移学习的概念下研究这个问题[2,30]。 在后一类中,元学习方法[34,9]以学习到学习的方式解决问题,由于其应用的可逆性,这种方式最近获得了发展势头。大多数研究都致力于图像分类任务,而从少数样本中提取知识的探索仍然较少。最近,一些作品试图解决这个问题。[20]利用诱导点法构造伪算例,并提出了一种复杂的算法来交替优化模型和伪算例[26]记录教师网的每层元数据,首先对训练集进行重构,然后采用标准的训练过程得到学生网络。 由于复杂和繁重的训练程序,两者都非常昂贵。相反,我们的目标是从少数未标记的样本中提取知识的有效解决方案。3. 方法3.1. 概述响应{Xt};5:进料{X′}N到s的第j个块的末尾,获得IJ6:将具有张量Qj的11个knv层添加到s的第j个块的末尾7:基于等式1用最小二乘回归求解Qj;8.基于定理1,将Qj和张量Wj合并到前一个连续层Lj中,得到新的张量W j ′;9:更新s的第j个块,得到s′;10:s=s′;11:结束12:结束output Merged conv-layers {Wj′}M1, updated student-net s′;三个原因使这个想法有效。 首先,压缩后的学生网络继承了教师网络的部分表示能力,因此增加11个conv层足以校准学生网络并恢复准确性。其次,11个conv层具有相对较少的参数,这不需要太多的数据用于估计。第三,教师网的块级输出提供了丰富的信息,如FitNet[31]所示下面,我们将首先描述我们用于块级输出对齐的算法,然后证明为什么添加的11个conv-layer可以合并到先前的conv-layer中。3.2. 块级对齐在本节中,我们将详细介绍块级输出对齐算法。 假设Xs,XtR no×d分别是学生网和教师网的矩阵形式的块级输出,其中d是每个通道的特征图分辨率大小。在非线性激活之前,我们在学生网络的每个块的末尾添加11个conv层Q当Q退化为矩阵形式时,它可以用最小二乘回归估计为我们的FSKD方法由三个步骤组成,如图1. 首先,我们通过修剪或者Q=argminNX−X(1)或者通过分解教师网络。 其次,我们在学生网络的每个块的末尾添加了一个11 conv层,并通过从几个未标记的样本中估计所添加的层的参数来对齐教师和学生之间的块级输出。第三,我们将添加的11个conv层合并到先前的conv层中,使得它不会将额外的参数和计算成本引入到学生网络中。其中N是所用无标记样品的数量,“Q的参数个数是n ono,其中n o是块中输出通道的个数,通常不会太大,这样我们就可以用有限的样本数来估计Q。假设教师网和学生网中有M个对应的块Qi=1S14642St×--∈′∈′′◦◦∈××∈JJIJIJF我们的目标,我们需要最小化以下损失函数L(Q)=MNX-X,(2)教师网其中Qj是第j个块的添加的11个第v层的张量。在实践中,我们使用块坐标下降(BCD)算法[35]优化这种损失,该算法按顺序处理学生网络中的M个块中的每个块,如算法1(FSKD-BCD)所示。 我们还可以在所有添加的参数上使用标准SGD(FSKD-SGD)来最小化此损失。FSKD-BCD算法与FSKD-SGD算法相比,具有以下优点:(1)BCD算法采用顺序更新规则对每个块进行预处理,通过对齐教师网和学生网之间的块级响应,每个Q都可以用相同的少量样本集求解,而标准SGD算法将Qj全部考虑在一起,理论上需要更多的数据。(2)BCD算法效率更高,通常可以在不到一分钟的时间内完成。除非另有说明,我们在实验中使用FSKD-BCD算法进行 一 次 迭 代 EPDix-A 使 用 更 多 BCD 迭 代 来 评 估FSKDFSKD-BCD和FSKD-SGD之间的比较3.3. 可合并1× 1 Conv-layer现在,我们证明了添加的1x 1 conv层可以合并到先前的conv层中,而不会在推理过程中引入ad-boundary参数和计算成本。定理1. 将张量QRno×ni×1×1的逐点卷积映射到张量WRno×ni×k×k的前一个卷积层中,得到合并张量W ′=QW,其中是合并算子和W′Rno×ni×k×k,只要满足下列条件.C1. 输出通道数W等于输入通道数Q,即, no=n ′i。C2.之间没有像ReLU [29]这样的非线性激活层W和Q。逐点卷积可以被视为前一个卷积层中的内核的线性组合。 由于篇幅所限,我们将合并算子的形式证明和具体形式放在附录中-C. W′的输出声道的数量是n′o,其不同于W的输出声道的数量(即,n〇)。很容易得出以下推论。推论1.当满足以下条件时,C3. Q的输入和输出通道的数量等于W的输出通道的数量,即,n′i= n′o =no,Q∈Rno×no×1×1,学生网图2:FSKD对过滤器修剪和网络精简的说明。在每个块处,我们将教师网络中未修剪部分的权重复制到学生网络,并通过添加具有L2损失的11conv层(红色)添加的11层可以合并到学生网络中的前一个conv层中合并的卷积张量W '具有与W相同的参数和计算成本,即, W ′,WRno×ni×k×k.该条件不仅是为了确保相同的参数大小和计算成本,而且是为了确保当前层的输出大小与下一层的输入大小相匹配,使得这两个层是可连接的。4. 实验我们在不同的图像分类数据集上进行了大量的实验,以验证FSKD在各种学生网络构建方法上的有效性及其在精度和速度方面优于现有蒸馏方法的优势。学生网络可以通过基于修剪的方法(如过滤器修剪[23]和网络瘦身[25])或基于分解的方法(如网络解耦[10])获得我们使用PyTorch实现了代码,并在配备Intel i7- 7700 K CPU和一个NVidia 1080TI GPU的台式PC上进行了实验该代码将公开提供。 对于所有实验,结果在不同的随机选择的图像的5次试验上平均。4.1. 学生网来自剪枝教师网过滤器修剪我们首先使用过滤器修剪方法[23]获得学生网络,该方法根据其权重的L1范数过滤器权重的L1范数被排序,过滤器的最小部分将被修剪,以减少卷积层中过滤器通道的数量。图2示出了在这种情况下FSKD如何用于块级对齐请注意,教师网和学生网的频道数量可能不同。然而,我们只匹配教师网中的特征图的未修剪部分到学生网中的特征图,因此FSKD在这种情况下是适用的。修剪没有修修剪没有修转换:3x3L2损失L2损失1x1转换:3x31x1j=1i=114643FSKDFitNet使用完整数据表1:CIFAR-10上VGG-16的过滤器修剪修剪A/B/C及其准确度、FLOP、#参数等。93准确度与样本数量(prune-A)92919089准确度与样本数量(prune-B)929088868482Acc. (%)样本数量 时间(秒)0 100 200 300 400500样本数量0 100 200 300 400 500样本数量VGG-16 92.66 50000Prune-A +FSKD 92.37±0.24 100 4.8Prune-A +FitNet 91.23±0.41 100 48.5图3:CIFAR-10上的准确度与样品数量学生网络修剪-A(左)修剪-B(右)通过过滤器修剪[23]。Prune-A +FSKD 92.46±0.15 500 25.5Prune-A +FitNet 92.13±0.35 500 139.2Prune-A +微调90.25±0.67 500 40.4Prune-A+全微调92.54±0.33 50000 1059.6Prune-B +FSKD 90.17±0.31 100 3.7Prune-B +FitNet 88.76±0.51 100 60.1Prune-B +FSKD 91.21±0.23 500 19.3Prune-B +FitNet 90.68±0.47 500 157.11 .一、00的情况。90的情况。80的情况。70的情况。60的情况。50的情况。40的情况。30的情况。20的情况。10的情况。0FSKD前后的相关性之后之前12345678910 11 12层FSKD期间精度提高908070605012345678910 11 12 13层修剪-B +微调83.36±0.89 500 50.3Prune-B+全微调91.53±0.37 50000 1753.4Prune-C +FSKD 89.55±0.35 100 7.4Prune-C +FitNet 85.09±0.75 100 71.3Prune-C +FSKD 90.41±0.31 500 33.5Prune-C +FitNet 88.31±0.70 500 180.3Prune-C +微调78.13±0.24 500 58.7Prune-C+全微调90.77±0.33 50000 2592.3表2:FitNet,微调,FSKD通过来自VGG-16的过滤器修剪[23]的学生网络与CIFAR-10上的修剪方案A/B/C之间的性能比较。“全微调”使用完整的训练数据。我们在CIFAR-10数据集上对VGG-16 [32]进行了全面研究,以评估FSKD的性能以及三种不同的修剪设置。首先,我们遵循[23]的原始剪枝方案,并获得Prune-A. 其次,我们提出了另一种更积极的修剪方案Prune-B,它在上述层中多修剪10%的过滤器,并为其余层修剪20%的过滤器第三,由于以前的工作表明,一次极端修剪可能会导致修剪后的网络无法从微调中恢复,而迭代修剪和微调过程被观察到可以有效地获得极端模型压缩[11,23,25],因此我们提出了Prune-C,它迭代地运行修剪和FSKD过程,如图11-D中所述,进行2次迭代,以实现更高的压缩率。表1列出了通过这些修剪方案获得的三个学生网的准确度、FLOP和#参数信息。对于少样本设置,我们从CIFAR-10训练集中随机选择100(每个类别10个)和500(每个类别50个)图像,并在所FSKDFitNet使用完整数据准确度(%)相关性准确度(%)准确度(%)Acc.(%)FLOPs(×108)加速比#Param(×106)修剪VGG-16修 剪 -A修 剪 -B修剪-C92.6685.4247.9013.053.112.061.331.091.00×1.51×2.34×2.85×155.33.41.8-百分之百分之七十七14644有实验中保持固定。我们评估了5种不同的随机选择的im-图4:左:通过过滤器修剪,在学生网络(修剪-A)上进行FSKD之前和之后,教师网络和学生网络之间的层级输出相关性[23]。右:顺序块级对齐期间的精度变化年龄设定并报告准确度的平均值和标准差 表2列出了恢复修剪网络的不同方法的结果,包括FitNet [31],有限数据和完整训练数据的微调[23]。如表2所示,我们的方法比FitNet和[23]中采用的微调程序更有效,并且提供了更好的准确性恢复,并且对于不同的选定图像集也更稳健。例如,对于只有500个样本的Prune-B,我们的方法可以在19.3秒内将准确率从47.9%恢复到91.2%,而FitNet必须花费157.1秒才能将准确率恢复到90.7%,而少样本微调只能将准确率恢复到83.4%。当完整的训练集可用时,完全微调大约需要30分钟才能达到与FSKD相似的精度 这证明了FSKD相对于基于全微调的解决方案的巨大优势。图3进一步研究了性能与不同数量的训练样本的关系。我们的方法在相同的训练样本下保持优于FitNet 特别是,当样本数量小于100时,FitNet会出现明显的准确性下降,而FSKD仍然可以将修剪后的网络的准确性恢复到较高的水平。在图4(a)中,我们进一步说明了使用FSKD前后教师网和学生网之间的每层(块)特征响应差异。 在应用FSKD之前,由于过度挤压而破裂然而,在FSKD之后,每层相关性大部分被恢复。 这证明了FSKD恢复丢失信息的能力,14645过滤器修剪比&方法前(%)后(%)FLOPs(×108)加速#Param(×106)修剪VGG-19 93.38 - 7.97 1.00× 20-70%+FSKD 15.90 93.41±0.23 3.91 2.04× 2.2 89%70%+FitNet 15.90 90.47±0.57 3.91 2.04× 2.2 89%70%+微调15.90 62.86±2.85 3.91 2.04× 2.2 89%ResNet-164 95.07-4.991.00×1.7-60%+FSKD 54.46 94.19±0.21 2.75 1.82× 1.1 37%60%+FitNet 54.46 88.94±0.66 2.75 1.82× 1.1 37%60%+微调54.46 60.94±3.12 2.75 1.82×1.137%DenseNet-40 94.18 - 5.33 1.00×1.1-60%+FSKD 88.24 93.62±0.09 2.89 1.84× 0.5 54%60%+FitNet 88.24 91.37±0.17 2.89 1.84× 0.5 54%60%+微调88.24 88.98±0.79 2.89 1.84× 0.5 54%表3:通过网络瘦身获得的不同网络结构上FSKD、FitNet和微调的性能比较[25]从CIFAR-10训练集中随机选择100个样本过滤器修剪比方法前(%)后(%)FLOPs(×108)加速#Param(×106)修剪VGG-19 72.08 - 7.97 1.00× 20-50%+FSKD 9.24 71.98±0.15 5.01 1.60× 5.0 75%50%+FitNet 9.24 69.52±0.43 5.01 1.60× 5.0 75%50%+微调9.24 48.75±2.86 5.01 1.60× 5.0 75%ResNet-164 76.56 - 5.00 1.00× 1.7-40%+FSKD 46.07 76.11±0.13 3.33 1.50× 1.5 14%40%+FitNet 46.07 73.87±0.45 3.33 1.50× 1.5 14%40%+微调46.07 57.45±1.94 3.33 1.50× 1.5 14%DenseNet-40 73.21 - 5.33 1.00× 1.1-40%+FSKD 60.62 73.26±0.07 3.71 1.44× 0.71 36%40%+FitNet 60.62 71.08±0.33 3.71 1.44× 0.71 36%40%+微调60.62 62.36±0.97 3.71 1.44× 0.71 36%表4:通过网络瘦身获得的不同网络结构上FSKD、FitNet和微调的性能比较[25]从CIFAR-100训练集中随机选择500个样本第 我们还在图4(b)中显示了顺序块级对齐过程中的精度变化,这清楚地表明了我们在FSKD算法中顺序逐块更新的有效性。网络瘦身然后,我们从另一种名为网络瘦身的滤波器修剪方法[25]中研究学生网络,该方法使用稀疏的通道缩放因子去除不显著的滤波器通道和相应的特征图。网络瘦身包括三个步骤:稀疏正则化训练,修剪和微调。在这里,我们用FSKD代替耗时的微调步骤,并遵循原始论文[25]进行实验,在不同的数据集上修剪不同的网络。 对齐框架与图2所示的过滤器修剪情况相同。我 们 将 FSKD 应 用 于 从 VGG-19 , ResNet-164 和DenseNet-40 [16]修剪的网络,CIFAR-10和CIFAR-100数据集。表3列出了CIFAR-10的结果,而表4列出了CIFAR-100的结果注意到filter-prune-ratio(如表3中的70%)表示与网络中的过滤器总数相比,被删除的过滤器部分 我们还将FSKD应用于ImageNet数据集上从VGG-A(或VGG-11)修剪的网络,如表5所示。结果表明,在所有评估的网络和数据集上,FSKD始终优于FitNet和微调,在少样本设置下具有显著的优势。 该研究表明,FSKD普遍适用于各种网络结构和修剪方法,并且可以使用少量未标记样本将修剪网络的准确性恢复到使用完全注释的训练数据集进行微调的相同水平。4.2. 教师网分解的学生网在本节中,我们将FSKD应用于一种称为网络解耦的基于分解的方法[ 10 ],该方法可以将常规卷积层分解为几个深度方向可分离块的总和,其中每个这样的块由一个深度方向(DW)卷积层和一个点方向卷积层组成。14646∗××××××过滤器修剪比&方法前(%)(%)GFLOPs加速后#Param(×106)修剪50%+FitNet 13.8 58.3±0.4 5.41 1.43× 23.2 83%50%+微调13.8 19.2±3.5 5.41 1.43× 23.2 83%表5:FSKD,FitNet和微调VGG-A(VGG-11)网络结构的性能比较,通过网络瘦身[25]获得,从ImageNet训练集中随机选择1000个样本Acc. 前(%)后(%)GFLOPs加速#Param(×106)修剪VGG-16(教师)68.4 - 15.47 1.00× 14.71-去耦(T=2)+FSKD 0.24 62.7±0.2 3.76 4.11× 3.35 77.2%去耦(T=3)+FSKD 1.57 67.1±0.1 5.54 2.79× 5.02 65.8%去耦(T=4)+FSKD 54.6 67.6±0.1 7.31 2.12× 6.69 54.5%ResNet-18(教师)67.1 - 1.83 1.00× 11.17-去耦(T=2)+FSKD 0.21 49.5±0.5 0.55 3.33× 2.69 75.9%去耦(T=3)+FSKD 3.99 61.9±0.3 0.75 2.44× 3.95 64.6%去耦(T=4)+FSKD 26.5 65.1±0.1 0.95 1.92× 5.20 53.4%去耦(T=5)+FSKD 53.6 66.3±0.1 1.15 1.60× 6.46 42.2%表6:FSKD在ImageNet数据集上通过网络解耦[10] VGG-16和ResNet-18获得的不同学生网络上的性能““在这里意味着不计算来自FC层的参数,只计算来自conv层的参数,因为解耦只处理conv层。教师网学生网DWPW添加1x1我们的FSKD训练集。表6显示了在VGG-16和ResNet-18上应用FSKD之前和之后学生网络的前1精度有趣的是,当T较小时,仅用1000个样本,我们就可以将学生网的准确率从接近随机的猜测(0.24%,0.21%)恢复到更高的水平(62.7%和49.5%) 一种可能的解释是,高度压缩的网络仍然从教师网络继承了一些表示能力,即,深度方向的3×3卷积,而缺乏能力,图5:FSKD在网络去耦上的图示 在教师网络的每个块上,我们将正则卷积解耦为depth+逐点卷积层的总和作为学生网络的块,并通过添加具有L2损失的1 1卷积层(红色)将学生网络的特征图与教师网络的特征图对齐。添加的层可以合并到学生网中的逐点层中(PW,11)对流层。 压缩比随着这样的块的数量(T)的减少而增加,但是压缩模型的精度也将下降。由于每个解耦块以11卷积结束,因此我们可以在每个解耦块的末尾应用FSKD图5显示了在这种情况下FSKD如何用于块级对齐。在[10]之后,我们通过解耦VGG-16和ResNet-18来获得学生网络,这些VGG-16和ResNet-18在ImageNet上用不同的T值进行预训练我们在ImageNet分类任务的验证集上评估了结果网络的性能我们从ImageNet训练集中的1000个类中随机选择一个图像,以获得1000个样本,由于退化和不准确的11卷积而输出有意义的预测。FSKD通过对齐教师网和学生网之间的块级响应来校准11卷积,11卷积得到补偿,并实现合理的恢复。In all the other cases, FSKD can recover the accuracyofahighly-compressednetworktobecomparablewiththeoriginal network. 这表明FSKD可以应用于通过网络分解压缩的学生网络,并且FSKD可以在大型和困难的数据集(如ImageNet)上实现出色的性能。5. 分析与探讨任意数据的FSKDIn this section, we try to answer the following question: isFSKD totally label-free? 例如,如果可用的几个样本是任意图像,并且教师网络以前从未见过这些图像,FSKD是否仍然有效?回答Conv:W∈Rn×m×3×3解耦L2损失1x13x33x31x1......3x3VGG-A63.3-7.74 1.00× 132.9-50%+ FSKD13.862.5±0.25.41 1.43× 23.2百分之八14647×Prune-B + FSKD 90.15±0.31100(CIFAR-100)Prune-B + FSKD 91.21±0.23500(CIFAR-10)Prune-B + FSKD 91.20±0.25500(CIFAR-100)表7:使用来自CIFAR-10和CIFAR-100的样品的FSKD之间的性能比较。学生网来自VGG-16的过滤器修剪[23],修剪方案B在CIFAR-10上。在这个问题中,我们评估了FSKD在如表7所示,使用CIFAR-10或CIFAR-100数据的FSKD之间的准确度无统计学差异。这表明FSKD在没有任何关于数据标签的信息的情况下将学生网与教师网即使输入图像是以前从未见过的类别(CIFAR-100不包括CIFAR-10中的类别),FSKD仍然可以将学生网络恢复到相同的精度水平。 这进一步证明了FSKD在只有少数未标记数据样本可用的情况下的潜力。如果学生网是手工设计的呢我们之前的实验是通过对教师网进行裁剪或分解来构造学生网,然后应用FSKD来提高学生网的性能。 人们可能会对“如果学生网是手工设计的随机初始化”这个问题感兴趣。事实上,有两个现有的作品[20,26]在这个主题上进行了一些先驱性的尝试,使用特殊的方法来在这里,我们进行实验,以比较我们的方法,这两种方法在相同的少样本设置在同一数据集MNIST,公平的比较。由于这两种方法所采用的网络结构不同,我们分别进行了比较。 对于[20],教师网有3个conv层,后面是2个全连接层。对于[26],教师网是标准的LeNet-5。 在这两种情况下,学生网络是“一半大小”,以相应的教师网络的特征映射通道的数量,每conv层。 由于学生网和教师网之间的通道数不同,我们采用与图2相同的策略进行过滤修剪。这意味着,学生网络只对应于教师网络的未修剪部分,这与[23]相同不同之处在于,我们没有将教师网中未修剪部分的权值复制到学生网中,而保持学生网的权值随机初始化。对于这两种情况,我们将FSKD与(1)在具有标记损失的少数样本上训练的标准SGD进行了比较;(2)在相同设置下[20]或[26]的方法;(3)在少数样本上训练的FitNet方法表8:FSKD在随机初始化下设计的学生网络上的性能,与以前的作品[20,26]相比。样品 为了更好地模拟少样本设置,我们不对训练集应用数据增强。 我们从MNIST训练集中随机选取10、20、50、100和200个样本,并在整个研究中保持这些少数样本集的固定。表8列出了比较结果。结果表明,样本较少的SGD模型表现最差,[20]在相同设置下的性能优于SGD(在200个样本的情况下仍然更差无数据方法[26]表现优于SGD。 在这两种情况下,FitNet都表现出比SGD和两种比较方法更好的性能,而我们的FSKD进一步优于FitNet,并有明显的差距,当样本数量增加时,差距变得越来越小。这可能是由于以下原因。 FSKD可以被看作是FitNet的一个特例。 FitNet使用标准SGD算法优化教师网络和学生网络之间的所有权重,而FSKD仅使用BCD算法优化学生网络中增加的11个卷积层的权重。 BCD算法比基于SGD的算法更有采样效率,因此FSKD在少量采样设置下的性能比FitNet更有效、更准确。当使用的训练样本增加时,FSKD最终会收敛到FitNet。6. 结论我们提出了一种新颖而简单的方法,即用于有效网络压缩的少样本知识蒸馏(FSKD),而 FSKD适用于对教师网采用不同的方法进行裁剪或分解所构造的学生网。 它比基于微调的解决方案具有更高的效率,并且在少量样本设置中比传统的知识蒸馏方法(如FitNet)具有更大的优势,其额外优点是FSKD在优化中完全无标签。鸣谢:张长水获国家自然科学基金资助,资助号:61876095 61751308 和 北 京 人 工 智 能 研 究 院(BAAI)。Acc.(%)样本数量VGG-1692.6650000(CIFAR-10)#标记数据102050100200全元数据SGD37.9146.066.078.386.7-[20个]44.153.970.480.086.6-FitNet86.192.394.596.096.5-FSKD94.496.597.097.597.8-SGD57.168.381.385.889.7-[26日]-----92.5FitNet90.394.296.196.797.3-FSKD95.597.297.698.098.1-14648引用[1] 吉米·巴和里奇·卡鲁阿纳 深网真的需要深吗?在NIPS,2014。1[2] 叶夫根尼·巴特和西蒙·厄尔曼。交叉泛化:通过特征替换从单个示例学习新类。在CVPR中。IEEE,2005年。3[3] KartikeyaBhardwaj , NaveenSuda , andRaduMarculescu. Dream Distillation:一个数据独立的模型压缩框架。arXiv预印本arXiv:1905.07072,2019。3[4] Cristian Bucila ,Rich Caruana ,Alexandru Niculescu-Mizil,等.模型压缩。在SIGKDD中。ACM,2006年。1[5] Hanting Chen , Yunhe Wang , Chang Xu , ZhaohuiYang , Chuanjian Liu , Boxin Shi , Chunjing Xu ,Chao Xu,and Qi Tian.学生网络的无数据学习在IEEE计算机视觉国际会议论文集,第3514-3522页,2019年3[6] 陈天奇,伊恩·古德费洛,乔纳森·施伦斯,等.Net2net:通过知识转移加速学习。 ICLR,2016年。3[7] Emily Denton,Zaremba,Yann Lecun,et al.利用卷积网络中的线性结构进行有效评估。在NIPS,2014。一、二[8] 李飞飞,罗布·费格斯,彼得·佩罗纳,等. 一次性学习对象类别。IEEE Trans PAMI,2006年。3[9] Chelsea Finn,Pieter Abbeel,Sergey Levine,等.用于深度网络快速适应的模型不可知元学习。ICML,2017。3[10] JianboGuo,Yuxi Li,Weiyao Lin,Yurong Chen,andJianguo Li. 网络解耦:从常规卷积到可分离卷积。在BMVC,2018年。四、六、七[11] Song Han,Huizi Mao,Bill Dally,et al. 深度压缩:使用修剪、训练量化和霍夫曼编码压缩深度神经网络。在NIPS,2016年。一、五[12] Song Han,Jeff Pool,John Tran,William Dally,et al.学习权重和连接以实现有效的神经网络。2015年,在NIPS2[13] K. 他,X。张,J.sun等人用于图像识别的深度残差学习在CVPR,2016年。1[14] Geoffrey Hinton,Li Deng,Dong Yu,et al.语音识别声学建模的深度神经网络:四个研究小组的共同观点。IEEE信号处理杂志,29(6),2012年。1[15] G. Hinton,O.Vinyals,J
下载后可阅读完整内容,剩余1页未读,立即下载
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- VMP技术解析:Handle块优化与壳模板初始化
- C++ Primer 第四版更新:现代编程风格与标准库
- 计算机系统基础实验:缓冲区溢出攻击(Lab3)
- 中国结算网上业务平台:证券登记操作详解与常见问题
- FPGA驱动的五子棋博弈系统:加速与创新娱乐体验
- 多旋翼飞行器定点位置控制器设计实验
- 基于流量预测与潮汐效应的动态载频优化策略
- SQL练习:查询分析与高级操作
- 海底数据中心散热优化:从MATLAB到动态模拟
- 移动应用作业:MyDiaryBook - Google Material Design 日记APP
- Linux提权技术详解:从内核漏洞到Sudo配置错误
- 93分钟快速入门 LaTeX:从入门到实践
- 5G测试新挑战与罗德与施瓦茨解决方案
- EAS系统性能优化与故障诊断指南
- Java并发编程:JUC核心概念解析与应用
- 数据结构实验报告:基于不同存储结构的线性表和树实现
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)