Knowledge Review:超越知识蒸馏,Student上分新玩法!

文 | 陀飞轮@知乎

今天介绍一篇我司的文章Distilling Knowledge via Knowledge Review(缩写为KR),提出知识蒸馏的新解法。

之前在知乎回答过一个知识蒸馏的问题,为何感觉“知识蒸馏”这几年没有什么成果?https://www.zhihu.com/question/309808462/answer/1591099835

其实知识蒸馏从15年提出以来,主要出现了按照蒸馏位置不同的两种方法分别为蒸logits和features。蒸logits,kd(指15年那篇)之后,主要是通过同时对teacher和student进行约束来保持两者的分布一致性来做的,如PKT、CC等;蒸features,起源于FitNet,后续主要是通过如何更好的利用teacher的feature来做的,如Overhaul等。另外最近因为self-supervised的火热,也出现了如CRD、SSKD等优秀的自监督相关的kd算法。

我在回答中也提到,之前的知识蒸馏方法中Overhaul效果是最好的,一骑绝尘。之前的方法把知识蒸馏的上限推到了一个新的高度,貌似已经达到饱和了,那么就引出来一个值得思考的问题,之前的蒸馏feature和logits的方式,teacher的信息真的完全被利用了吗?

显然还没有。

01 Knowledge Review

如上图,其中(a)图是蒸logits,(b)是蒸单层feture,(c)是蒸多层feature。之前的蒸馏方法(a)(b)(c)三种形式都可以理解为相同层进行蒸馏,引导student学习teacher相同层的feature。但是这种相同层蒸馏方式在训练的过程中显然是不合理的,teacher深层的语义信息更加抽象,在student的训练初期,去学习teacher的抽象深层语义信息,这就好比是让一个婴儿去学习大学知识,这显然是非常困难且难以学习的。

于是就引出了knowledge review的方法,如图(d)所示,student的单层feature通过teacher的多层feature同时引导学习,这种引导学习的方式比起之前的方法更加完全,teacher的浅层可以认为是比较简单的知识,深层是比较抽象的知识,student训练早期会更加关注teacher浅层简单知识的学习,随着训练的进行,会越来越关注teacher深层抽象知识的学习,knowledge review这个词非常形象表达了这个过程——温故知新,浅层是old knowledge,深层是new knowledge。

knowledge review的想法是非常make sense的,但是想要做work,还需要一些针对性的设计。

Review Mechanism

下面先通过符号假设推导出review mechanism的函数表达式。

假设一张图片输入是 ,student网络是 ,那么student的logit输出为 。其中\mathcal { S }可以分成 不同部分, 是classifier部分,其余是不同stage部分,那么

表示复合函数 ,中间层的feture表示为 ,那么第i层的feature的公式为

teacher的函数表达式跟student相类似。

那么一层知识蒸馏的loss可以表示为

其中 是对feature进行转换的函数。 是用来衡量转换后的teacher和student的距离函数。

那么多层知识蒸馏的loss可以表示为

review mechanism的单层知识蒸馏loss则可以表示为

表示student第i层同时对应teacher的从1到i层的loss之和。

那么review mechanism的多层知识蒸馏loss则可以表示为

在知识蒸馏的训练过程中,review mechanism的loss相当于一个正则项,测试的时候,只在student网络上inference,没有额外的时间损耗。

Residual Learning Framework

根据上述review mechanism推导得到的框架如图(a),灰色块是student做了转换后的feature,绿色块是蒸馏的距离函数计算方式。图(b)对图(a)进一步进行设计,直接将每个单层student对应多层teacher,但是直接对student每一个stage进行蒸馏,不同层的特征会产生冲突相互干扰。

将review mechanism的loss函数简写成

忽略掉对feature的转换函数。然后将i和j两个顺序进行交换

可以将上式括号内部分近似成student多层feature融合求距离的公式

其中 是一个融合函数。那么整个知识蒸馏框架就变成了图(c),红色块表示融合模块。

最后图(d)再进一步对图(c)的融合模块进行优化,提高效率。融合 的过程可以看成是 融合,于是就可以将 看成一个递归函数,重复进行融合操作,将 看成是 的融合,那么loss函数可以表示成

有没有觉得这个式子似曾相识,这就是ResNet的residual learning的递推公式啊,这个residual learning的设计可以帮助knowledge review的训练过程更加稳定,容易优化。

其中红色块和绿色块分别设计了ABF和HCL模块。

