Notes

← Back to home

A collection of fragments of understanding in the pursuit of deeper questions.

Meta-Learning with ANNs - What is Meta-Learning?

Paper: "Human-Level Concept Learning Through Probabilistic Program Induction".

In the first lecture we listed the standing challenges in deep learning research, from which we now want to discuss continual learning and meta-learning, which can allow to learn fast and from few-data only. So why do we need continual and meta-learning?

  • For many applications we don't have large training datasets (medical imaging, robotics, recommendations, real-world agent training).
  • Life-long learning systems should quickly adapt to new tasks, but not forget previous ones (can't learn every task/classifier from scratch).
  • Sometimes our training data has a long-tail, meaning that there are only a few data points for a large range of categories.
  • Concept learning enables humans to extrapolate from learned tasks to a similar task.

The Principle of Learning the Learn

image163 image162

Meta-Learning with ANNs Meta-learning, also known as "learning to learn", intends to design models that can learn new skills or adapt to new environments rapidly with a few training examples. There are three common approaches:

  • Learn an efficient distance metric (metric-based).
  • Use (recurrent) network with external or internal memory (model-based).
  • Optimize the model parameters explicitly for fast learning (optimization-based).
image164

A good meta-learning model should be trained over a variety of learning tasks and optimized for the best performance on a distribution of tasks, including potentially unseen tasks. Each task is associated with a dataset D\mathcal{D}, containing both feature vectors and true labels. The optimal model parameters are:

image165

It looks very similar to a normal learning task, but one dataset is considered as one data sample. The concept of Few-shot classification is an instantiation of meta-learning in the field of supervised learning. The dataset D\mathcal{D} is often split into two parts, a support set S\mathcal{S} for learning and a prediction set B\mathcal{B} for training or testing, D=S,B\mathcal{D =}\left\langle S,B \right\rangle. Another popular view of meta-learning decomposes the model update into two stages:

  1. A classifier fθf_{\theta} is the "learner" model, trained for operating a given task.
  2. In the meantime, an optimizer gϕg_{\phi} learns how to update the learner model's parameters via the support set S,θ=gϕ(θ,S).S,\theta^{'} = g_{\phi}(\theta,S).

In the final optimization step, one needs to update both θ\theta and ϕ\phi to maximize:

image166