In transfer learning, the model is pre-trained on "source tasks" (which ideally are related to the target task and for which ample data is available) and subsequently fine-tuned on the "target task". By leveraging the knowledge gained from the source tasks, the model can learn the target task with smaller training data. In multi-task learning, part of the model is usually shared between all the tasks (shared layers), and there are some specific layers on top for each task (task-specific layers). By sharing the parameters between the tasks, the aim is to achieve better performance with smaller-sized datasets and mitigate the chance of overfitting. In meta-learning, the goal is to learn common characteristics (for example, model initialization or representation learner) from training tasks and prior experience that can help the model adapt quickly (by observing a few positive/negative examples) to the target task.