Life-Long Learning — Part a
--
In this blog post, I want to write about life-long learning and see what it is actually. One of the resources is the “Stanford CS330 Deep Multi-Task & Meta-Learning” course and mainly lecture 15. The content of this blog post is mainly from the lecture, some parts are from the lecture, some from me, and some may be from an AI writing assistant.
Let’s first talk about two kinds of problem statements: Multi-Task Learning and Meta-Learning.
In multitask learning, our goal is to solve a set of tasks. The train tasks and the test set tasks are the same set of tasks ultimately.
Whereas in meta-learning, our goal is to quickly learn a new task after having experience with a set of training tasks.
In many real-world scenarios, tasks do not arrive in a neatly organized batch; rather, they are presented sequentially, one after another. This presents a distinct set of challenges, as it diverges from situations where a large dataset or assortment of tasks is made available all at once. In these cases, it becomes crucial to draw upon prior experience in a more dynamic, sequential manner.
Consider the educational setting as an example. Students learn concepts incrementally over time, following a curriculum. Tasks or learning objectives may become progressively more complex, often building on prior knowledge. This isn’t a context where all information is dumped on learners simultaneously in a massive batch.
Similarly, an image classification system learning from a continuous stream of user-submitted images embodies this challenge. Different users may join the platform and start uploading images at varying times. Here, data gathering is a temporally stretched process, as opposed to acquiring a complete dataset from a set of users all at once.
Yet another example would be a robot navigating diverse environments while aiming to acquire an expanding range of skills. As it encounters new challenges or environments, the robot must adapt and learn on-the-fly, without being limited by the assumption of a static batch of settings to work within.