All Projects β†’ yaoyao-liu β†’ Meta Transfer Learning

yaoyao-liu / Meta Transfer Learning

Licence: mit
TensorFlow and PyTorch implementation of "Meta-Transfer Learning for Few-Shot Learning" (CVPR2019)

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Meta Transfer Learning

pykale
Knowledge-Aware machine LEarning (KALE): accessible machine learning from multiple sources for interdisciplinary research, part of the πŸ”₯PyTorch ecosystem
Stars: ✭ 381 (-13.21%)
Mutual labels:  transfer-learning, meta-learning
Transferlearning
Transfer learning / domain adaptation / domain generalization / multi-task learning etc. Papers, codes, datasets, applications, tutorials.-迁移学习
Stars: ✭ 8,481 (+1831.89%)
Mutual labels:  transfer-learning, meta-learning
meta-learning-progress
Repository to track the progress in Meta-Learning (MtL), including the datasets and the current state-of-the-art for the most common MtL problems.
Stars: ✭ 26 (-94.08%)
Mutual labels:  transfer-learning, meta-learning
Multitask Learning
Awesome Multitask Learning Resources
Stars: ✭ 361 (-17.77%)
Mutual labels:  meta-learning, transfer-learning
MetaHeac
This is an official implementation for "Learning to Expand Audience via Meta Hybrid Experts and Critics for Recommendation and Advertising"(KDD2021).
Stars: ✭ 36 (-91.8%)
Mutual labels:  transfer-learning, meta-learning
Transfer Nlp
NLP library designed for reproducible experimentation management
Stars: ✭ 287 (-34.62%)
Mutual labels:  transfer-learning
Fast Pytorch
Pytorch Tutorial, Pytorch with Google Colab, Pytorch Implementations: CNN, RNN, DCGAN, Transfer Learning, Chatbot, Pytorch Sample Codes
Stars: ✭ 346 (-21.18%)
Mutual labels:  transfer-learning
Bigdata18
Transfer learning for time series classification
Stars: ✭ 284 (-35.31%)
Mutual labels:  transfer-learning
Hub
A library for transfer learning by reusing parts of TensorFlow models.
Stars: ✭ 3,007 (+584.97%)
Mutual labels:  transfer-learning
Metaoptnet
Meta-Learning with Differentiable Convex Optimization (CVPR 2019 Oral)
Stars: ✭ 412 (-6.15%)
Mutual labels:  meta-learning
Flow Forecast
Deep learning PyTorch library for time series forecasting, classification, and anomaly detection (originally for flood forecasting).
Stars: ✭ 368 (-16.17%)
Mutual labels:  transfer-learning
Rexnet
Official Pytorch implementation of ReXNet (Rank eXpansion Network) with pretrained models
Stars: ✭ 319 (-27.33%)
Mutual labels:  transfer-learning
Autogluon
AutoGluon: AutoML for Text, Image, and Tabular Data
Stars: ✭ 3,920 (+792.94%)
Mutual labels:  transfer-learning
Amazon Forest Computer Vision
Amazon Forest Computer Vision: Satellite Image tagging code using PyTorch / Keras with lots of PyTorch tricks
Stars: ✭ 346 (-21.18%)
Mutual labels:  transfer-learning
He4o
ε’ŒοΌˆhe for objective-cοΌ‰ β€”β€” β€œδΏ‘ζ―η†΅ε‡ζœΊη³»η»Ÿβ€
Stars: ✭ 284 (-35.31%)
Mutual labels:  transfer-learning
Trainyourownyolo
Train a state-of-the-art yolov3 object detector from scratch!
Stars: ✭ 399 (-9.11%)
Mutual labels:  transfer-learning
L2c
Learning to Cluster. A deep clustering strategy.
Stars: ✭ 262 (-40.32%)
Mutual labels:  transfer-learning
Artificio
Deep Learning Computer Vision Algorithms for Real-World Use
Stars: ✭ 326 (-25.74%)
Mutual labels:  transfer-learning
Assembled Cnn
Tensorflow implementation of "Compounding the Performance Improvements of Assembled Techniques in a Convolutional Neural Network"
Stars: ✭ 319 (-27.33%)
Mutual labels:  transfer-learning
Xvision
Chest Xray image analysis using Deep learning !
Stars: ✭ 304 (-30.75%)
Mutual labels:  transfer-learning

Meta-Transfer Learning for Few-Shot Learning

LICENSE Python TensorFlow PyTorch CodeFactor Grade

