In this blog, we will be learning about continual learning (CI) importance in artificial intelligence. Continual Learning means the ability of a model to learn independently whenever new data comes in. Some may know it as auto-adaptive learning, or continual AutoML. The idea of CL is to mimic human’s ability to continually acquire, fine-tune, and transfer knowledge and skills throughout their lifespan.
For example, we’ve all experienced Netflix’s highly successful recommender system for “Up Next”. The Netflix recommender system suggests a show directly after your last episode has ended. And is normally hard to resist as the seconds drop. That kind of model in production is something that needs to be retrained periodically. As there are new movies, new tastes, and new trends in the market. With continual learning, the goal is to use data that is coming in. And use it to automatically retrain the model, so you can really gain high accuracy and retain high-performing models.
Why do we need Continual Learning?
- Data is changing – Imagine a machine learning model used to predict rental costs in 50 large metro areas. Training data from 2000 to 2019 might predict rental prices for 2020 with impressive accuracy. It would probably be less effective in predicting rental prices for 2050 because the fundamental nature of the housing market is likely to change in the decades to come.
- “Lifelong learning remains a long-standing – challenge for machine learning and neural network models since the continual acquisition of incrementally available information from non-stationary data distributions generally leads to catastrophic forgetting or interference.” The case for continual learning remains strong. For data scientists, continual learning will ultimately optimize models for accuracy, improve model performance, and save retraining time by making models auto-adaptive.
Machine Learning pipeline with Continual Learning
The diagram above illustrates what a machine learning pipeline looks like in the production environment with continual learning applied. You’ll notice that the pipeline looks much like any other machine learning pipeline. We must have the data, some sort of validation. This could include tests or internal benchmarks such as determining the quality of data. It could also be pre-processing that you operate.
Next, in the pipeline is AutoML. AutoML in continual learning is a very important part of the pipeline and is similar to the training step in a typical machine learning pipeline.
After training, you’ll do some model validations to test the models, and make sure all of them are working well. Here you can also pick the best one, and deploy it to the production environment. Thus far, the pipeline looks like a classic machine learning pipeline. In order to apply continual learning, we add monitoring and connect the loop back to the data.
Predictions that are being collected in the model deployment area will be monitored. Once monitored you will clean the data and label it if required. But, for something like a recommender system or forecasting, you’ll just be able to close the loop without the human labeling. After labeling and cleaning the data, we’ll move it back to the data to repeat the training and validation process again. Now we have closed the loop like a flywheel.
Challenge with Continual Learning
Machine learning systems typically require various data wrangling steps prior to data being ingested into a model. These wrangling steps include cleaning the data and featuring the data. Unfortunately, data wrangling is a very time-consuming and typically manual process. Data wrangling often takes upwards of 90% of a developer’s time. The manual nature of data wrangling becomes an issue when we consider a system that is meant to continuously adapt to new data. In such a situation, there is no room for a time-intensive manual process of data wrangling!
In this blog, we explored how we can apply continual learning to our machine learning models and their advantages along with their disadvantages.
Happy learning! 🙂