【杂谈】当前知识蒸馏与迁移学习有哪些可用的开源工具?
知識蒸餾與遷移學習不僅僅屬于模型優化的重要技術之一,也是提升模型跨領域泛化能力的重要技術,那么當前有哪些可用的知識蒸餾和遷移學習開源工具呢?
作者&編輯 | 言有三
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了哪些內容?
【雜談】當前模型剪枝有哪些可用的開源工具?
總結
以上是生活随笔為你收集整理的【杂谈】当前知识蒸馏与迁移学习有哪些可用的开源工具?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【年终总结】2019年有三AI NLP做
- 下一篇: 【NLP】如何利用BERT来做基于阅读理