KAmalEngine is a software system that implements Knowledge Amalgamation algorithms. In knowledge amalgamation, we use trained deep network models available online to do a model-reusing task. Given multiple pretrained teacher networks, which specializes in different vision problems, the goal of knowledge amalgamation is to learn a lightweight student model capable of handling the comprehensive tasks, without human-labeled annotations. It is written in Python and powered by the Pytorch deep learning framework.
The goal of KamalEngine is to provide a high-quality, high-performance code framework for Knowledge Amalgamation research. For more extensive discussions about Knowledge Amalgamation, please see the AAAI 2019 paper. This respository focuses on designed a flexible code framework in order to support rapid implementation and evaluation of novel research. KamalEngine includes implementations of the following Knowledge Amalgamation algorithms:
- Amalgamating Knowledge towards Comprehensive Classification -- AAAI 2019
- Student Becoming the Master: Knowledge Amalgamation for Joint Scene Parsing, Depth Estimation, and More -- CVPR 2019
- Knowledge Amalgamation from Heterogeneous Networks by Common Feature Learning -- IJCAI 2019
- Amalgamating Filtered Knowledge: Learning Task-customized Student from Multi-task Teachers -- IJCAI 2019
- Customizing student networks from heterogeneous teachers via adaptive knowledge amalgamation (Comming soon) -- ICCV 2019
This repo provides some algorithms of KA.
Knowledge amalgamation for multiple teachers by feature projection.
Student Becoming the Master: Knowledge Amalgamation for Joint Scene Parsing, Depth Estimation, and More -- CVPR 2019
Extract common features from multiple teacher models.
Knowledge Amalgamation from Heterogeneous Networks by Common Feature Learning -- IJCAI 2019
Feature Space | Common Space |
---|---|
Layer-wise amalgamation
Amalgamating Knowledge towards Comprehensive Classification -- AAAI 2019
Customizing student networks from heterogeneous teachers via adaptive knowledge amalgamation (In Progress)
Build a new multi-task model by combining&pruning weight matrixs from distinct-task teachers.
Amalgamate knowledge from a pool of multi- or single-task teachers working on different tasks. The TargetNet after training, at a reasonably compact size, handles multiple customized tasks.
For more information, see docs
and examples
GongFan Fang - VainF
YiXin Ji - Ssssseason
YanLing Yin - ylyinzju
Homepage of VIPA Group, Zhejiang University, China
@inproceedings{shen2019amalgamating,
author={Shen, Chengchao and Wang, Xinchao and Song, Jie and Sun, Li and Song, Mingli},
title={Amalgamating Knowledge towards Comprehensive Classification},
booktitle={AAAI Conference on Artificial Intelligence (AAAI)},
pages={3068--3075},
year={2019}
}
@inproceedings{ye2019student,
title={Student Becoming the Master: Knowledge Amalgamation for Joint Scene Parsing, Depth Estimation, and More},
author={Ye, Jingwen and Ji, Yixin and Wang, Xinchao and Ou, Kairi and Tao, Dapeng and Song, Mingli},
booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
pages={2829--2838},
year={2019}
}
@inproceedings{luo2019knowledge,
title={Knowledge Amalgamation from Heterogeneous Networks by Common Feature Learning},
author={Luo, Sihui and Wang, Xinchao and Fang, Gongfan and Hu, Yao and Tao, Dapeng and Song, Mingli},
booktitle={Proceedings of the 28th International Joint Conference on Artificial Intelligence (IJCAI)},
year={2019},
}
@inproceedings{shen2019customizing,
author={Shen, Chengchao and Xue, Mengqi and Wang, Xinchao and Song, Jie and Sun, Li and Song, Mingli},
title={Customizing student networks from heterogeneous teachers via adaptive knowledge amalgamation},
booktitle={The IEEE International Conference on Computer Vision (ICCV)},
year={2019}
}
@inproceedings{Ye_Amalgamating_2019,
year={2019},
author={Ye, Jingwen and Wang, Xinchao and Ji, Yixin and Ou, Kairi and Song, Mingli},
title={Amalgamating Filtered Knowledge: Learning Task-customized Student from Multi-task Teachers}
booktitle={Proceedings of the 28th International Joint Conference on Artificial Intelligence (IJCAI)},
year={2019},
}