ABF模块设计和SKNet非常类似,将student后面一个stage转换得到的feature和当前stage的feature看成是两条分支,然后通过concat、卷积的方式得到两条分支的spatial weight,最后reweight后相加得到融合的feature。

HCL模块设计借鉴了PSPNet的方式,用四种尺度Pool分别对student和teacher的feature进行池化,然后计算loss。

通过上述一系列的设计,knowledge review将温故知新的思想发挥到了极致。

表格中的OFD是Overhaul,可以看到knowledge review比之前的Overhaul、CRD等方法都要好上一大截,而且在不同模型架构上都有效。

总结

知识蒸馏是计算机视觉中一个很有趣的问题,之前的方法都是从如何更好的利用好teacher的信息出发,将teacher和student相同层的信息利用起来,而knowledge review进一步引入温故知新的思想,将teacher的信息利用到了极致。但是知识蒸馏任然存在着超参敏感的问题,后续或许可以结合一些self-supervised的方法像之前的CRD,或者通过一些特殊的设计来增强知识蒸馏的稳定性,这可能是知识蒸馏发挥实用价值当务之急的事情。

后台回复关键词【入群

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

后台回复关键词【顶会

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

 

[1]. Distilling Knowledge via Knowledge Review: https://jiaya.me/papers/kdreview_cvpr21.pdf

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

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

相关文章

美团App 插件化实践

背景 在Android开发行业里,插件化已经不是一门新鲜的技术了,在稍大的平台型App上早已是标配。进入2017年,Atlas、Replugin、VirtualAPK相继开源,标志着插件化技术进入了成熟阶段。但纵观各大插件框架,都是基于自身App的…

评测征集 | 2021全国知识图谱与语义计算大会

CCKS 2021将组织知识图谱相关评测竞赛,旨在为研究者们提供一个测试技术、算法、及系统的平台。与CCKS 2020 一样,CCKS 2021 的评测任务仍然采用 Biendata 在线平台发布和评测。CCKS 2020评测竞赛环节共设立8个任务,吸引了2300多支参赛队伍。大…

论文投稿新规则,不用跑出SOTA,还能“内定”发论文?!

文 | Sheryc_王苏从5月初开始,CV圈似乎开始了一阵MLP“文艺复兴”的热潮:在短短4天时间里,来自谷歌、清华、牛津、Facebook四个顶级研究机构的研究者分别独立发布了4篇关于MLP结构在图像任务上取得不错效果的论文。虽然研究本身令人兴奋&…

即时配送的订单分配策略:从建模和优化

最近两年,外卖的市场规模持续以超常速度发展。近期美团外卖订单量峰值达到1600万,是全球规模最大的外卖平台。目前各外卖平台正在优质供给、配送体验、软件体验等各维度展开全方位的竞争,其中,配送时效、准时率作为履约环节的重要…

LeetCode677. 键值映射(Trie树)

1. 题目 实现一个 MapSum 类里的两个方法,insert 和 sum。 对于方法 insert,你将得到一对(字符串,整数)的键值对。字符串表示键,整数表示值。如果键已经存在,那么原来的键值对将被替代成新的键…

技术实践 | ICDE2021-大规模知识图谱预训练及电商应用

本文作者 | 张文(浙江大学)、黄志文(阿里巴巴)、叶橄强(浙江大学)、文博(浙江大学)、张伟(阿里巴巴),陈华钧*(浙江大学)接…

吊打BERT、GPT、DALL·E,跨模态榜单新霸主诞生!

文 | 赵一静最近,三个重量级榜单,视觉推理VCR、文本推理ANLI、视觉问答VQA同时被统一模态模型UNIMO霸榜。一个模型统一了视觉和文本两大主阵地,重塑了小编的认知和期望。如此全能,堪称是AI领域的外(一)星&a…

Spring Data REST 远程代码执行漏洞(CVE-2017-8046)分析与复现

前言 2009年9月Spring 3.0 RC1发布后,Spring就引入了SpEL(Spring Expression Language)。对于开发者而言,引入新的工具显然是令人兴奋的,但是对于运维人员,也许是噩耗的开始。类比Struts 2框架,…

体验paddle2.0rc版本API-Model--实现Mnist数据集模型训练

原文链接:体验paddle2.0rc版本API-Model–实现Mnist数据集模型训练:https://blog.csdn.net/weixin_44604887/article/details/109566281 尝试Mnist训练 导入需要的包导入Mnist数据集组网搭建网络查看模型参数查看模型网络(自动命名&#xff0…

