关于知识蒸馏这三篇论文详解不可错过.docx
关于知识蒸馏,这三篇论文详解不可错过然后假设类别条件以及logits出自teacherorstudent是独立的训练得出C2维度的概率输出。4.GeneratorAuxiliaryClassifier提供了类别信息为了获得实例级别的知识作条件使用L1loss来对其teacher-student的logits.所以总loss5.训练经过先固定student,用DiscriminatorLoss优化D然后用StudentLoss来优化Student。实验teacherWRN-40-10student:WRN-10-4(CIFAR)/WRN-22-4(Imagenet32)三.MutualLearningBornAgainNN两篇不以模型压缩为目的应用知识蒸馏的文章DeepMutualLearningVSKnowledgeDistillationDeepMutualLearning(DML)与用于模型压缩的一般知识蒸馏不同的地方在于知识蒸馏是将预训练好的、不进展反向传播的“静态teacher网络的知识单项传递给需要反向传播的动态student网络。DML是在训练经过中一众需要反向传播的待训student网络协同学习相互传递知识。所以区别就在是否teacher、student网络都需要反向传播。DML框架如下每个相互学习的网络都有一个标准的分类Loss以及互学习Loss其中互学习Loss是一个KL散度。详细而言两个网络的softmax输出为p1,p2.那么互学习的意义在于对于Net1Net2亦然对了进步其泛化才能使用Net2的p2作为一种后验概率然后最小化p1,p2的KL散度。从p1到p2的KL间隔如下所以Net1的损失函数是穿插熵加上p1到p2的KL散度Net2的是p2到p1的间隔假如是多个网络比方K2个网络相互学习那么每个student网络的Loss:还有一种方法就是对于每个student使其模拟其他student网络softmax输出之平均。不过该方法会因为多个网络softmaxgailv取平均导致gtclass分量很大不够soft有违文章提到的提供后验熵的初衷。文章给出的优化经过是异步的。即先对不同网络进展不同的初始化然后各网络同时前传得到softmax概率继而每个网络在分类互学习loss作用下逐个反传。实验所有模型如下在CIFAR100数据集结果在Market-1501Re-id结果以及单向传递知识的知识蒸馏相比最后实验还发现相互学习的网络多一些可以涨点理论解释每个网络都有穿插熵在训练承受one-hot类别监视信息进而收敛到最小值点minina训练损失为0。但是各网络这种情况下的minima是不够稳定的。由于每个student网络初始化不一样预测的类别向量第一分量是标准答案了但是第二分量各不一样还是以及蒸馏一样这种第二分量作为后验熵相互提供了丰富的信息使得网络找到了较为宽广的、就是很鲁棒的最小值点结果就是泛化才能提升。再生网络如上图直接将teacher网络的prediction当作student网络的target得到第一代student网络的prediction然后传递给后一代历经几代之后将各代student网络的predictionensemble.形成一个sequenceofteachingselves。对于分类任务X是输入Y是输出的predictions我们的网咯就是在拟合这样一个映射f(x)X-Y。学习参数的经过就是使用比方SGD来优化一个损失函数通常是穿插熵。BANs就是交换这个穿插熵为文章中还讨论了logits中非最大值分量的作用使用teacher网络logit加权以及非最大值分量打乱两种方法做了实验。原文链接s:/zhuanlan.zhihu/p/53864403 (*本文为AI科技大本营转载文章转载请联络原)精彩推荐 “只讲技术回绝空谈2019AI开发者大会将于9月6日-7日在北京举行这一届AI开发者大会有哪些亮点一线公司的大牛们都在关注什么AI行业的风向是什么2019AI开发者大会倾听大牛共享聚焦技术理论以及万千开发者共成长。大会早鸟票倒计时最后一天速抢进展中.推荐浏览你点的每个“在看我都认真当成了喜欢