Awesome Transfer Learning ------------------------- A list of awesome papers and cool resources on transfer learning, domain adaptation and domain-to-domain translation in general! As you will notice, this list is currently mostly focused on domain adaptation (DA) and domain-to-domain translation, but don't hesitate to suggest resources in other subfields of transfer learning. I accept pull requests. Table of Contents ----------------- - `Tutorial and Blogs <#tutorials-and-blogs>`__ - `Papers <#papers>`__ - `Surveys <#surveys>`__ - `Deep Transfer Learning <#deep-transfer-learning>`__ - `Fine-tuning approach <#fine-tuning-approach>`__ - `Feature extraction (embedding) approach <#feature-extraction-embedding-approach>`__ - `Policy transfer for RL <#policy-transfer-for-rl>`__ - `Few-shot transfer learning <#few-shot-transfer-learning>`__ - `Meta transfer learning <#meta-transfer-learning>`__ - `Applications <#applications>`__ - `Unsupervised Domain Adaptation <#unsupervised-domain-adaptation>`__ - `Theory <#theory>`__ - `Adversarial methods <#adversarial-methods>`__ - `Optimal Transport <#optimal-transport>`__ - `Embedding methods <#embedding-methods>`__ - `Kernel methods <#kernel-methods>`__ - `Autoencoder approach <#autoencoder-approach>`__ - `Subspace learning <#subspace-learning>`__ - `Self-ensembling methods <#self-ensembling-methods>`__ - `Other <#other>`__ - `Semi-supervised Domain Adaptation <#semi-supervised-domain-adaptation>`__ - `General methods <#general-methods>`__ - `Subspace learning <#subspace-learning>`__ - `Copulas methods <#copulas-methods>`__ - `Few-shot Supervised Domain Adaptation <#few-shot-supervised-domain-adaptation>`__ - `Adversarial methods <#adversarial-methods>`__ - `Embedding methods <#embedding-methods>`__ - `Applied Domain Adaptation <#applied-domain-adaptation>`__ - `Physics <#physics>`__ - `Datasets <#datasets>`__ - `Image-to-image <#image-to-image>`__ - `Text-to-text <#text-to-text>`__ - `Results <#results>`__ - `Digits transfer `__ - `Challenges <#challenges>`__ - `Libraries <#libraries>`__ Tutorials and Blogs ------------------- - `Transfer Learning − Machine Learning's Next Frontier `__ - `A Little Review of Domain Adaptation in 2017 `__ Papers ------ Papers are ordered by theme and inside each theme by publication date (submission date for arXiv papers). If the network or algorithm is given a name in a paper, this one is written in bold before the paper's name. Surveys ~~~~~~~ - `A Survey on Transfer Learning `__ (2009) - `Transfer Learning for Reinforcement Learning Domains: A Survey `__ (2009) - `A Survey of transfer learning `__ (2016) - `Domain Adaptation for Visual Applications: A Comprehensive Survey `__ (2017) - `Deep Visual Domain Adaptation: A Survey `__ (2018) Deep Transfer Learning ~~~~~~~~~~~~~~~~~~~~~~ Transfer of deep learning models. Fine-tuning approach ^^^^^^^^^^^^^^^^^^^^ - `Do Better ImageNet Models Transfer Better? `__ (2018) Feature extraction (embedding) approach ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - `CNN Features off-the-shelf: an Astounding Baseline for Recognition `__ (2014) - `Taskonomy: Disentangling Task Transfer Learning `__ (2018) Multi-task learning ^^^^^^^^^^^^^^^^^^^ - `Learning without forgetting `__ (2016) Policy transfer for RL ^^^^^^^^^^^^^^^^^^^^^^ - `Reinforcement Learning to Train Ms. Pac-Man Using Higher-order Action-relative Inputs `__ (2013) Few-shot transfer learning ^^^^^^^^^^^^^^^^^^^^^^^^^^ - `Zero-Shot Transfer Learning for Event Extraction `__ (2017) - `Learning a Deep Embedding Model for Zero-Shot Learning `__ (2017) Meta transfer learning ^^^^^^^^^^^^^^^^^^^^^^ - `Transfer Learning via Learning to Transfer `__ (2018) Applications ^^^^^^^^^^^^ Medical imaging: '''''''''''''''' - `Deep Convolutional Neural Networks forComputer-Aided Detection: CNN Architectures, Dataset Characteristics and Transfer Learning `__ (2016) - `Convolutional Neural Networks for Medical Image Analysis: Full Training or Fine Tuning? `__ (2017) - `Comparison of deep transfer learning strategies for digital pathology `__ (2018) Robotics '''''''' - `A Deep Convolutional Neural Network for Location Recognition and Geometry Based Information `__ (2018) Unsupervised Domain Adaptation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Transfer between a source and a target domain. In unsupervised domain adaptation, only the source domain can have labels. Theory ^^^^^^ General ''''''' - `A theory of learning from different domains `__ (2010) Multi-source '''''''''''' - `Domain Adaptation with Multiple Sources `__ (2008) - `Algorithms and Theory for Multiple-Source Adaptation `__ (2018) Adversarial methods ^^^^^^^^^^^^^^^^^^^ Learning a latent space ''''''''''''''''''''''' - **DANN**: `Domain-Adversarial Training of Neural Networks `__ (2015) - **JAN**: `Deep Transfer Learning with Joint Adaptation Networks `__ (2016) - **CoGAN**: `Coupled Generative Adversarial Networks `__ (2016) - **DRCN**: `Deep Reconstruction-Classification Networks for Unsupervised Domain Adaptation `__ (2016) - **DSN**: `Domain Separation Networks `__ (2016) - **ADDA**: `Adaptative Discriminative Domain Adaptation `__ (2017) - **GenToAdapt**: `Generate To Adapt: Aligning Domains using Generative Adversarial Networks `__ (2017) - **WDGRL**: `Wasserstein Distance Guided Representation Learning for Domain Adaptation `__ (2017) - **CyCADA**: `CyCADA: Cycle-Consistent Adversarial Domain Adaptation `__ (2017) - **DIRT-T**: `A DIRT-T Approach to Unsupervised Domain Adaptation `__ (2017) - **DupGAN**: `Duplex Generative Adversarial Network for Unsupervised Domain Adaptation `__ (2018) - **MSTN**: `Learning Semantic Representations for Unsupervised Domain Adaptation `__ (2018) Image-to-Image translation '''''''''''''''''''''''''' - **DIAT**: `Deep Identity-aware Transfer of Facial Attributes `__ (2016) - **Pix2pix**: `Image-to-Image Translation with Conditional Adversarial Networks `__ (2016) - **DTN**: `Unsupervised Cross-domain Image Generation `__ (2016) - **SimGAN**: `Learning from Simulated and Unsupervised Images through Adversarial Training (2016) `__ (2016) - **PixelDA**: `Unsupervised Pixel–Level Domain Adaptation with Generative Adversarial Networks `__ (2016) - **UNIT**: `Unsupervised Image-to-Image Translation Networks `__ (2017) - **CycleGAN**: `Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks `__ (2017) - **DiscoGAN**: `Learning to Discover Cross-Domain Relations with Generative Adversarial Networks `__ (2017) - **DualGAN**: `DualGAN: Unsupervised Dual Learning for Image-to-Image Translation `__ (2017) - **SBADA-GAN**: `From source to target and back: symmetric bi-directional adaptive GAN `__ (2017) - **DistanceGAN**: `One-Sided Unsupervised Domain Mapping `__ (2017) - **pix2pixHD**: `High-Resolution Image Synthesis and Semantic Manipulation with Conditional GANs `__ (2018) - **I2I**: `Image to Image Translation for Domain Adaptation `__ (2017) - **MUNIT**: `Multimodal Unsupervised Image-to-Image Translation `__ (2018) Multi-source adaptation ''''''''''''''''''''''' - **StarGAN**: `StarGAN: Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation `__ (2017) - **XGAN**: `XGAN: Unsupervised Image-to-Image Translation for Many-to-Many Mappings `__ (2017) - **BicycleGAN** : `Toward Multimodal Image-to-Image Translation `__ (2017) - `Label Efficient Learning of Transferable Representations across Domains and Tasks `__ (2017) - **ComboGAN**: `ComboGAN: Unrestrained Scalability for Image Domain Translation `__ (2017) - **AugCGAN**: `Augmented CycleGAN: Learning Many-to-Many Mappings from Unpaired Data `__ (2018) - **RadialGAN**: `RadialGAN: Leveraging multiple datasets to improve target-specific predictive models using Generative Adversarial Networks `__ (2018) - **MADA**: `Multi-Adversarial Domain Adaptation `__ (2018) - **MDAN**: `Multiple Source Domain Adaptation with Adversarial Learning `__ (2018) Temporal models (videos) '''''''''''''''''''''''' - **Model F**: `Unsupervised Domain Adaptation for Face Recognition in Unlabeled Videos `__ (2017) - **RecycleGAN**: `Recycle-GAN: Unsupervised Video Retargeting `__ (2018) - **Vid2vid**: `Video-to-Video Synthesis `__ (2018) - **Temporal Smoothing (TS)**: `Everybody Dance Now `__ (2018) Optimal Transport ^^^^^^^^^^^^^^^^^ - **OT**: `Optimal Transport for Domain Adaptation `__ (2015) - `Theoretical Analysis of Domain Adaptation with Optimal Transport `__ (2016) - **JDOT**: `Joint distribution optimal transportation for domain adaptation `__ (2017) - **Monge map learning**: `Large Scale Optimal Transport and Mapping Estimation `__ (2017) - **JCPOT**: `Optimal Transport for Multi-source Domain Adaptation under Target Shift `__ (2018) - **DeepJDOT**: `DeepJDOT: Deep Joint distribution optimal transport for unsupervised domain adaptation `__ (2018) Embedding methods ^^^^^^^^^^^^^^^^^ - `Unsupervised Domain Adaptation for Zero-Shot Learning `__ (2015) - **DAassoc** : `Associative Domain Adaptation `__ (2017) Kernel methods ^^^^^^^^^^^^^^ - **SurK**: `Covariate Shift in Hilbert Space: A Solution via Surrogate Kernels `__ (2015) - **DAN**: `Learning Transferable Features with Deep Adaptation Networks `__ (2015) - **RTN**: `Unsupervised Domain Adaptation with Residual Transfer Networks `__ (2016) - **Easy DA**: `A Simple Approach for Unsupervised Domain Adaptation `__ (2016) Autoencoder approach ^^^^^^^^^^^^^^^^^^^^ - **MCAE**: `Learning Classifiers from Synthetic Data Using a Multichannel Autoencoder `__ (2015) - **SMCAE**: `Learning from Synthetic Data Using a Stacked Multichannel Autoencoder `__ (2015) Subspace Learning ^^^^^^^^^^^^^^^^^ - **SGF**: `Domain Adaptation for Object Recognition: An Unsupervised Approach `__ (2011) - **GFK**: `Geodesic Flow Kernel for Unsupervised Domain Adaptation `__ (2012) - **SA**: `Unsupervised Visual Domain Adaptation Using Subspace Alignment `__ (2015) - **CORAL**: `Return of Frustratingly Easy Domain Adaptation `__ (2015) - **Deep CORAL**: `Deep CORAL: Correlation Alignment for Deep Domain Adaptation `__ (2016) - **ILS**: `Learning an Invariant Hilbert Space for Domain Adaptation `__ (2016) - **Log D-CORAL**: `Correlation Alignment by Riemannian Metric for Domain Adaptation `__ (2017) Self-Ensembling methods ^^^^^^^^^^^^^^^^^^^^^^^ - **MT**: `Self-ensembling for domain adaptation `__ (2017) Other ^^^^^ - `Adapting Visual Category Models to New Domains `__ (2010) - **AdaBN**: `Revisiting Batch Normalization for Practical Domain Adaptation `__ (2016) Semi-supervised Domain Adaptation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ All the source points are labelled, but only few target points are. General methods ^^^^^^^^^^^^^^^ - **da+lap-sim** : `Semi-Supervised Domain Adaptation with Instance Constraints `__ (2013) Subspace learning ^^^^^^^^^^^^^^^^^ - **EA++**: `Co-regularization Based Semi-supervised Domain Adaptation `__ (2010) - **SDASL**: `Semi-supervised Domain Adaptation with Subspace Learning for Visual Recognition `__ (2015) Copulas methods ^^^^^^^^^^^^^^^ - **NPRV**: `Semi-Supervised Domain Adaptation with Non-Parametric Copulas `__ (2013) Few-shot Supervised Domain Adaptation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Only a few target examples are available, but they are labelled Adversarial methods ^^^^^^^^^^^^^^^^^^^ - **FADA**: `Few-Shot Adversarial Domain Adaptation `__ (2017) - **Augmented-Cyc**: `Augmented Cyclic Adversarial Learning for Domain Adaptation `__ (2018) Embedding methods ^^^^^^^^^^^^^^^^^ - **CCSA**: `Unified Deep Supervised Domain Adaptation and Generalization `__ (2017) Applied Domain Adaptation ~~~~~~~~~~~~~~~~~~~~~~~~~ Domain adaptation applied to other fields Physics ^^^^^^^ - `Learning to Pivot with Adversarial Networks `__ (2016) - `Adversarial Domain Adaptation for Identifying Phase Transitions `__ (2017) - `Identifying Quantum Phase Transitions with Adversarial Neural Networks `__ (2017) - `Automated discovery of characteristic features of phase transitions in many-body localization `__ (2017) Audio Processing ^^^^^^^^^^^^^^^^ - `Autoencoder-based Unsupervised Domain Adaptation for Speech Emotion Recognition `__ (2014) - `Adversarial Teacher-Student Learning for Unsupervised Domain Adaptation `__ (2018) Datasets -------- Image-to-image ~~~~~~~~~~~~~~ - `MNIST `__ vs `MNIST-M `__ vs `SVHN `__ vs `Synth `__ vs `USPS `__: digit images - `GTSRB `__ vs `Syn Signs `__ : traffic sign recognition datasets, transfer between real and synthetic signs. - `NYU Depth Dataset V2 `__: labeled paired images taken with two different cameras (normal and depth) - `CelebA `__: faces of celebrities, offering the possibility to perform gender or hair color translation for instance - `Office-Caltech dataset `__: images of office objects from 10 common categories shared by the Office-31 and Caltech-256 datasets. There are in total four domains: Amazon, Webcam, DSLR and Caltech. - `Cityscapes dataset `__: street scene photos (source) and their annoted version (target) - `UnityEyes `__ vs `MPIIGaze `__: simulated vs real gaze images (eyes) - `CycleGAN datasets `__: horse2zebra, apple2orange, cezanne2photo, monet2photo, ukiyoe2photo, vangogh2photo, summer2winter - `pix2pix dataset `__: edges2handbags, edges2shoes, facade, maps - `RaFD `__: facial images with 8 different emotions (anger, disgust, fear, happiness, sadness, surprise, contempt, and neutral). You can transfer a face from one emotion to another. - `VisDA 2017 classification dataset `__: 12 categories of object images in 2 domains: 3D-models and real images. - `Office-Home dataset `__: images of objects in 4 domains: art, clipart, product and real-world. Text-to-text ~~~~~~~~~~~~ - `Amazon review benchmark dataset `__: sentiment analysis for four kinds (domains) of reviews: books, DVDs, electronics, kitchen - `ECML/PKDD Spam Filtering `__: emails from 3 different inboxes, that can represent the 3 domains. - `20 Newsgroup `__: collection of newsgroup documents across 6 top categories and 20 subcategories. Subcategories can play the role of the domains, as describe in `this article `__. Results ------- The results are indicated as the prediction accuracy (in %) in the target domain after adapting the source to the target. For the moment, they only correspond to the results given in the original papers, so the methodology may vary between each paper and these results must be taken with a grain of salt. Digits transfer (unsupervised) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +------+------+------+------+------+------+------+ | Sour | MNIS | Synt | MNIS | SVHN | MNIS | USPS | | ceTa | TMNI | hSVH | TSVH | MNIS | TUSP | MNIS | | rget | ST-M | N | N | T | S | T | +======+======+======+======+======+======+======+ | SA | 56.9 | 86.4 | ? | 59.3 | ? | ? | | | 0 | 4 | | 2 | | | +------+------+------+------+------+------+------+ | DANN | 76.6 | 91.0 | ? | 73.8 | ? | ? | | | 6 | 9 | | 5 | | | +------+------+------+------+------+------+------+ | CoGA | ? | ? | ? | ? | 91.2 | 89.1 | | N | | | | | | | +------+------+------+------+------+------+------+ | DRCN | ? | ? | 40.0 | 81.9 | 91.8 | 73.6 | | | | | 5 | 7 | 0 | 7 | +------+------+------+------+------+------+------+ | DSN | 83.2 | 91.2 | ? | 82.7 | ? | ? | +------+------+------+------+------+------+------+ | DTN | ? | ? | 90.6 | 79.7 | ? | ? | | | | | 6 | 2 | | | +------+------+------+------+------+------+------+ | Pixe | 98.2 | ? | ? | ? | 95.9 | ? | | lDA | | | | | | | +------+------+------+------+------+------+------+ | ADDA | ? | ? | ? | 76.0 | 89.4 | 90.1 | +------+------+------+------+------+------+------+ | UNIT | ? | ? | ? | 90.5 | 95.9 | 93.5 | | | | | | 3 | 7 | 8 | +------+------+------+------+------+------+------+ | GenT | ? | ? | ? | 92.4 | 95.3 | 90.8 | | oAda | | | | | | | | pt | | | | | | | +------+------+------+------+------+------+------+ | SBAD | 99.4 | ? | 61.1 | 76.1 | 97.6 | 95.0 | | A-GA | | | | | | | | N | | | | | | | +------+------+------+------+------+------+------+ | DAas | 89.4 | 91.8 | ? | 97.6 | ? | ? | | soc | 7 | 6 | | 0 | | | +------+------+------+------+------+------+------+ | CyCA | ? | ? | ? | 90.4 | 95.6 | 96.5 | | DA | | | | | | | +------+------+------+------+------+------+------+ | I2I | ? | ? | ? | 92.1 | 95.1 | 92.2 | +------+------+------+------+------+------+------+ | DIRT | 98.7 | ? | 76.5 | 99.4 | ? | ? | | -T | | | | | | | +------+------+------+------+------+------+------+ | Deep | 92.4 | ? | ? | 96.7 | 95.7 | 96.4 | | JDOT | | | | | | | +------+------+------+------+------+------+------+ Challenges ---------- - `Visual Domain Adaptation Challenge (VisDA) `__ - `Open AI Retro Contest `__ Libraries --------- No good library for the moment (as far as I know). If you're interested in a project of creating a generic transfer learning/domain adaptation library, please let me know.