AnswerBun.com

Problem of continuous training - Supervised learning

Data Science Asked by Sandeep Bhutani on August 19, 2020

I am sure this is a most common problem, but would like to know by experts on how to tackle it. Note that, I mostly deal with textual data (NLP problems).
When a supervised learning model is created, say a text classifier, and it works well on seen data then we deploy the model in production (you can think of a chatbot also).

But in real time, when new type of data comes where the prediction fails, we find that a new word or new pattern is breaking the model. So we go ahead and retrain the model with new encountered data. This is where the continuous learning problem starts.

Can ML/NLP veterans please suggest some alternates to solve this labor work? Following approaches have been tried and the problems also listed:

  • We simply can’t train with new data infinitely. As production systems should be self healing. We cant put the cost of a human admin constantly monitoring the project. Also, it is practically not possible to get huge domain data during model training phase.
  • Use of advanced embeddings, and SoTA models like BERT. (Problem: The accuracy of these models is too hard to control)
  • Synthetic data generation/data augmentatoin. (Problem : Does not work well in case of NLP problems. Refer: training-with-less-data )
  • Unsupervised classification (Problem: Does not work well on closed domain problems, as most unsupervised models are either statistical which give a fair value of accuracy but not decent , or are trained on public domain data)
  • Reinforcement learning. (Problem: Real world NLP data is not labeled unlike a self driven car where the feedback is instant)

2 Answers

What you are describing is called auto-adaptive learning. This is what most recommendation systems use to adapt to ever changing data and feedback. It is also known as autoML. This https://towardsdatascience.com/how-to-apply-continual-learning-to-your-machine-learning-models-4754adcd7f7f Article does a good job of explaining it. Based on what your data looks like, you might have to choose the appropriate retraining strategy and do a staggered deployment.

Answered by tehem on August 19, 2020

One Solution is "Human in the Loop" with Sentence Encoder. You can use hybrid approach using cosine similarity + Topic modelling + fuzzywuzzy + Bert. I totally understand the NLP world and the kind of problem you are asking. There is no single straight through solutions. And then use voting mechanism to filter out the best resolution.

Answered by Syenix on August 19, 2020

Add your own answers!

Related Questions

Trouble finding the derivative of an optimization function

0  Asked on February 22, 2021 by carlos-vzquez-losada

 

Time Series segmentation

1  Asked on February 22, 2021 by zikry-kickbuttowski

   

Association Rules

0  Asked on February 21, 2021 by joseph-gutstadt

     

Can we call a CMS like Drupal Machine Learning?

1  Asked on February 21, 2021 by vishal-kumar-sahu

 

Version of Perceptron

1  Asked on February 21, 2021

       

Sentence similarity using Doc2vec

1  Asked on February 20, 2021 by latent

     

Ask a Question

Get help from others!

© 2023 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP