Book Image

Hands-On Meta Learning with Python

By : Sudharsan Ravichandiran
Book Image

Hands-On Meta Learning with Python

By: Sudharsan Ravichandiran

Overview of this book

Meta learning is an exciting research trend in machine learning, which enables a model to understand the learning process. Unlike other ML paradigms, with meta learning you can learn from small datasets faster. Hands-On Meta Learning with Python starts by explaining the fundamentals of meta learning and helps you understand the concept of learning to learn. You will delve into various one-shot learning algorithms, like siamese, prototypical, relation and memory-augmented networks by implementing them in TensorFlow and Keras. As you make your way through the book, you will dive into state-of-the-art meta learning algorithms such as MAML, Reptile, and CAML. You will then explore how to learn quickly with Meta-SGD and discover how you can perform unsupervised learning using meta learning with CACTUs. In the concluding chapters, you will work through recent trends in meta learning such as adversarial meta learning, task agnostic meta learning, and meta imitation learning. By the end of this book, you will be familiar with state-of-the-art meta learning algorithms and able to enable human-like cognition for your machine learning models.
Table of Contents (17 chapters)
Title Page
About Packt

Task agnostic meta learning (TAML)

We know that, in meta learning, we train the model over a distribution of related tasks so that it can easily be adapted to a new task with only a few samples. In the previous chapters, we've seen how MAML finds the optimal initial parameters of the model by calculating meta gradients and performing meta optimization. But one of the problems we might face is that our model can be biased over some tasks, especially the tasks that are sampled in the meta training phase. So, our model will overperform on these tasks. If the model does so, then it will also lead us to the problem of finding a better update rule. With the biased model over some tasks, we'll also not able to perform better generalization on the unseen tasks that vary greatly from the meta training tasks.

To mitigate this, we need to make our model not get biased or overperform on some of the tasks. That is, we need to make our model task-agnostic, so that we can prevent task bias and attain better...