知识蒸馏与迁移学习不仅仅属于模型优化的重要技术之一,也是提升模型跨领域泛化能力的重要技术,那么当前有哪些可用的知识蒸馏和迁移学习开源工具呢?
作者&编辑 | 言有三
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
转载文章请后台联系
侵权必究
往期精选
【AutoML】如何选择最合适的数据增强操作
【AutoML】激活函数如何进行自动学习和配置
【AutoML】归一化(Normalization)方法如何进行自动学习和配置
【AutoML】优化方法可以进行自动搜索学习吗?
【AutoML】损失函数也可以进行自动搜索学习吗?
【AutoML】如何使用强化学习进行模型剪枝?
【AutoML】强化学习如何用于模型量化?
【知识星球】分组卷积最新进展,全自动学习的分组有哪些经典模型?
【知识星球】卷积核和感受野可动态分配的分组卷积
【知识星球】有三AI 10月新主题,千奇百怪GAN上线!
【知识星球】剪枝量化初完结,蒸馏学习又上线
【知识星球】有没有网络模型是动态变化的,每次用的时候都不一样
【杂谈】当前模型量化有哪些可用的开源工具?
【杂谈】有三AI知识星球最近都GAN了哪些内容?
【杂谈】当前模型剪枝有哪些可用的开源工具?