作为Java程序员,你应该知道的RocketMQ工作原理

作者&编辑 | 言有三

来源 | 有三AI(ID:yanyousan_ai)

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

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] Tensorflowhttps://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科技大本营转载文章,转载请联系原作者)

所有CSDN 用户都可参与投票活动

加入福利群,每周还有精选学习资料、技术图书等福利发送

上一篇

为什么互联网企业很少使用Oracle数据库

下一篇

手臂赘肉令人烦恼,想和蝴蝶袖说再见?这组手臂塑形动作练起来

你也可能喜欢

  • 暂无相关文章!

发表评论

您的电子邮件地址不会被公开。 必填项已用 * 标注

提示:点击验证后方可评论!

插入图片
返回顶部