NYU Google: 知识蒸馏无处不在,但它真的有用吗?

文 | 小伟
编 | 小轶

导师: 小伟,听说你对知识蒸馏比较了解,你来给我说说知识蒸馏有什么用?
我: 知识蒸馏是一种很典型的模型压缩的方法,我们可以用它来有效地从大型教师模型学习小型学生模型,并且学生模型的性能也很不错。
导师: 那它既然叫知识蒸馏,你怎么知道学生模型是不是真的充分学到了教师模型的知识呢?
我: 这不简单嘛,学生模型的效果好不就说明学到充足的知识了。
导师:一看你就不关心最新的学术进展,天天是不是忙着吃鸡了!最近NYU和Google联合发了一篇文章,仔细探索了知识蒸馏中学生模型的精度和蒸馏效果之间的关系,快去读一读!
我: 好嘞~

论文标题:
Does Knowledge Distillation Really Work?

论文地址:
https://arxiv.org/pdf/2106.05945

arxiv访问慢的小伙伴也可以在 【夕小瑶的卖萌屋】订阅号后台回复关键词 【0825】 下载论文PDF~

随着自然语言处理进入了预训练模型的时代,模型的规模也在极速增长,GPT-3甚至有1750亿参数。如何在资源有限的情况下部署使用这些庞大的模型是一个很大的挑战。

目前知识蒸馏在解决这一问题中的方法中占据了重要的地位。我们可以通过知识蒸馏来学习容易使用的小型学生模型,但是它真的可以起到蒸馏教师模型知识的效果吗?在这篇文章中,作者对这一问题进行了详细的探索与解答,下面我们就来一探究竟。

概要

尽管目前有很多知识蒸馏相关的研究,但它们主要集中于如何提高学生模型的泛化性(generalization),往往忽视了学生模型的预测和教师模型的预测的匹配程度(fidelity),我们可以简单称之为学生模型的匹配度。相比泛化性,匹配度更好的反映了学生模型蒸馏到了多少教师模型含有的知识。

本文对这两种概念做了详细的解释与区分,并且指出获得良好的匹配度对学生模型来说往往是很困难的。

基于此现象,作者探索了两种可能导致这种困难的原因:

  • Identifiability: 蒸馏数据不够充足,所以在训练数据上学生-教师预测可以匹配并不意味着在测试数据上也可以匹配。

  • Optimization: 我们不能很好地解决蒸馏优化问题,所以不管是在训练数据还是测试数据上,学生模型的匹配度都比较低。

为什么需要匹配度?

之前的研究已经揭示了知识蒸馏通常会提高学生模型的泛化能力,所以我们为什么还要关心学生模型的匹配度呢?

  • 首先是学生模型的泛化性能和教师模型的泛化性能往往有比较大的差距,提高匹配度是消除学生和教师泛化性能差异最显而易见的方法。

  • 其次良好的学生模型匹配度可以提高知识蒸馏的可解释性可信赖性

  • 最后,将匹配度和泛化性解耦可以帮助更好的理解知识蒸馏是怎么工作的以及如何在各种应用程序中更好的利用它

学生模型的匹配度高吗?

作者使用3个ResNet-56网络的集成来作为教师模型,使用单个的ResNet-56网络来作为学生模型进行知识蒸馏。

如Figure 1(b)显示,学生模型和教师模型的预测之前有着显著的差距(Low Test Agreement),也就是低匹配度

导致低匹配度的原因

学生模型的匹配度比较差,是什么原因导致的呢?

作者给出了两个可能的原因,并进行了相应的探索与验证。

首先可能是蒸馏数据不够充足

作者设计实验探索了在蒸馏过程中使用不同的数据增强策略是否可以提高学生模型的匹配度。

如Figure 3所示,实验结果证明虽然数据增强在缩小学生-教师模型预测差距上是有用的,但它带来的改进很小,所以蒸馏数据不足不是导致低匹配度的主要原因

既然蒸馏数据数量不足不是主要原因,那么会不会是蒸馏数据的分布偏移导致的呢?

作者同样设计了实验来验证这一猜想。Figure 4中的实验结果显示调整蒸馏数据的分布可以带来微小的改进,这也证明了数据的错误选择不是导致低匹配度的主要原因

其次可能是蒸馏过程中的优化有问题

