【杂谈】当前知识蒸馏与迁移学习有哪些可用的开源工具?

知识蒸馏与迁移学习不仅仅属于模型优化的重要技术之一,也是提升模型跨领域泛化能力的重要技术,那么当前有哪些可用的知识蒸馏和迁移学习开源工具呢?

作者&编辑 | 言有三

1 PaddleSlim

PaddleSlim是百度提出的模型优化工具,包含在PaddlePaddle框架中,支持若干知识蒸馏算法,可以在teacher网络和student网络任意层添加组合loss,包括FSP loss,L2 loss,softmax with cross-entropy loss等。

https://github.com/PaddlePaddle/models/tree/develop/PaddleSlim

2 Distiller

Distiller是Intel基于Pytorch开源的模型优化工具,支持Hinton等人提出的Knowledge distillation算法。

https://github.com/NervanaSystems/distiller

3 MxNet

MxNet中集成了Bayesian Dark Knowledge方法的复现,在推荐系统中有一定作用。

https://github.com/apache/incubator-mxnet/tree/master/example/bayesian-methods

4 非官方Pytorch项目

Knowledge-Distillation-Zoo是GitHub用户AberHu蒸馏的知识蒸馏项目,支持fitnet等多个模型。

https://github.com/AberHu/Knowledge-Distillation-Zoo

deep-transfer-learning是GitHub用户easezyc整理的迁移学习项目。

https://github.com/easezyc/deep-transfer-learning

5 一些经典模型实现

Hinton等人在2015年提出了经典的知识蒸馏框架Knowledge distillation,下面是各大框架的复现。

[1] Keras

https://github.com/TropComplique/knowledge-distillation-keras

[2] Tensorflow
https://github.com/DushyantaDhyani/kdtf

[3] Caffe

https://github.com/wentianli/knowledge_distillation_caffe

更多的一些经典算法如下,留待读者自己学习,咱们就不沉迷于收藏了。

[1] Relational Knowledge Distillation算法

https://github.com/lenscloth/RKD

[2] Teacher-Assistant-Knowledge-Distillation算法

https://github.com/imirzadeh/Teacher-Assistant-Knowledge-Distillation

[3] Contrastive Representation Distillation算法

https://github.com/HobbitLong/RepDistiller

[4] Zero-shot_Knowledge_Distillation算法

https://github.com/sseung0703/Zero-shot_Knowledge_Distillation

[5] net2net算法

https://github.com/soumith/net2net.torch

[6] fitnet算法

https://github.com/adri-romsor/FitNets

6 开源综述资料

接下来再给大家介绍两个综述性质的开源资料。

第一个是知识蒸馏综述项目,包括相关的论文合集,也包括一些开源算法的实现。

https://github.com/dkozlov/awesome-knowledge-distillation

第二个是迁移学习综述项目,包括相关的论文合集,开源代码。

https://github.com/jindongwang/transferlearning

其他类似的还有https://github.com/artix41/awesome-transfer-learning,https://github.com/AI-ON/Multitask-and-Transfer-Learning,资料收集爱好者不妨关注。

7 更多理论学习

如果想要系统性学习模型优化相关的理论,可以移步有三AI知识星球 -> 网络结构1000变 -> 模型压缩板块 -> 模型剪枝,量化与蒸馏板块,知识蒸馏与迁移学习的一些解读案例如下:

总结

知识蒸馏与迁移学习相比于大量数据进行监督学习的方式,更符合人类学习的特点,在工业界有着实际落地需求,学术界有很重要的研究意义。

知识星球推荐

有三AI知识星球由言有三维护,内设AI知识汇总,AI书籍,网络结构,看图猜技术,数据集,项目开发,Github推荐,AI1000问八大学习板块。

【杂谈】为什么邀请大家加入硬核知识星球有三AI

转载文章请后台联系

侵权必究

(0)