This repository contains the TensorFlow and PyTorch implementations for CVPR 2019 Paper "Meta-Transfer Learning for Few-Shot Learning" by Qianru Sun*, Yaoyao Liu*, Tat-Seng Chua and Bernt Schiele (*=equal contribution).

If you have any questions on this repository or the related paper, feel free to create an issue or send me an email.

Check the few-shot classification leaderboard.

Summary

Introduction

Meta-learning has been proposed as a framework to address the challenging few-shot learning setting. The key idea is to leverage a large number of similar few-shot tasks in order to learn how to adapt a base-learner to a new task for which only a few labeled samples are available. As deep neural networks (DNNs) tend to overfit using a few samples only, meta-learning typically uses shallow neural networks (SNNs), thus limiting its effectiveness. In this paper we propose a novel few-shot learning method called meta-transfer learning (MTL) which learns to adapt a deep NN for few shot learning tasks. Specifically, meta refers to training multiple tasks, and transfer is achieved by learning scaling and shifting functions of DNN weights for each task. We conduct experiments using (5-class, 1-shot) and (5-class, 5-shot) recognition tasks on two challenging few-shot learning benchmarks: π‘šπ‘–π‘›π‘–ImageNet and Fewshot-CIFAR100.

Figure: Meta-Transfer Learning. (a) Parameter-level fine-tuning (FT) is a conventional meta-training operation, e.g. in MAML. Its update works for all neuron parameters, π‘Š and 𝑏. (b) Our neuron-level scaling and shifting (SS) operations in meta-transfer learning. They reduce the number of learning parameters and avoid overfitting problems. In addition, they keep large-scale trained parameters (in yellow) frozen, preventing β€œcatastrophic forgetting”.

Getting Started

Please see README.md files in the corresponding folders:

Datasets

Directly download processed images: [Download Page]

π’Žπ’Šπ’π’ŠImageNet

The π‘šπ‘–π‘›π‘–ImageNet dataset was proposed by Vinyals et al. for few-shot learning evaluation. Its complexity is high due to the use of ImageNet images but requires fewer resources and infrastructure than running on the full ImageNet dataset. In total, there are 100 classes with 600 samples of 84Γ—84 color images per class. These 100 classes are divided into 64, 16, and 20 classes respectively for sampling tasks for meta-training, meta-validation, and meta-test. To generate this dataset from ImageNet, you may use the repository π‘šπ‘–π‘›π‘–ImageNet tools.

Fewshot-CIFAR100

Fewshot-CIFAR100 (FC100) is based on the popular object classification dataset CIFAR100. The splits were proposed by TADAM. It offers a more challenging scenario with lower image resolution and more challenging meta-training/test splits that are separated according to object super-classes. It contains 100 object classes and each class has 600 samples of 32 Γ— 32 color images. The 100 classes belong to 20 super-classes. Meta-training data are from 60 classes belonging to 12 super-classes. Meta-validation and meta-test sets contain 20 classes belonging to 4 super-classes, respectively.

π’•π’Šπ’†π’“π’†π’…ImageNet

The π‘‘π‘–π‘’π‘Ÿπ‘’π‘‘ImageNet dataset is a larger subset of ILSVRC-12 with 608 classes (779,165 images) grouped into 34 higher-level nodes in the ImageNet human-curated hierarchy. To generate this dataset from ImageNet, you may use the repository π‘‘π‘–π‘’π‘Ÿπ‘’π‘‘ImageNet dataset: π‘‘π‘–π‘’π‘Ÿπ‘’π‘‘ImageNet tools.

Performance

(%) π‘šπ‘–π‘›π‘– 1-shot π‘šπ‘–π‘›π‘– 5-shot FC100 1-shot FC100 5-shot
MTL Paper 60.2 Β± 1.8 74.3 Β± 0.9 43.6 Β± 1.8 55.4 Β± 0.9
TensorFlow 60.8 Β± 1.8 74.3 Β± 0.9 44.3 Β± 1.8 56.8 Β± 1.0
  • The performance for the PyTorch version is under checking.

Citation

Please cite our paper if it is helpful to your work:

@inproceedings{sun2019mtl,
author = {Sun, Qianru and Liu, Yaoyao and Chua, Tat{-}Seng and Schiele, Bernt},
title = {Meta-Transfer Learning for Few-Shot Learning},
booktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2019}
}

Acknowledgements

Our implementations use the source code from the following repositories and users:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].