Book Image

Hands-On One-shot Learning with Python

By : Shruti Jadon, Ankush Garg
Book Image

Hands-On One-shot Learning with Python

By: Shruti Jadon, Ankush Garg

Overview of this book

One-shot learning has been an active field of research for scientists trying to develop a cognitive machine that mimics human learning. With this book, you'll explore key approaches to one-shot learning, such as metrics-based, model-based, and optimization-based techniques, all with the help of practical examples. Hands-On One-shot Learning with Python will guide you through the exploration and design of deep learning models that can obtain information about an object from one or just a few training samples. The book begins with an overview of deep learning and one-shot learning and then introduces you to the different methods you can use to achieve it, such as deep learning architectures and probabilistic models. Once you've got to grips with the core principles, you'll explore real-world examples and implementations of one-shot learning using PyTorch 1.x on datasets such as Omniglot and MiniImageNet. Finally, you'll explore generative modeling-based methods and discover the key considerations for building systems that exhibit human-level intelligence. By the end of this book, you'll be well-versed with the different one- and few-shot learning methods and be able to use them to build your own deep learning models.
Table of Contents (11 chapters)
1
Section 1: One-shot Learning Introduction
3
Section 2: Deep Learning Architectures
7
Section 3: Other Methods and Conclusion

Understanding LSTM meta-learner

The LSTM meta-learner is a type of meta-learning. The LSTM meta-learner has two phases:

  • Meta-learner: In this phase, the model focuses on learning general knowledge across various tasks.
  • Base learner: In the base learner, the model tries to optimize to learn parameters for a task-specific objective.

The key idea of the LSTM meta-learner is to train an LSTM cell to learn an update rule for our original task. In meta-learning framework terms, an LSTM cell will be used as the meta-learner, whereas task-specific objectives, such as dog breed classification, will be the base learner.

Now, the question arises, why would we use an LSTM cell? The authors of the LSTM meta-learner made a key observation that a cell-state update in LSTM is similar to a gradient-based update in backpropagation, and can be used to learn the update rule of the base learner...