/KamalEngine

Knowledge Amalgamation Engine

Primary LanguagePython

icon

KAmalEngine

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.

Table of contents

Introduction

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:

Algorithms

This repo provides some algorithms of KA.

Student Becoming the Master

Knowledge amalgamation for multiple teachers by feature projection.
Student Becoming the Master: Knowledge Amalgamation for Joint Scene Parsing, Depth Estimation, and More -- CVPR 2019
sbm-demo

Common Feature Learning

Extract common features from multiple teacher models.
Knowledge Amalgamation from Heterogeneous Networks by Common Feature Learning -- IJCAI 2019

Feature Space Common Space
cfl-feature-space cfl-feature-space

Amalgamating Knowledge towards Comprehensive Classification

Layer-wise amalgamation
Amalgamating Knowledge towards Comprehensive Classification -- AAAI 2019
layerwise-ka-framework

Customizing student networks from heterogeneous teachers via adaptive knowledge amalgamation (In Progress)

adaptive-ka-framework

Recombination

Build a new multi-task model by combining&pruning weight matrixs from distinct-task teachers. recombination-framework

Amalgamating Filtered Knowledge

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.

icon

Help

For more information, see docs and examples

Authors

GongFan Fang - VainF
YiXin Ji - Ssssseason
YanLing Yin - ylyinzju

Homepage of VIPA Group, Zhejiang University, China

icon

Citation

@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},
}