既然数据不够充足或者分布有偏移不是主要原因,那么会不会是因为学生模型本来就没有充分的学习训练集,导致即使是在训练数据上学生-教师预测的差异都很大呢?

为了验证这一猜想,作者使用ResNet-56以及CIFAR-100设计了简单的蒸馏实验。

如Figure 5所示,当使用广泛的数据增强策略时,即使是在训练集上,学生模型的匹配度也会比较低。这印证了我们的猜想,学生模型没有充分的学习训练数据

那么为什么即使是在训练集上,学生-教师模型预测的匹配度都很低呢?原因其实很简单,知识蒸馏的优化会收敛于次优解,从而导致低匹配度。

总结

作者总结了本文的关键发现:

  • 学生模型的泛化性能(generalization)和匹配度(fidelity)的变化趋势并不一致

  • 学生模型的匹配度(fidelity)和蒸馏的校准(calibration)有很大的关联

  • 知识蒸馏过程中的优化是很困难的,这也是导致低匹配度的主要原因

  • 蒸馏优化的复杂度以及蒸馏数据的质量之间存在均衡(trade-off)

Final Question

现在回到我们最开始的问题,知识蒸馏真的有用吗?

毫无疑问,它是有用的,因为它通常可以提高学生模型的泛化性能;同时它也是没用的,因为它总是将很有限的知识从教师传递到学生,这与它的名字知识蒸馏相去甚远。所以我们是不是可以改称它为knowledge enhancement?

小伙伴,你们怎么看呢?

最后的最后,

导师: 小伙子不错啊,论文读得又快又精准,这周的Reading Group就交给你了。
我: 呜呜呜,又是我,滚去读论文了~

寻求报道、约稿、文案投放:

添加微信xixiaoyao-1,备注“商务合作”


后台回复关键词【入群

加入卖萌屋NLP/IR/Rec与求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!

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

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

相关文章

pyscript+py-env实现python+html效果

参考链接:https://developer.aliyun.com/article/976083?spma2c6h.12873581.group.dArticle976083.3a8057c73DINVs 今天我们要介绍的东西,叫做PyScript,使用它,不需要安装任何软件。只要有一个记事本,就能写一段HTMLP…

美团的DBProxy实践

本文整理自美团技术沙龙第10期:数据库技术架构与实践。 美团技术沙龙由美团技术团队主办,每月一期,每期沙龙邀请美团及其它互联网公司的技术专家分享来自一线的实践经验,覆盖各主要技术领域。 本次沙龙主要围绕数据库相关的主题&a…

LeetCode 606. 根据二叉树创建字符串(递归)