LeetCode 648. 单词替换(Trie树)

1. 题目 在英语中,我们有一个叫做 词根(root)的概念,它可以跟着其他一些词组成另一个较长的单词——我们称这个词为 继承词(successor)。例如,词根an,跟随着单词 other(其他),可以形成新的单词 another(另一个)。 现…

99%算法工程师不知道的if/else优化技巧

文 | IT技术控知乎、灵剑知乎观点一(IT技术控)前期迭代懒得优化,来一个需求,加一个if,久而久之,就串成了一座金字塔。当代码已经复杂到难以维护的程度之后,只能狠下心重构优化。那,有…

人工智能在线特征系统中的生产调度

在上篇博客《人工智能在线特征系统中的数据存取技术》中,我们围绕着在线特征系统存储与读取这两方面话题,针对具体场景介绍了一些通用技术,此外特征系统还有另一个重要话题:特征生产调度。本文将以美团点评酒旅在线特征系统为原型…

LeetCode 211. 添加与搜索单词 - 数据结构设计(Trie树)

1. 题目 设计一个支持以下两种操作的数据结构: void addWord(word) bool search(word) search(word) 可以搜索文字或正则表达式字符串,字符串只包含字母 . 或 a-z 。 . 可以表示任何一个字母。 示例: addWord("bad") addWord("dad&quo…

研究综述 - TKDE2020 | 基于知识图谱的推荐系统

作者 | 郭庆宇转载公众号 | 读芯术TKDE 2020综述:基于知识图谱的推荐系统A Survey on Knowledge Graph-Based Recommender Systems中科院计算所、百度、港科大、中科大、微软原文Qingyu Guo, Fuzhen Zhuang, Chuan Qin, Hengshu Zhu, Xing Xie, Hui Xiong, Qing He…

谢撩,人在斯坦福打SoTA

文 | Jazon编 | 小戏小编注:不知道大家还记不记得卖萌屋之前人在斯坦福,刚上CS224n的Jazon小哥发来的关于斯坦福神课CS224n上半学期的报道?今天,Jazon又在斯坦福前线发来了关于他在CS224n下半学期的经历,那么现在让我们…

前端感官性能的衡量和优化实践

本文已发表在2017年8月《程序员》杂志。 我们为什么需要关注站点的性能,性能为什么如此重要呢?如今任何互联网产品首先重要的都是流量,流量最终会转换为商业价值。所以在互联网产品中,流量、转化率和留存率基本上是产品经理或者业…

LeetCode 421. 数组中两个数的最大异或值(Trie树)

1. 题目 给定一个非空数组&#xff0c;数组中元素为 a0, a1, a2, … , an-1&#xff0c;其中 0 ≤ ai < 231 。 找到 ai 和aj 最大的异或 (XOR) 运算结果&#xff0c;其中0 ≤ i, j < n 。 你能在O(n)的时间解决这个问题吗&#xff1f; 示例:输入: [3, 10, 5, 25, 2,…

论文浅尝 - EMNLP2020 | 基于知识库的多跳关系推理

笔记整理 | 谢辛&#xff0c;浙江大学硕士研究方向 | 自然语言处理&#xff0c;知识图谱Feng Y, Chen X, Lin B Y, et al. Scalable multi-hop relational reasoning for knowledge-aware question answering[J]. 2020.emnlp-main.99链接&#xff1a;https://arxiv.org/pdf/200…

智能工单处理,达观数据助力运营商实现业务流程智能化改造

智能工单处理&#xff0c;达观数据助力运营商实现业务流程智能化改造 https://m.sohu.com/a/466386308_383123 智能工单处理&#xff0c;达观数据助力运营商实现业务流程智能化改造 达观数据 05-14 14:04 订阅 运营商一线业务运营亟待智能化改造 近几年&#xff0c;运营商领域…

CV和NLP中的无监督预训练(生成式BERT/iGPT和判别式SimCLR/SimCSE)

文 | Smarter在之前的文章中讲过unsupervised learning主要分为生成式和判别式&#xff0c;那么unsupervised pretrain自然也分为生成式和判别式。目前CV和NLP都出现了非常强大的无监督预训练&#xff0c;并且在生成式和判别式都各有造诣&#xff0c;本文主要想归纳一下CV和NLP…