TAEML: Task-Adaptive Ensemble of Meta-Leaners for Few-shot Classification
- Minseop Park(AITRICS), Saehoon Kim (AITRICS), Jungtaek Kim (POSTECH), Yanbin Liu (UTS), Seungjin Choi(POSTECH)
Update (December 12, 2018) TensorFlow implementation of TAEML: Task-Adaptive Ensemble of Meta-Learners for Few-Shot Classification which tackles the limitation of current meta-learning framework for few-shot classification, that the target tasks and the training tasks are sampled from the same task distribution. Our model efficiently solves this problem by training the model to putt the ensemble weights on the pre-trained meta-learners asscosiated with each task distribution.
Most of meta-learning methods assume that a set of tasks in the meta-training phase is sampled from a single dataset. Thus, when a new task is drawn from another dataset, the performance of meta-learning methods is degraded. To alleviate this effect, we introduce a task-adaptive ensemble network that aggregates metalearners by putting more weights on the learners that are expected to perform well to the given task. Experiments demonstrate that our task-adaptive ensemble significantly outperforms previous meta-learners and their uniform averaging.
First, clone this repo in same directory.
$ git clone https://github.com/OpenXAIProject/TAEML.git
Then, you need to download some datasets for few-shot classification.
MNIST: http://yann.lecun.com/exdb/mnist/
CIFAR: https://www.cs.toronto.edu/~kriz/cifar.html
Caltech101 http://www.vision.caltech.edu/Image_Datasets/Caltech101/
Caltech256 http://www.vision.caltech.edu/Image_Datasets/Caltech256/
VOC2012 http://host.robots.ox.ac.uk/pascal/VOC/voc2012/
CUB-200 http://www.vision.caltech.edu/visipedia-data/CUB-200-2011/
Awa https://cvml.ist.ac.at/AwA2/
Preprocess the datasets to build a few-shot classification dataset
$ cd TAEML/datasets-serializer
$ python read_datasets.py
$ python pkl2dataset.py
Then you get the datasets on the directory.
- Pretrain all of the meta-learners
$ cd TAEML/ProtoNet
$ ./script/run_baselearners.sh
- train TAEML
$ ./script/run_taeml.sh
- get results
$ python get_results.py
A machine learning and statistical inference framework for explainable artificial intelligence(의사결정 이유를 설명할 수 있는 인간 수준의 학습·추론 프레임워크 개발)
Ministry of Science and ICT/XAIC
UNIST, Korean Univ., Yonsei Univ., KAIST., AITRICS