Distilling Knowledge via Knowledge Review(引言翻译)

news2024/7/6 19:46:29

翻译得可能不太准确,希望有能力的各位批评指正!

 Introduction

第一段

深度卷积神经网络(CNN)在计算机视觉多数任务中取得了显著的成功。

然而,卷积网络的成功往往伴随着相当大的计算和内存消耗,

使得将其应用于资源有限的终端边缘设备成为一个具有挑战性的课题。

目前已经涌现较多的神经网络轻量化技术,包括设计新的网络架构[10, 2, 11, 26],网络剪枝[20, 15, 34, 4, 19],量化[13]和知识蒸馏[9, 25]。

第二段

本文将聚焦于知识蒸馏技术,探讨其在实践中的重要性、高效性以及未来潜在应用。

并且,它还是一个通用的方法,适用于几乎所有的网络架构,可以与许多其他轻量化策略相结合,如网络剪枝和量化[32],以进一步提升学生网络效率。

第三段

知识蒸馏最初是在2015年[9]中提出的。蒸馏过程是通过在参数量庞大的网络(也称为教师)的监督下训练一个小型网络(也称为学生)来完成的。

在[9]中,先设定一个蒸馏温度,软化教师的logit知识来蒸馏的,这意味着学生既受到真实标签的监督,也受到教师的logit的监督。

最近,人们致力于提升知识蒸馏框架的性能。FitNet [25]通过中间特征来蒸馏知识。

AT [38]进一步优化了FitNet,并使用特征注意力图来传递知识。

PKT [23]将教师的知识建模为概率分布,而CRD [28]则使用对比学习策略来进行知识的传递。

所有这些解决方案都侧重于转换和损失函数。

Our New Finding我们新的发现

本文从教师和学生模型之间的连接路径的新视角出发。

为了使我们的想法易于理解,我们首先展示了先前的工作是如何处理学生和老师的连接路径。

如图1(a)-(c)所示,所有先前的方法都只使用相同级别的知识来指导学生。

例如,在监督学生的第四阶段输出时,总是使用教师的第四阶段信息,这个过程是直观且易于构建的。

令人意外的是,我们发现这实际上是整个知识蒸馏框架中的一个瓶颈——快速更新结构可以惊人地提高整个框架的蒸馏性能,并且在许多视觉任务上的整体表现有了显著的提升。

经过我们的调研,发现之前的研究忽视了知识蒸馏中连接路径的重要性,因此我们提出了一个新的有效的知识蒸馏框架。

其中关键的一点是想使用教师网络中的低级特征参与监督学生的更深层次的特征学习,

从而实现提升学生模型的整体性能。

我们进一步分析了这个新的网络结构,

发现学生模型较深层是可以从教师模型的低级特征中学习到有用的信息

更多的分析在第4.4节中提供。

这个过程类似于人类学习曲线[35],虽然一个年幼的孩子只能理解起初老师教授的一小部分知识。

但是在成长的过程中,越来越多的之前不曾理解的知识可能逐渐被吸收并加深,并且存储为更深层次的经验。

Our Knowledge Review Framework

根据这些发现,我们提出使用老师模型的多层知识来指导学生网络的单层学习。我们提出的新颖流程如图1(d)所示,我们称之为“知识回顾”。复习机制是使用之前(更浅)的特征来引导当前特征的学习。

这意味着学生必须始终检查以前学习过的内容,以更新对“旧知识”的理解和刷新上下文。

在一段时间的学习中,将不同阶段的知识连接起来是我们人类学习的常见做法。


然而,如何从老师模型的多层信息中提取有用的知识,并将它们传递给学生,仍然是一个富有开放性及挑战性的问题。为了解决这些问题,我们尝试提出了一个残差学习框架,使学生模型的学习过程更加稳定和高效。我们进一步设计了一种注意力融合(ABF)模块和分层上下文损失(HCL)函数的方法,以提高学生模型的性能。我们提出的“知识复习”框架使学生网络的学习效果显著提高。

通过将这个想法落地,我们已经在目标检测、图像分类、图像语义分割等多个任务中取得了较好的性能提升。

第四节的实验结果清晰地证明了我们提出的知识回顾框架具有明显的优势。

Main Contributions

