Transfer learning

Transfer learning

In practical applications, the annotation cost for many tasks is high, making it difficult to obtain sufficient training data. In such cases, transfer learning can be used. Suppose A and B are two related tasks. If task A has abundant training data, we can transfer some of the generalized knowledge learned from task A to task B. Transfer learning has several categories, including domain adaptation and domain generalization 1 2 3 4 5.

The paradigm of transfer learning in LLMs is pre-trained on massive data (multi-task learning or making the multi-task data into a unified form) and fine-tuned for specific tasks.

Domain Adaptation

Some libraries:

Domain adaptation deals with scenarios where we have a source domain (A) and a target domain (B). The goal is to train a model using data from the source domain and make it perform well on the target domain, even though labeled data from the target domain is scarce or unavailable.

A basic idea for domain adaptation is to train a feature extractor to eliminate the different part and keep the collective part/the essence of the source and target domain.
Pasted image 20240528003113.png

A famous work is 1505.07818 Domain-Adversarial Training of Neural Networks.
Pasted image 20240528003007.png
Pasted image 20240528003047.png

The problem is that we want the domain classifier to split the data of two domain and meanwhile the feature extractor to get the collective feature. It seems a little tricky.

Other works:

Domain generalization/Learn a domain-agnostic model

Domain generalization focuses on a more challenging setting. Here, we have access to multiple related domains during training (e.g., sketches, cartoons, real images), but the goal is to build a model that generalizes well to unseen testing domains.