深入浅出:Knowledge Distillation by On-the-Fly Native Ensemble

2023-10-24 09:10

本文主要是介绍深入浅出:Knowledge Distillation by On-the-Fly Native Ensemble,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简述:

这是一篇关于知识蒸馏的论文,知识蒸馏可有效地训练小型通用网络模型,以满足低内存和快速运行的需求。现有的离线蒸馏方法依赖于训练有素的强大教师,这可以促进有利的知识发现和传递,但需要复杂的两阶段训练程序。作者提出了一种用于一阶段在线蒸馏的动态本地集成(ONE)学习策略。具体来说,ONE只训练一个单一的多分支网络,而同时动态地建立一个强大的教师来增强目标网络的学习。

 

模型overview

ONE体系结构如上图所示。ONE包含两个组件:

(1)m个具有相同配置的分支。其中每个分支共享低层的网络,并且充当一个独立的分类模型。

(2)门控组件,它学习将所有(m + 1)个分支,并将分支集成在一起以建立更强大的教师模型。

 

模型分析:

首先对于一个类c的样本x,网络θ输出一个类后验概率p(c|x,θ):

其中z是网络θ输出的logits。每个多类别分类模型采用的是交叉熵(CE)度量作为目标损失函数:

.

其中对于δc,y,如果c是真实标签,则返回1,否则返回0。

此外,采用所有分支的集成可以建立更强大的教师模型。文中通过门控组件进行集成:

接下来就是知识蒸馏部分,在上述的公式得到每个训练样本的教师logits后,再将知识以闭环形式蒸馏回所有分支。采用以下公式:

然后,使用KL散度来实现从教师网络蒸馏回学生网络:

最后,整个ONE网络获得在线蒸馏训练的总体损失函数为:

 

 

这篇关于深入浅出:Knowledge Distillation by On-the-Fly Native Ensemble的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/274156

相关文章

native和static native区别

本文基于Hello JNI  如有疑惑,请看之前几篇文章。 native 与 static native java中 public native String helloJni();public native static String helloJniStatic();1212 JNI中 JNIEXPORT jstring JNICALL Java_com_test_g

一文说清什么是AI原生(AI Native)应用以及特点

引言:智能新纪元 如今,走在街头,哪儿不被智能科技包围?智能音箱、自动驾驶汽车、聊天机器人......这些都在用不同的方式提升我们的生活体验。然而,究竟什么才能称得上“AI原生应用”呢? 什么是AI原生?   AI原生不仅仅是简单地引入人工智能功能。真正的AI原生应用犹如一个智慧的“大脑”,它的每一个决策都依赖于深度学习与数据分析。以Siri为例,它通过学习用户的习惯和需求,提供个性化的

BRAM IP Native模式使用

简介         BRAM(‌Block RAM)是‌FPGA(Field-Programmable Gate Array)中的一种专用RAM资源,固定分布在FPGA内部的特定位置。该内容主要对BRAM(Block RAM”的缩写)Native模式下IP界面做详细描述和使用。 界面介绍 Basic界面            1、选择对外接口,可以是AXI总线控制读写也可以是Nativ

深入浅出SRS—RTMP实现

RTMP 直播是 SRS 最典型的使用场景,客户端使用 RTMP 协议向 SRS 推流,使用 RTMP 协议从 SRS 拉流,SRS 作为一个 RTMP 直播服务器实现媒体的转发。同时,RTMP 是 SRS 的中转协议,其他协议之间的互通需要先转为 RTMP,因此,理解 SRS RTMP 直播实现是理解其他协议实现的重要前提。本文主要分析 SRS RTMP 直播功能的实现原理,相关概念和配置请参考

深入浅出Java垃圾回收机制

对于Java开发人员来说,了解垃圾回收机制(GC)有哪些好处呢?首先可以满足作为一名软件工程师的求知欲,其次,深入了解GC如何工作可以帮你写出更好的Java应用。   这仅仅代表我个人的意见,但我坚信一个精通GC的人往往是一个好的Java开发者。如果你对GC的处理过程感兴趣,说明你已经具备较大规模应用的开发经验。如果你曾经想过如何正确的选择GC算法,那意味着你已经完全理解你所开发的应用的特点

《React Native 应用开发最佳实践》

《React Native 应用开发最佳实践》 近年来,React Native 应用开发因其能够使用 JavaScript 构建原生移动应用的能力而大受欢迎。它提供了跨平台兼容性、更快的开发时间以及更易于维护的特性,成为了许多开发者的首选。然而,要确保 React Native 应用的成功,在整个开发过程中遵循最佳实践至关重要。 在 React Native 应用开发中遵循最佳实践不仅能确保

《Cloud Native Data Center Networking》(云原生数据中心网络设计)读书笔记 -- 10数据中心中的BGP

本章解答以下问题: ASN,团体(community),属性(attribute),最佳路径这些BGP术语是什么疑似?在数据中心中应该使用eBGP还是iBGP?在数据中心使用BGP时,应采用什么ASN编号方案?在数据中心使用BGP时,应如何修改BGP的计时器? BGP 基本概念 BGP协议概述 BGP 是一种路径矢量路由协议。“矢量”是一个数组或列表。因此,路径矢量路由协议是一种构建并分发

Android JNI 访问Java中的成员变量及非native方法

JNI的头文件生成及编译请参考《Android中的JNI使用指南一》 1、修改Java类中的成员变量。通过HelloJNI.java类中changeNum()本地方法来修改成员number的值。number初始化为0,通过本地方法changeNum()修改为100。HelloJNI.java类中定义如下: changeNum()在C++中的实现,如下: //修改java类中的成员变量(i

知识图谱(knowledge graph)——概述

知识图谱总结 概念技术链概括通用知识图谱和垂直领域知识图谱国内外开放知识图谱 技术链详解知识获取知识融合知识表示知识推理知识存储 知识图谱构建流程其他挑战跨语言知识抽取跨语言知识链接 思考参考 概念 知识图谱(Knowledge Graph)以结构化的形式描述客观世界中概念、实体及其关系。是融合了认知计算、知识表示与推理、信息检索与抽取、自然语言处理、Web技术、机器学习与大数据

知识图谱(knowledge graph)——RDF(Resource Description Framework)

RDF的基本单元是三元组(triple) 每个三元组是(主语 谓语 宾语) 这样的元组tuple。主谓宾的取值称为"资源"(Resource, 也就是RDF里的R) 资源可以是一个网址(URI),一个字符串或数 字(严格来讲都是带类型的字符串,称为 literal),或者一个“空节点”(blank node)。 有两种特殊类型的资源。rdfs:Class代表类。 rdf:Property代