We propose a new review mechanism in knowledge distillation, utlizing multi-level information of the teacher to guide one-level learning of the student net.

我们提出了一个新的知识蒸馏框架,利用教师的多层次知识指导学生网络的单层次学习。

We propose a residual learning framework to better realize the learning process of the review mechanism.

我们提出了一个新的残差学习框架,以更好地实现知识回顾机制的学习过程。

To further improve the knowledge review mechanism, we propose an attentation based fusion (ABF) module and a hierarchical context loss (HCL) function.

我们提出了注意力融合(ABF)模块和分层上下文损失(HCL)函数,以进一步优化知识回顾机制。

We achieve state-of-the-art performance of many compact models in multiple computer vision tasks by applying our distillation framework.

我们的蒸馏框架已经成功地应用于多个计算机视觉任务中,使得许多轻量化模型能够取得最佳性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/425037.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

人工智能交互系统界面设计(Tkinter界面设计)

文章目录前言一、项目介绍二、项目准备三、项目实施1.导入相关库文件2.人脸信息验证功能3.语音交互与TCP数据通信4.数据信息可视化四、相关附件前言 在现代信息化时代,图形化用户界面(Graphical User Interface, GUI)已经成为各种软件应用和…

SpringBoot——Scheduled定时任务

目录 1.静态定时任务 2.动态定时任务 在一些业务场景中,我们需要定义一些任务在我们指定的时间或是每隔一个时间段就自动执行,来作为任务的前提,保证业务的执行。比如:我们需要一个定时任务,每天早上6点执行&#xf…

【springcloud 微服务】Spring Cloud Alibaba Nacos使用详解

目录 一、前言 二、nacos介绍 2.1 什么是 Nacos 2.2 nacos 核心能力 2.2.1 服务发现和服务健康监测 2.2.2 动态配置服务 2.2.3 动态 DNS 服务 2.2.4 服务及其元数据管理 2.2.5 nacos生态地图 2.3 与其他配置中心对比 三、nacos快速部署 3.1 获取安装包 3.2 修改脚…

【分享NVIDIA GTC 23大会干货】加速生成式AI在生物学和医疗领域的应用

【分享NVIDIA GTC 23大会干货】加速生成式AI在生物学和医疗领域的应用1. NVIDIA医疗领域AI计算平台——NVIDIA CLARA2. NVIDIA CLARA医学影像子平台——MONAI3. NVIDIA CLARA医疗设备子平台——Holoscan4. NVIDIA基因组学解决方案Parabricks5. NVIDIA药物研发解决方案6. 个人思…

互联网医院源码|互联网医院软件体现智慧医疗的优势

现在大家看病一般都会直接在互联网医院平台上去就诊,每次大家需要看病时,可以在手机上直接去预约指定的医生,同城周边的所有医院都是可以去直接选择的,这样也可以去帮助大家节省很多的看病时间,在互联网医院软件中所具…

【ApiPost】实现【gRPC】调试【上手篇】

ApiPost下载地址 下载中心-Apipost-中文版接口调试与文档管理工具Apipost官方下载中心为您提供Apipost软件最新版本,其中包括Windows、Mac、Linux等多个客户端的安装包,Apipost下载就上Apipost.cn,国内专业的接口测试软件,一键生成API文档。https://www…

中核科技:科技匠心 智启未来

​  2023 年4月 13—15 日,2023年易派客工业品展览会、石油石化工业展览会、第七届中国石油和化工行业采购年会,在苏州国际博览中心胜利召开。本次展会展览面积53000平方米,参展企业500余家,汇集了中国工业制造领域的大型国企央…

Parcel 实践指南

Parcel 是一个极速零配置的 Web 应用程序打包器。它的零配置特性使得开发者可以更快速地进行项目的构建。本文将向你展示如何在项目中实践 Parcel,并讨论一些性能优化策略以及不同场景下的最佳实践。 总结 Parcel 是一个强大而灵活的打包工具,它可以让你…

【Python_Scrapy学习笔记(八)】基于Scrapy框架实现多级页面数据抓取

基于Scrapy框架实现多级页面数据抓取 前言 本文中介绍 如何基于 Scrapy 框架实现多级页面数据的抓取,并以抓取汽车之家二手车数据为例进行讲解。 正文 在介绍如何基于 Scrapy 框架实现多级页面数据的抓取之前,先介绍下 Scrapy 框架的请求对象 reques…

