知识蒸馏-分类
文章平均质量分 93
知识蒸馏-分类
00000cj
计算机视觉,论文阅读记录
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Asymmetric Temperature Scaling(NeurIPS 2022)论文速读
在知识蒸馏中,一个奇怪的现象是大的教师模型未必教的好,调整温度也无法缓解模型容量不匹配的问题。为了解释这个问题,本文将KD的作用分解为三个部分:correct guidance, smooth regularization, class discriminability。最后一点描述的是在蒸馏中教师模型提供的错误类别概率的区分性,大的教师模型往往会过度自信,传统的温度缩放限制了类别差异的作用,导致错误类别概率的区分度变小。因此,本文提出了不对称温度缩放Asymmetric Temperature Scali原创 2024-02-19 19:31:32 · 1341 阅读 · 0 评论 -
Factor Transfer(NeurIPS 2018)
本文提出了一种知识蒸馏方法,使得教师和学生都能生成更容易传递的知识,文中称为“factor”。和传统的方法不一样,该方法不是仅仅直接比较网络的输出,而是训练一个神经网络可以提取好的factor并匹配这些factor。从教师网络中提取factor的网络称为paraphraser,从学生网络提取factor的网络称为translator。paraphraser以无监督的方式训练,期望它提取不同于有监督损失可以获得的知识。translator和学生网络一同训练用来吸收paraphraser从教师网络提取的fact原创 2024-01-27 16:13:36 · 849 阅读 · 0 评论 -
Feature Fusion for Online Mutual KD
本文提出了一个名为特征融合学习(Feature Fusion Learning, FFL)的框架,该框架通过一个组合并行网络特征图并生成更有意义特征图的融合模块(fusion module)高效的训练一个强大的分类器。具体来说,首先训练多个并行网络作为子网络,然后通过融合模块组合来自每个子网络的特征图得到一个更有意义的特征图,这个融合特征图送入融合分类器fused classifier中进行整体的分类。与现有的特征融合方法不同,该框架集成各个子网络的分类器ensemble classifier并将知识蒸馏到原创 2024-01-13 21:37:18 · 1237 阅读 · 0 评论 -
Vanilla KD论文解读
本文指出了现有的各种精心设计的蒸馏方法存在的小数据陷阱问题,从而导致vanilla KD的表现被低估了。当在更大的数据集上以及使用更强的训练策略时,各类精心设计的蒸馏方法可能变成次优的了。改进backbone在ImageNet上的性能,可以显著提升下游任务如目标检测、实例分割的性能。原创 2023-12-29 16:01:40 · 1363 阅读 · 1 评论 -
Knowledge Distillation from A Stronger Teacher(NeurIPS 2022)论文解读
本文提出用皮尔森相关系数(Pearson correlation coefficient)作为一种新的匹配方法代替KL散度。除了预测向量中的类间关系,由于不同实例相对每个类别有不同的相似性,本文还提出蒸馏类内关系,以进一步提高性能。整合上面两点,本文提出了一种新的蒸馏方法,称为DIST,可以从更强的教师中得到更好的蒸馏效果。原创 2023-12-14 20:08:10 · 1426 阅读 · 0 评论 -
A good teacher is patient and consistent(CVPR 2022)论文解读
本文没有提出新的方法,而是提出了一些影响蒸馏性能的关键因素,这些因素在之前的蒸馏方法中常常被忽略,本文通过实验验证,指出正确的选择这些因素,可以大大提高现有蒸馏方法的性能。首先,本文将知识蒸馏当做教师和学生之间的函数匹配,并发现了两个原则,一是教师和学生应该处理相同的输入,即相同的crop和数据增强;二是希望可以在大量的support points上进行函数匹配,从而具有更好的泛化性。最后通过大量实验验证,作者指出一致的图像视图、更强的数据增强、非常长的迭代次数是实践中通过知识蒸馏进行模型压缩发挥良原创 2023-12-14 20:07:45 · 1296 阅读 · 0 评论 -
Knowledge Review(CVPR 2021)论文解析
识蒸馏将知识从教师网络转移到学生网络,可以提高学生网络的性能,作为一种“模型压缩”的方法被广泛使用。15年第一篇蒸馏方法KD对logits进行蒸馏,FitNet提出对feature进行蒸馏,后续AT、PKT、CRD等多种蒸馏方法被提出,这些蒸馏方法大都专注于改进教师与学生同一层级特征的转换和损失函数上。原创 2023-12-03 11:50:52 · 1270 阅读 · 0 评论 -
Self Distillation 自蒸馏论文解读
为了克服传统蒸馏的缺点,本文提出了一种新的自蒸馏架构。和传统蒸馏需要两个步骤即首先训练一个教师模型,然后将知识从教师模型蒸馏到学生模型的方法不同,本文提出的方法只需要一步,训练点直指学生模型,大大减少了训练时间(比如在CIFAR100上,从26.98个小时到5.87个小时,速度快了4.6倍),同时获得了更高的精度(比如ResNet50从传统蒸馏的79.33%的精度提升至81.04%)。原创 2023-11-26 12:00:06 · 10172 阅读 · 2 评论 -
Overhaul Distillation(ICCV 2019)原理与代码解析
本文研究了知识蒸馏的各个方面,并提出了一种新的特征蒸馏方法,使蒸馏损失在教师特征变换、学生特征变换、特征蒸馏位置、距离函数各方面之间协同作用。具体来说,本文提出的蒸馏损失包括一个新设计的margin relu特征变换方法、一个新的蒸馏位置、以及一个partial L2距离函数。在ImageNet中,本文提出的方法使得ResNet-50取得了21.65%的top-1 error,优于教师网络ResNet-152的精度。原创 2023-06-13 20:09:35 · 1698 阅读 · 0 评论 -
Channel Distillation: Channel-Wise Attention for Knowledge Distillation 原理与代码解析
本文提出了一种新的知识蒸馏方法,通过通道蒸馏(Channel-Wise Distillation, CD)将知识传递给学生,以便学生可以更高效的提取特征。为了避免教师模型的错误输出对学生的负面影响,提出了引导知识蒸馏(Guided Knowledge Distillation, GKD),只使用教师模型的正确输出来对学生模型进行监督。最后,提出了Early Decay Teacher(EDT)在训练过程中逐步减小蒸馏损失的权重,确保学生模型可以找到自己的优化空间。原创 2023-04-29 17:12:27 · 2206 阅读 · 0 评论 -
On the Efficacy of Knowledge Distillation 解析
paper:On the Efficacy of Knowledge Distillation本文的题目是《论知识蒸馏的有效性》,主要是对教师模型并不是越大越好这一现象进行研究,并提出了缓解方法:early stop。 知识蒸馏背后的思想是,训练好的教师模型学习到的soft probabilities比标签更能反映数据的真实信息。因此人们可能认为,如果教师模型的预测更加准确,这些soft probabilites就能更好的捕获潜在的类别分布信息并且作为一个更好的教师模型为学生模型提供监督信息。因此直觉上会期原创 2023-04-24 21:32:02 · 886 阅读 · 0 评论 -
Activation Boundaries(AAAI 2019)原理与代码解析
激活边界activation boundary是一个分隔超平面,它决定了神经元是激活的还是失活的。有研究指出,神经网络表示了一个由激活边界组合成的复杂函数。还有研究指出神经网络的决策边界是由激活边界组合而成的。这些研究表明将教师模型中的激活边界信息传递给学生模型对于分类模型的提升会有很大的帮助,这是因为分类问题在很大程度上依赖于类间决策边界。基于此,本文提出了一种聚焦于传递激活边界的知识蒸馏方法。和传统的只关注神经元响应大小的方法不同,本文提出的方法旨在传递神经元是否激活的知识。原创 2023-03-25 18:11:24 · 716 阅读 · 0 评论 -
Decoupled Knowledge Distillation(CVPR 2022)原理与代码解析
本文作者深入研究了KD的作用机制,将分类预测拆分为两个层次:(1)对目标类和所有非目标类进行二分类预测。(2)对每个非目标类进行多分类预测。进而将原始的KD损失也拆分为两部分,一种是针对目标类的二分类蒸馏,另一种是针对非目标类的多分类蒸馏。并分别称为target classification knowledge distillation(TCKD)和non-target classification knowledge distillation(NCKD)。通过分别单独研究两部分对性能的影响,作者发现NCK原创 2023-03-04 19:42:20 · 3042 阅读 · 0 评论 -
FSP:Flow of Solution Procedure (CVPR 2017) 原理与代码解析
本文将神经网络中层与层之间的信息流动定义为需要蒸馏的知识,并通过计算两个特征层之间的内积来得到这种知识。原创 2023-02-27 21:24:02 · 1172 阅读 · 0 评论 -
Neuron Selectivity Transfer 原理与代码解析
本文探索了一种新型的知识 - 神经元的选择性知识,并将其传递给学生模型。这个模型背后的直觉相当简单:每个神经元本质上从原始输入提取与特定任务相关的某种模式,因此,如果一个神经元在某些区域或样本中被激活,这意味着这些区域或样本共享一些与该任务相关的特性。这种聚类知识对学生模型非常有价值,因为它为教室模型的最终预测结果提供了一种解释。因此,作者提出对齐教师模型和学生模型神经元选择模式的分布。原创 2023-02-22 21:57:59 · 690 阅读 · 0 评论 -
Relational KD(CVPR 2019)原理与代码解析
对于一个教师模型 \(T\) 和一个学生模型 \(S\),\(f_{T}\) 和 \(f_{S}\) 分别表示教师和学生模型的函数。通常这些模型是深度神经网络,原则上函数 \(f\) 可以用网络任何层的输出来定义(比如隐藏层或softmax层)。原创 2023-02-20 20:48:15 · 1221 阅读 · 0 评论 -
Similarity-Preserving KD(ICCV 2019)原理与代码解析
给定一个mini-batch的输入,教师网络 \(T\) 的某一层 \(l\) 的激活图activation map表示为 \(A^{(l)}_{T}\in \mathbf{R}^{b\times c\times h\times w}\),学生网络 \(S\) 对应层 \(l'\) 的输出表示为 \(A^{(l')}_{S}\in \mathbf{R}^{b'\times c'\times h'\times w'}\),这里教师网络和学生网络对应输出的通道、宽高都不一定要相等。原创 2023-02-19 21:06:30 · 938 阅读 · 0 评论 -
基于注意力的知识蒸馏Attention Transfer原理与代码解析
给定CNN某层的输出激活张量 \(A\in R^{C\times H\times W}\),输入到一个基于激活的映射函数 \(\mathcal{F}\) 得到得到一个spatial attention map这里隐含的假设是一个隐含神经元激活值的绝对值可以用来表明该神经元对某个特定输入的重要程度,比如注意力图上某个位置的值越大说明网络越关注该位置。基于该假设,我们可以沿通道维度上计算这些值的统计数据来构建一个空间注意力图。如下图所示本文主要考虑了以下三种统计方法。原创 2023-02-18 15:00:18 · 4339 阅读 · 0 评论 -
FitNets: Hints for Thin Deep Nets 原理与代码解析
首先介绍知识蒸馏的原理,教师网络 \(T\) 的softmax输出 \(P_{T}=softmax(a_{T})\),其中 \(a_{T}\) 是教师网络pre-softamx的激活向量,\(S\) 表示一个学生网络,网络参数为 \(W_{S}\),输出概率 \(P_{S}=softmax(a_{S})\),学生网络同时在教师网络的输出 \(P_{T}\) 和标签 \(y_{true}\) 的监督下进行训练,为了提供更多的信息还引入了温度 \(\tau >1\),如下学生网络的优化损失函数如下。原创 2023-02-08 20:52:23 · 4559 阅读 · 3 评论 -
知识蒸馏开山之作KD:Distilling the Knowledge in a Neural Network 原理与代码解析
分类网络的最后一层通常会采用softmax将logits转化成各类别的最终预测概率,本文将带温度 \(T\) 的softmax输出作为大模型学习到的“知识”,并作为监督信号监督小模型的训练从而将大模型的知识传递给小模型。如下所示温度 \(T\) 的引入可以使大模型输出的概率分布较为缓和,\(T\) 越大,分布越缓和。比如以MINIST分类为例,对于某张“2”的图像大模型输出3的概率为\(10^{-6}\),输出7的概率为 \(10^{-9}\)。对于另一张“2”的图像,输出的概率可能相反。原创 2023-02-01 21:34:52 · 1283 阅读 · 0 评论
分享