【论文阅读】Self-Knowledge Distillation with Progressive Refinement of Targets
系列文章目录
文章目录
- 系列文章目录
- 【阅读笔记】【知识蒸馏】Self-Knowledge Distillation with Progressive Refinement of Targets
- Abstract
- Introduction
- 相关工作
- 自知识蒸馏(Self-Knowledge Distillation)
- 3.1 知识蒸馏作为软目标
- 3.2 从上一次预测中蒸馏知识
- 理论支持
- 实现
- 4 实验结果
- 4.1 CIFAR-100 分类
- 实验设置
- 实验Metrics
- 实验结果
- 4.2 ImageNet 分类任务
- 实验设置
- 结果
- 4.3 目标检测
- 4.4 机器翻译
- 5 结论
【阅读笔记】【知识蒸馏】Self-Knowledge Distillation with Progressive Refinement of Targets
阅读笔记,非全文翻译
问题
- KL散度
Abstract
- 提出了一个简单有效的正则方法:Progressive self-knowledge distillation (PS-KD),在训练过程中蒸馏自己的知识。
- 一个模型既是教师,也是学生,即自己教自己。
- 训练目标是由ground-truth和模型自己之前预测的结果组合而成的
- 除了提升accuracy准确率,PS-KD还对calibration等指标有帮助
- 开源代码
Introduction
- 标签平滑LS的问题:有无更有效的方法来平滑标签,以获得更informative的标签
- 作者提出PS-KD,从模型自身中蒸馏出知识来软化标签,再训练自己
- 即使教师不如学生,学生也可以被加强
- PS-KD可以被用在任意监督学习上,只要他的方法是使用groundtruth作为硬标签
相关工作
- KD是用更大更好的网络产生软目标来训练学生网络
- 有人尝试用学生自己训练自己,称为self-knowledge distillation
- 有人尝试以减小相似图片特征的距离来训练网络
- 有人提出class-wise self KD,关注同类别的样本,最小化两个样本在训练过程中的KL散度,该方法过拟合严重
- 有人提出再生神经网络BANs
- 有人提出TF-KD方法,用预训练的学生作为一个老师
- 有人把DNN划分成几个块,然后分别加上辅助的分类器
- 有人在特定epoch做一个snapshot作为老师
- 本文的PS-KD:①不需要pretrained,如BANs和TFKD;②可以简单应用到监督学习上;③即使学生被一个poor的教师知道,KD也能起作用,使学生表现(更?)好
自知识蒸馏(Self-Knowledge Distillation)
3.1 知识蒸馏作为软目标
3.2 从上一次预测中蒸馏知识
- 加强泛化能力
- 使用t-1代的模型作为老师,因为它能提供最有价值的信息
- α控制了我们有多相信从老师那里获取的知识
- PS-KD(本文方法)中,老师的可信赖度是在变化的,因此alpha要变化,逐渐增加
- 最终的Loss:
理论支持
略
实现
- 用上一轮的模型,而不是保存上一轮的预测结果(太大了)
4 实验结果
4.1 CIFAR-100 分类
实验设置
实验Metrics
- top1、top5作为准确率
- NLL,ECE,AURC(越低越好)作为confidence的度量
实验结果
4.2 ImageNet 分类任务
尽管t-1代的知识可能过时了(因为t代会使用很多数据再学习一遍),但还是观察到了PS-KD对结果的提升。
实验设置
- ResNet深度152,其他略
结果
- PS-KD不管是分类对了还是错了,在看起来相似的类别上,都有更高的预测概率
- baseline过度自信,分类错了
4.3 目标检测
- Dataset
- Baseline:Faster R-CNN,VGG-16换成ResNet-152
- Methods:ResNet-152,with LS,PSKD,CSKD,TFKD,PSKD+CutMix
- ResNet-152 with PSKD显著提升性能。
- PSKD with CutMix效果更好。
- 以上结果,只是替换了检测算法中的backbone network (VGG16–>Resnet152),PSKD使backbone network更强壮
4.4 机器翻译
- 翻译实验(【疑问】分类在token级别,而不是input级别)
- Baseline:Transformer
- PSKD得到了最好的BLEU分数
5 结论
- 提供了理论证明
【论文阅读】Self-Knowledge Distillation with Progressive Refinement of Targets相关推荐
- 论文阅读:Knowledge Distillation: A Survey 知识蒸馏综述(2021)
论文阅读:Knowledge Distillation: A Survey 知识蒸馏综述2021 目录 摘要 Introduction Background 知识 基于响应的知识 基于特征的知识 基于 ...
- 论文阅读-TNNLS2021-Elastic Knowledge Distillation by Learning from Recollection
Abstract 训练过程中历史记忆中的有效信息,来帮助模型学习:recollection构建和使用:不同capacity和不同训练阶段来建立不同的recollection:similarity-ba ...
- [论文解读]Explaining Knowledge Distillation by Quantifying the Knowledge
Explaining Knowledge Distillation by Quantifying the Knowledge 简介 论文标题 Explaining Knowledge Distilla ...
- 论文翻译: Relational Knowledge Distillation
Relational Knowledge Distillation 这是 CVPR 2019年的一篇文章的译文. 文章链接: Relational Knowledge Distillation 附上G ...
- 论文阅读《Knowledge Graph Refinement: A Survey of Approaches and Evaluation Methods》
论文链接 一.谷歌的知识图谱 谷歌的知识图谱是在2012年向公众推出的,也是在这个时候,"知识图谱"这个术语被创造出来. 谷歌本身对于知识图谱的构建是相当保密的:只有少数外部来源讨 ...
- 论文阅读《Knowledge Collaborative Fine-tuning for Low-resource Knowledge GraphCompletion》
论文链接 基于知识协同微调的低资源知识图谱补全方法 2022年3月发表于软件学报 是浙大prompt系列的一个延续 本文之前的工作: AdaPrompt: Adaptive Prompt-based ...
- 【论文阅读】Knowledge Enhanced GAN for IoT Traffic Generation
CCF A 用于物联网流量生成的知识图谱增强 GAN Shuodi Hui, Huandong Wang, Zhenhua Wang, Xinghao Yang, Zhongjin Liu, Depe ...
- 论文阅读 Enhancing knowledge graph embedding with relational constraints
Enhancing knowledge graph embedding with relational constraints 利用关系约束增强知识图嵌入 发表于:Neurocomputing 429 ...
- 《Progressive Growing of GANs for Improved Quality, Stability, and Variation》-论文阅读笔记
<Progressive Growing of GANs for Improved Quality, Stability, and Variation>-论文阅读笔记 文章目录 <P ...
- 【没有哪个港口是永远的停留~ 论文简读】Relational Knowledge Distillation
论文:Relational Knowledge Distillation [1]关系知识蒸馏,中的关系知识是啥? 如图1,很明显就是字面意思,传统的知识蒸馏是让学生输出与教师模型一致,而本论文提出,输 ...
最新文章
- PHP 实现Office word 关键词添加背景色
- python入门买什么书-关于 Python 的经典入门书籍有哪些?
- 『中级篇』docker之虚拟机创建vagrant技巧(番外篇)(81)
- promethues集成nomad
- Hejr 6-8 - aamsaafanqs Blog - Blogster
- CSS3 -webkit-transition(属性渐变)
- 使用Java流和In-JVM-Memory的超低延迟查询
- layui 表单动态添加、删除input框
- 输入这是我的第一个python程序_「vs2017」vs2017 开始自己的第一个Python程序 - seo实验室...
- (一二四)给类对象赋值、以及类对象的返回值
- 如何使用scss/sass
- ai python 面试_面试分享系列 | 17道Python面试题,让你在求职中无往不利
- Python3 发票导出XML转Excel
- Linux查看服务器自动关机,Linux系统自动关机的命令详解
- 02怎么学数据结构?
- ppt制作弹跳的小球动画效果_你不能错过的PPT制作酷炫弹跳的小球教程
- 板卡(单片机)与电脑PING不通的原因及解决方法
- 医学影像管理系统源码(PACS) PACS源码 PACS系统源码
- c++编程规范和范例
- golang 实现 pdf 转高清晰度 jpeg