Transferring knowledge from a teacher neural network pretrained on the same or a similar task to a student neural network can significantly improve the performance of the student neural network. Existing knowledge transfer approaches match the activations or the corresponding handcrafted features of the teacher and the student networks. We propose an information-theoretic framework for knowledge transfer which formulates knowledge transfer as maximizing the mutual information between the teacher and the student networks. We compare our method with existing knowledge transfer methods on both knowledge distillation and transfer learning tasks and show that our method consistently outperforms existing methods. We further demonstrate the strength of our method on knowledge transfer across heterogeneous network architectures by transferring knowledge from a convolutional neural network (CNN) to a multi-layer perceptron (MLP) on CIFAR-10. The resulting MLP significantly outperforms the-state-of-the-art methods and it achieves similar performance to the CNN with a single convolutional layer. * Contributed during an internship at Amazon.
translated by 谷歌翻译
在这项工作中,我们提出了相互信息最大化知识蒸馏(MIMKD)。我们的方法使用对比目标来同时估计,并最大化教师和学生网络之间的本地和全球特征表示的相互信息的下限。我们通过广泛的实验证明,这可以通过将知识从更加性能但计算昂贵的模型转移来改善低容量模型的性能。这可用于产生更好的模型,可以在具有低计算资源的设备上运行。我们的方法灵活,我们可以将具有任意网络架构的教师蒸馏到任意学生网络。我们的经验结果表明,MIMKD优于各种学生教师对的竞争方法,具有不同的架构,以及学生网络的容量极低。我们能够通过从Reset-50蒸馏出来的知识,从基线精度为Shufflenetv2获得74.55%的精度。在Imagenet上,我们使用Reset-34教师网络将Reset-18网络从68.88%提高到70.32%的准确度(1.44%+)。
translated by 谷歌翻译
Despite the fact that deep neural networks are powerful models and achieve appealing results on many tasks, they are too large to be deployed on edge devices like smartphones or embedded sensor nodes. There have been efforts to compress these networks, and a popular method is knowledge distillation, where a large (teacher) pre-trained network is used to train a smaller (student) network. However, in this paper, we show that the student network performance degrades when the gap between student and teacher is large. Given a fixed student network, one cannot employ an arbitrarily large teacher, or in other words, a teacher can effectively transfer its knowledge to students up to a certain size, not smaller. To alleviate this shortcoming, we introduce multi-step knowledge distillation, which employs an intermediate-sized network (teacher assistant) to bridge the gap between the student and the teacher. Moreover, we study the effect of teacher assistant size and extend the framework to multi-step distillation. Theoretical analysis and extensive experiments on CIFAR-10,100 and ImageNet datasets and on CNN and ResNet architectures substantiate the effectiveness of our proposed approach.
translated by 谷歌翻译
Attention plays a critical role in human visual experience. Furthermore, it has recently been demonstrated that attention can also play an important role in the context of applying artificial neural networks to a variety of tasks from fields such as computer vision and NLP. In this work we show that, by properly defining attention for convolutional neural networks, we can actually use this type of information in order to significantly improve the performance of a student CNN network by forcing it to mimic the attention maps of a powerful teacher network.To that end, we propose several novel methods of transferring attention, showing consistent improvement across a variety of datasets and convolutional neural network architectures. Code and models for our experiments are available at https://github.com/szagoruyko/attention-transfer.
translated by 谷歌翻译
We introduce a novel technique for knowledge transfer, where knowledge from a pretrained deep neural network (DNN) is distilled and transferred to another DNN. As the DNN maps from the input space to the output space through many layers sequentially, we define the distilled knowledge to be transferred in terms of flow between layers, which is calculated by computing the inner product between features from two layers. When we compare the student DNN and the original network with the same size as the student DNN but trained without a teacher network, the proposed method of transferring the distilled knowledge as the flow between two layers exhibits three important phenomena: (1) the student DNN that learns the distilled knowledge is optimized much faster than the original model; (2) the student DNN outperforms the original DNN; and (3) the student DNN can learn the distilled knowledge from a teacher DNN that is trained at a different task, and the student DNN outperforms the original DNN that is trained from scratch.
translated by 谷歌翻译
Often we wish to transfer representational knowledge from one neural network to another. Examples include distilling a large network into a smaller one, transferring knowledge from one sensory modality to a second, or ensembling a collection of models into a single estimator. Knowledge distillation, the standard approach to these problems, minimizes the KL divergence between the probabilistic outputs of a teacher and student network. We demonstrate that this objective ignores important structural knowledge of the teacher network. This motivates an alternative objective by which we train a student to capture significantly more information in the teacher's representation of the data. We formulate this objective as contrastive learning. Experiments demonstrate that our resulting new objective outperforms knowledge distillation and other cutting-edge distillers on a variety of knowledge transfer tasks, including single model compression, ensemble distillation, and cross-modal transfer. Our method sets a new state-of-the-art in many transfer tasks, and sometimes even outperforms the teacher network when combined with knowledge distillation.
translated by 谷歌翻译
One of the most efficient methods for model compression is hint distillation, where the student model is injected with information (hints) from several different layers of the teacher model. Although the selection of hint points can drastically alter the compression performance, conventional distillation approaches overlook this fact and use the same hint points as in the early studies. Therefore, we propose a clustering based hint selection methodology, where the layers of teacher model are clustered with respect to several metrics and the cluster centers are used as the hint points. Our method is applicable for any student network, once it is applied on a chosen teacher network. The proposed approach is validated in CIFAR-100 and ImageNet datasets, using various teacher-student pairs and numerous hint distillation methods. Our results show that hint points selected by our algorithm results in superior compression performance compared to state-of-the-art knowledge distillation algorithms on the same student models and datasets.
translated by 谷歌翻译
While depth tends to improve network performances, it also makes gradient-based training more difficult since deeper networks tend to be more non-linear. The recently proposed knowledge distillation approach is aimed at obtaining small and fast-to-execute models, and it has shown that a student network could imitate the soft output of a larger teacher network or ensemble of networks. In this paper, we extend this idea to allow the training of a student that is deeper and thinner than the teacher, using not only the outputs but also the intermediate representations learned by the teacher as hints to improve the training process and final performance of the student. Because the student intermediate hidden layer will generally be smaller than the teacher's intermediate hidden layer, additional parameters are introduced to map the student hidden layer to the prediction of the teacher hidden layer. This allows one to train deeper students that can generalize better or run faster, a trade-off that is controlled by the chosen student capacity. For example, on CIFAR-10, a deep student network with almost 10.4 times less parameters outperforms a larger, state-of-the-art teacher network.
translated by 谷歌翻译
尽管知识蒸馏有经验成功,但仍然缺乏理论基础,可以自然地导致计算廉价的实现。为了解决这一问题,我们使用最近提出的熵函数来促进信息理论与知识蒸馏之间的替代联系。在这样做时,我们介绍了两个不同的互补损失,旨在最大限度地提高学生和教师陈述之间的相关性和互信。我们的方法对知识蒸馏和跨模型转移任务的最先进的竞争性能实现了最先进的,同时产生明显较低的培训开销,而不是密切相关和类似的方法。我们进一步展示了我们对二元蒸馏任务的方法的有效性,由此,我们将光线光到新的最先进的二进制量化。代码,评估协议和培训的型号将公开可用。
translated by 谷歌翻译
特征回归是将大型神经网络模型蒸馏到较小的功能回归。我们表明,随着网络架构的简单变化,回归可能会优于自我监督模型的知识蒸馏更复杂的最先进方法。令人惊讶的是,即使仅在蒸馏过程中仅使用并且在下游任务中丢弃时,将多层的Perceptron头部添加到CNN骨架上是有益的。因此,更深的非线性投影可以使用在不改变推理架构和时间的情况下准确地模仿老师。此外,我们利用独立的投影头来同时蒸馏多个教师网络。我们还发现,使用与教师和学生网络的输入相同的弱增强图像辅助蒸馏。Imagenet DataSet上的实验证明了各种自我监督蒸馏环境中提出的变化的功效。
translated by 谷歌翻译
Knowledge distillation is a widely applicable techniquefor training a student neural network under the guidance of a trained teacher network. For example, in neural network compression, a high-capacity teacher is distilled to train a compact student; in privileged learning, a teacher trained with privileged data is distilled to train a student without access to that data. The distillation loss determines how a teacher's knowledge is captured and transferred to the student. In this paper, we propose a new form of knowledge distillation loss that is inspired by the observation that semantically similar inputs tend to elicit similar activation patterns in a trained network. Similarity-preserving knowledge distillation guides the training of a student network such that input pairs that produce similar (dissimilar) activations in the teacher network produce similar (dissimilar) activations in the student network. In contrast to previous distillation methods, the student is not required to mimic the representation space of the teacher, but rather to preserve the pairwise similarities in its own representation space. Experiments on three public datasets demonstrate the potential of our approach.
translated by 谷歌翻译
知识蒸馏通常涉及如何有效地定义和转移知识从教师到学生。尽管最近的自我监督的对比知识取得了最佳表现,但迫使网络学习此类知识可能会损害对原始班级识别任务的表示。因此,我们采用替代性的自我监督的增强任务来指导网络学习原始识别任务和自我监督的辅助任务的共同分布。它被证明是一种更丰富的知识,可以提高表示能力而不会失去正常的分类能力。此外,以前的方法仅在最终层之间传递概率知识是不完整的。我们建议将几个辅助分类器附加到层次中间特征图中,以生成多样化的自我监督知识,并执行一对一的转移以彻底教授学生网络。我们的方法显着超过了先前的SOTA SSKD,CIFAR-100的平均改善为2.56 \%,并且在广泛使用的网络对上的Imagenet上有0.77 \%的提高。代码可在https://github.com/winycg/hsakd上找到。
translated by 谷歌翻译
知识蒸馏在模型压缩方面取得了显着的成就。但是,大多数现有方法需要原始的培训数据,而实践中的实际数据通常是不可用的,因为隐私,安全性和传输限制。为了解决这个问题,我们提出了一种有条件的生成数据无数据知识蒸馏(CGDD)框架,用于培训有效的便携式网络,而无需任何实际数据。在此框架中,除了使用教师模型中提取的知识外,我们将预设标签作为额外的辅助信息介绍以培训发电机。然后,训练有素的发生器可以根据需要产生指定类别的有意义的培训样本。为了促进蒸馏过程,除了使用常规蒸馏损失,我们将预设标签视为地面真理标签,以便学生网络直接由合成训练样本类别监督。此外,我们强制学生网络模仿教师模型的注意图,进一步提高了其性能。为了验证我们方法的优越性,我们设计一个新的评估度量称为相对准确性,可以直接比较不同蒸馏方法的有效性。培训的便携式网络通过提出的数据无数据蒸馏方法获得了99.63%,99.07%和99.84%的CIFAR10,CIFAR100和CALTECH101的相对准确性。实验结果表明了所提出的方法的优越性。
translated by 谷歌翻译
与从头开始的传统学习相比,知识蒸馏有时会使DNN实现卓越的性能。本文提供了一种新的观点,可以根据信息理论来解释知识蒸馏的成功,即量化在DNN的中间层中编码的知识点。为此,我们将DNN中的信号处理视为丢弃层的信息。知识点称为输入单元,其信息比其他输入单元所丢弃的信息要少得多。因此,我们根据知识点的量化提出了三个用于知识蒸馏的假设。 1. DNN从知识蒸馏中学习比从头开始学习的DNN学习更多的知识点。 2.知识蒸馏使DNN更有可能同时学习不同的知识点。相比之下,从头开始的DNN学习倾向于顺序编码各种知识点。 3.与从头开始学习的DNN学习通常更稳定地优化了从知识蒸馏中学习的DNN学习。为了验证上述假设,我们设计了具有前景对象注释的三种类型的指标,以分析DNN的功能表示,\ textit {i.e。}知识点的数量和质量,不同知识点的学习速度,以及优化方向的稳定性。在实验中,我们诊断出各种DNN的不同分类任务,即图像分类,3D点云分类,二进制情感分类和问题回答,这些问题验证了上述假设。
translated by 谷歌翻译
在本文中,我们探讨了一项新颖而雄心勃勃的知识转移任务,称为知识分解〜(KF)。 KF的核心思想在于知识的模块化和组装性:鉴于验证的网络模型作为输入,KF旨在将其分解为多个因素网络,每个网络仅处理专用任务,并从源中维护特定于任务的知识,并从源网络。此类因素网络是由任务分开的,可以直接组装,而无需进行任何微调,以产生更有能力的组合任务网络。换句话说,因子网络用作像乐高积木一样的构建块,使我们能够以插件的方式构建自定义网络。具体而言,每个因素网络都包含两个模块,这是一个通用知识模块,该模块是任务无关并由所有因素网络共享的模块,以及一个专门针对因子网络本身的任务特定模块。我们介绍了一个信息理论目标,即Infomax-Bottleneck〜(IMB),以通过优化学习表示和输入之间的相互信息来执行KF。各种基准的实验表明,派生因子网络不仅在专用任务,而且还可以分离,同时享有更好的解释性和模块化。此外,学到的公共知识表示会为转移学习带来令人印象深刻的结果。
translated by 谷歌翻译
知识蒸馏将知识从繁琐的老师转移到小学生。最近的结果表明,对学生友好的老师更适合提炼,因为它提供了更可转移的知识。在这项工作中,我们提出了新颖的框架“修剪,然后蒸馏”,该框架首先修剪模型,以使其更具转让,然后将其提炼为学生。我们提供了几个探索性示例,这些探索性示例与原始未经修复的网络相比,教师教的更好。从理论上讲,我们进一步表明,修剪的老师在蒸馏中扮演正规剂的角色,从而减少了概括误差。基于此结果,我们提出了一种新型的神经网络压缩方案,该方案根据修剪教师形成学生网络,然后采用“修剪,然后蒸馏”策略。该代码可在https://github.com/ososos8888/prune-then-distill上找到
translated by 谷歌翻译
While machine learning is traditionally a resource intensive task, embedded systems, autonomous navigation, and the vision of the Internet of Things fuel the interest in resource-efficient approaches. These approaches aim for a carefully chosen trade-off between performance and resource consumption in terms of computation and energy. The development of such approaches is among the major challenges in current machine learning research and key to ensure a smooth transition of machine learning technology from a scientific environment with virtually unlimited computing resources into everyday's applications. In this article, we provide an overview of the current state of the art of machine learning techniques facilitating these real-world requirements. In particular, we focus on deep neural networks (DNNs), the predominant machine learning models of the past decade. We give a comprehensive overview of the vast literature that can be mainly split into three non-mutually exclusive categories: (i) quantized neural networks, (ii) network pruning, and (iii) structural efficiency. These techniques can be applied during training or as post-processing, and they are widely used to reduce the computational demands in terms of memory footprint, inference speed, and energy efficiency. We also briefly discuss different concepts of embedded hardware for DNNs and their compatibility with machine learning techniques as well as potential for energy and latency reduction. We substantiate our discussion with experiments on well-known benchmark datasets using compression techniques (quantization, pruning) for a set of resource-constrained embedded systems, such as CPUs, GPUs and FPGAs. The obtained results highlight the difficulty of finding good trade-offs between resource efficiency and predictive performance.
translated by 谷歌翻译
知识蒸馏(KD)是一个有效的框架,旨在将有意义的信息从大型老师转移到较小的学生。通常,KD通常涉及如何定义和转移知识。以前的KD方法通常着重于挖掘各种形式的知识,例如功能地图和精致信息。但是,知识源自主要监督任务,因此是高度特定于任务的。在自我监督的代表学习的最新成功中,我们提出了一项辅助自我实施的增强任务,以指导网络学习更多有意义的功能。因此,我们可以从KD的这项任务中得出软性自我实施的增强分布作为更丰富的黑暗知识。与以前的知识不同,此分布编码从监督和自我监督的特征学习中编码联合知识。除了知识探索之外,我们建议在各个隐藏层上附加几个辅助分支,以充分利用分层特征图。每个辅助分支都被指导学习自学的增强任务,并将这种分布从教师到学生提炼。总体而言,我们称我们的KD方法为等级自我实施的增强知识蒸馏(HSSAKD)。标准图像分类的实验表明,离线和在线HSSAKD都在KD领域达到了最先进的表现。对象检测的进一步转移实验进一步验证了HSSAKD可以指导网络学习更好的功能。该代码可在https://github.com/winycg/hsakd上找到。
translated by 谷歌翻译
为了提高性能,深度神经网络需要更深入或更广泛的网络结构,以涉及大量的计算和记忆成本。为了减轻此问题,自我知识蒸馏方法通过提炼模型本身的内部知识来规范模型。常规的自我知识蒸馏方法需要其他可训练的参数或取决于数据。在本文中,我们提出了一种使用辍学(SD-Dropout)的简单有效的自我知识蒸馏方法。 SD-Dropout通过辍学采样来提炼多个模型的后验分布。我们的方法不需要任何其他可训练的模块,不依赖数据,只需要简单的操作。此外,这种简单的方法可以很容易地与各种自我知识蒸馏方法结合在一起。我们提供了对远期和反向KL-Diverence在工作中的影响的理论和实验分析。对各种视觉任务(即图像分类,对象检测和分布移动)进行的广泛实验表明,所提出的方法可以有效地改善单个网络的概括。进一步的实验表明,所提出的方法还提高了校准性能,对抗性鲁棒性和分布外检测能力。
translated by 谷歌翻译
知识蒸馏是一种培训小型学生网络的流行技术,以模仿更大的教师模型,例如网络的集合。我们表明,虽然知识蒸馏可以改善学生泛化,但它通常不得如此普遍地工作:虽然在教师和学生的预测分布之间,甚至在学生容量的情况下,通常仍然存在令人惊讶的差异完美地匹配老师。我们认为优化的困难是为什么学生无法与老师匹配的关键原因。我们还展示了用于蒸馏的数据集的细节如何在学生与老师匹配的紧密关系中发挥作用 - 以及教师矛盾的教师并不总是导致更好的学生泛化。
translated by 谷歌翻译