相关推荐

  • 实测U^2-net显著目标检测算法

    今天体验了下U^2 -Net,在2020年的时候刷爆了 reddit 和 twitter,号称是当年最强的静态背景分割算法.u-2-net 的结构长什么样? 长得像U型,原来是基于语义分割网络u-ne ...

  • EfficientDet 目标检测开源实现

    EfficientDet为谷歌大脑新提出的目标检测算法(EfficientDet: Scalable and Efficient Object Detection)EfficientDet:COCO ...

  • Github Star 11.5K 项目再发版:AAAI 2021 顶会论文开源,80 多语言模型...

    一.导读 OCR方向的工程师,一定需要知道这个OCR开源项目:PaddleOCR 短短半年时间,累计Star数量已超过11.5K, 频频登上Github Trending和Paperswithcode ...

  • 学习|知识图谱学习路线

    学习|知识图谱学习路线

  • 【杂谈】当前模型量化有哪些可用的开源工具?

    模型量化属于模型优化中的重要技术之一,是非常有效地提升模型推理速度的技术方案,那么当前有哪些可用的模型量化工具呢? 作者&编辑 | 言有三 1 Tensorflow Lite TensorFl ...

  • 【杂谈】当前模型剪枝有哪些可用的开源工具?

    模型剪枝属于模型优化中的重要技术之一,经过了研究人员多年的研究,工业界也开始有一些实践,那么当前有哪些可用的模型剪枝工具呢? 作者&编辑 | 言有三 1 Tensorflow TensorFl ...

  • 深度学习中的知识蒸馏技术(下)

    本文概览: 写在前面: 这是一篇介绍知识蒸馏在推荐系统中应用的文章,关于知识蒸馏理论基础的详细介绍,请看上篇文章: 1. 背景介绍 1.1 简述推荐系统架构 如果从传统角度来看实际的工业推荐系统,粗略 ...

  • 深度学习中的知识蒸馏技术

    本文概览: 1. 知识蒸馏介绍 1.1 什么是知识蒸馏? 在化学中,蒸馏是一种有效的分离不同沸点组分的方法,大致步骤是先升温使低沸点的组分汽化,然后降温冷凝,达到分离出目标物质的目的.化学蒸馏条件:( ...

  • 深度学习中的知识蒸馏技术(上)

    本文概览: 1. 知识蒸馏介绍 1.1 什么是知识蒸馏? 在化学中,蒸馏是一种有效的分离不同沸点组分的方法,大致步骤是先升温使低沸点的组分汽化,然后降温冷凝,达到分离出目标物质的目的.化学蒸馏条件:( ...

  • 脑机接口中的流形嵌入知识迁移学习

    更多技术干货第一时间送达 关于迁移学习应用在脑机接口领域,前面我们分享过伍冬睿教授团队的<华中科技大学伍冬睿教授:非侵入式脑机接口中的迁移学习综述(2016-2020)> 迁移学习利用一个 ...

  • 深度学习三大谜团:集成、知识蒸馏和自蒸馏

    集成(Ensemble,又称模型平均)是一种'古老'而强大的方法.只需要对同一个训练数据集上,几个独立训练的神经网络的输出,简单地求平均,便可以获得比原有模型更高的性能.甚至只要这些模型初始化条件不同 ...

  • 深度学习中的3个秘密:集成,知识蒸馏和蒸馏

    仅做学术分享,如有侵权,联系删除 转载于 :作者:Zeyuan Allen-Zhu 编译:ronghuaiyang 导读 训练好的模型,用自己蒸馏一下,就能提高性能,是不是很神奇,这里面的原理到底是什 ...

  • 深度学习精度提升 3 个小妙招:模型集成、知识蒸馏、自蒸馏

    转载: AI公园 作者:Zeyuan Allen-Zhu 编译:ronghuaiyang 导读 训练好的模型,用自己蒸馏一下,就能提高性能,是不是很神奇,这里面的原理到底是什么呢,这要从模型集成开始说 ...