Linux超级强大的十六进制dump工具:XXD命令,我教你应该如何使用!

在Linux操作系统中,XXD是一个十六进制dump工具,可以将二进制文件转换为十六进制表示,并以可读的形式显示。XXD命令可用于显示文件内容、编辑文件等用途。本文将介绍如何在Linux中使用XXD命令。 安装XXD命令 通常情况下,XXD命令已…

Java面试题总结 | Java基础部分2(持续更新)

文章目录反射的优缺点BIO、AIO、NIO同步异步概念**阻塞与非阻塞****BIO****NIO****AIO**总结设计模式的好处设计模式一定是好用的吗Integer.ValueOf和new Integer的区别Integer.parseInt(s)与Integer.valueOf(s)的区别String是线程安全的吗?StringBuffer和StringBui…

开源GPT-4小羊驼(Vicuna)快速上手指南

小羊驼(Vicuna)是什么 Vicuna: 一个开源的GPT,宣称实现了GPT-4 90%的功能。 UC伯克利学者联手CMU、斯坦福等,再次推出一个全新模型70亿/130亿参数的Vicuna,俗称「小羊驼」(骆马)。 并且和其他以往不同的是…

数据库管理-第六十五期 Oracle 23c新特性(20230411)

数据库管理 2023-04-11第六十五期 Oracle 23c新特性1 免费版23c目录结构2 新特性总结第六十五期 Oracle 23c新特性 上一期装了免费版23c,这一期根据安装的数据库,对Oracle 23c的部分新特性进行实验展示。 1 免费版23c目录结构 通过RPM包安装的免费版2…

静态时序分析Static Timing Analysis1——STA概述、标准工艺库、时钟、IO约束的建立

文章目录前言一、静态时序分析概述1、时序路径分类2、STA和动态仿真比较3、PVT4、不同时钟域5、建立时间、保持时间6、恢复时间、移除时间二、标准工艺库1、标准单元延时模型2、slew derate三、STA约束的建立1、时钟约束1.1 时钟定义1.2 时钟不确定性1.3 时钟延时1.4 生成时钟2…

2023年4月的编程语言排行榜,有你中意的开发语言吗?

编程世界变幻莫测,编程语言也是层出不穷,每隔一段时间就有新的风口出现。2023年的风口非人工智能莫属,人工智能领域中不可获取的编程语言就是Python,作为在算法、数据方面有独特优势的编程语言,从去年开始就展现了它不…

Linux03——文件系统及结构、命令

目录 一、前言 二、文件目录 三、文件系统 四、文件目录命令 五、系统信息命令 六、通讯网络命令 七、磁盘类命令 八、进程管理命令 一、前言 Linux特点是开放性遵循OSI国际标准;多用户每个用户有各自权限;多任务;GUI和系统调用界面&…

Java每日一练(20230411)

目录 1. 同构字符串 🌟 2. 随机字符串 🌟 3. 交错字符串 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 同构字符串 给定两个…

京东技术专家首推:Spring微服务架构设计,GitHub星标128K

前言 本书提供了实现大型响应式微服务的实用方法和指导原则,并通过示例全面 讲解如何构建微服务。本书深入介绍了Spring Boot、Spring Cloud、 Docker、Mesos和Marathon,还会教授如何用Spring Boot部署自治服务,而 无须使用重量级应用服务器…

SAP开发环境ABAP的搭建(客户端和服务器),Developer Key和AccessKey的绕过方法

目录 一.前言 二.客户端GUI安装 1.下载好SAP GUI 750 2.解压后找到SAPGUISetup.exe 3.安装 4.安装完整教程 三.服务端搭建 1.安装VmWare虚拟机 2.下载虚拟机镜像 3.打开虚拟机 4.调整内存大小 5.启动虚拟机 四.创建程序 1.创建包 2.创建程序 3.Developer Key和A…

C语言——变参函数

一、定义 一般函数的参数列表是固定的,所以在调用时传入的实参的个数和格式必须和实参匹配;在函数式中,不需要关心实参,直接调用形参即可。 变参函数,就是参数的个数及类型都不确定的函数,常见变参函数如pr…