文章目录1. 题目2. 递归解题1. 题目 你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串。 空节点则用一对空括号 “()” 表示。而且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对。 示例 1: 输入: 二叉树: [1,…

论文浅尝 | 面向开放域的无监督实体对齐

笔记整理 | 谭亦鸣,东南大学博士生来源:DASFAA’21链接:https://arxiv.org/pdf/2101.10535.pdf概述与动机知识图谱对齐的目的是建立两个不同知识图谱之间实体的对应关系,如图1,本文作者发现现有的实体对齐方法依赖于标…

聊聊推荐系统

这两天,有种把某宝卸载的冲动,它的“猜你喜欢”推荐简直是我肚子里的蛔虫,每次看都忍不住剁手,钱包就这么日渐消瘦……但从技术的角度想想,不得不说阿里的推荐系统的确做得不错。其实,除了电商平台&#xf…

LeetCode 695. 岛屿的最大面积(图的BFS/DFS)

文章目录1. 题目2. 解题2.1 BFS广度优先搜索2.2 DFS深度优先搜索1. 题目 给定一个包含了一些 0 和 1的非空二维数组 grid , 一个 岛屿 是由四个方向 (水平或垂直) 的 1 (代表土地) 构成的组合。你可以假设二维矩阵的四个边缘都被水包围着。 找到给定的二维数组中最大的岛屿面…

Neo4j:入门基础(一)之安装与使用

原文链接:https://blog.csdn.net/sinat_36226553/article/details/108541370 # 图数据库 链接:什么是原生(Native)图数据库 一般认为具有“无索引邻接”特性的图数据库才称为原生图数据库 链接:常用的图数据库 图存储可以分为属性图、三元组…

论文浅尝 | 问题多样性对于问答的帮助

笔记整理 | 毕胜 东南大学在读博士,研究方向:自然语言处理 知识图谱问题生成通过生成一些合成的问题作为训练语料有效提高了问答系统的效果,本文的研究点是:在QG中,生成问题的文本多样性是否对下游的QA有帮助&#xf…

RDS平台介绍

本文整理自美团点评技术沙龙第10期:数据库技术架构与实践。 美团点评技术沙龙由美团点评技术团队主办,每期沙龙邀请美团点评及其它互联网公司的技术专家分享来自一线的实践经验,覆盖各主要技术领域。 本次沙龙主要围绕数据库相关的主题&#…

你已经是一个成熟的地图了,该学会帮我...

文 | 小戏当我们打开百度地图,选定到达目的地,导航软件里的小姐姐马上就用不紧不慢的语调告诉我们“准备出发,全程12公里,预计需要30分钟……”但一看手表上显示的不风驰电掣铁定迟到的时间,肯定不允许我们和导航软件里…

LeetCode 427. 建立四叉树(递归)

1. 题目 我们想要使用一棵四叉树来储存一个 N x N 的布尔值网络。网络中每一格的值只会是真或假。树的根结点代表整个网络。对于每个结点, 它将被分等成四个孩子结点直到这个区域内的值都是相同的. 每个结点还有另外两个布尔变量: isLeaf 和 val。isLeaf 当这个节点是一个叶子…

基于 KIF 的 iOS UI 自动化测试和持续集成

客户端 UI 自动化测试是大多数测试团队的研究重点,本文介绍猫眼测试团队在猫眼 iOS 客户端实践的基于 KIF 的 UI 自动化测试和持续集成过程。 一、测试框架的选择 iOS UI 自动化测试框架有不少,其中 UI Automation 是 Apple 早期提供的 UI 自动化测试解决…

论文浅尝 | 利用冻结语言模型的多模态少样本学习

笔记整理 | 李磊,浙江大学硕士,研究方向为自然语言处理链接:https://arxiv.org/abs/2106.13884动机大规模的自回归语言模型(如GPT)在预训练阶段学习到了大量的知识,具有很好的学习新任务的能力&#xff0c…

ACL’21 | 对话系统也要进军多模态了!

文 | 胡煌,梁祖杰编 | 小轶对于一个对话Bot来讲,拥有对视觉信息的感知和联想能力是非常重要的。比如,我们人类在对话中谈到大海的时候,就会自然地联想到蓝天、白云和飞翔的海鸟。然而,当前的对话模型,如 Me…

x86系统与arm64系统不兼容的linux服务器问题

一键离线安装命令: pip install --no-index --find-links/home/digital_package -r requirements.txt --ignore-installed 1 cython 2 gensim:

LeetCode 541. 反转字符串 II

1. 题目 给定一个字符串和一个整数 k,你需要对从字符串开头算起的每个 2k 个字符的前k个字符进行反转。如果剩余少于 k 个字符,则将剩余的所有全部反转。如果有小于 2k 但大于或等于 k 个字符,则反转前 k 个字符,并将剩余的字符保…

HDFS NameNode内存全景

一、概述 从整个HDFS系统架构上看,NameNode是其中最重要、最复杂也是最容易出现问题的地方,而且一旦NameNode出现故障,整个Hadoop集群就将处于不可服务的状态,同时随着数据规模和集群规模地持续增长,很多小量级时被隐藏…

OpenKG开源系列|首个多模态开放知识图谱OpenRichpedia (东南大学)

OpenKG地址:http://openkg.cn/dataset/richpeidaGitHub地址:https://github.com/OpenKG-ORG/OpenRichpediaGitee地址:https://gitee.com/openkg/richpedia官网地址:http://richpedia.cn(提供Dump)开放许可协…

电商业务中的五大机器学习问题!

机器学习正在从曾经的“科幻”,走向大众生活,比如:高铁站的人脸识别系统、小区门口的无人化测量体温,还有这些年很火的自动驾驶,再到电商的精准推荐系统...等等,背后都是机器学习。今天就以电商业务场景为例…

LeetCode 404. 左叶子之和(递归)

1. 题目 计算给定二叉树的所有左叶子之和。 示例:3/ \9 20/ \15 7在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24来源:力扣(LeetCode) 链接:https://leetcode-cn.co…