50

Yes, indeed, neural networks are very prone to catastrophic forgetting (or interference). Currently, this problem is often ignored because neural networks are mainly trained offline (sometimes called batch training), where this problem does not often arise, and not online or incrementally, which is fundamental to the development of artificial general ...


17

Yes, the problem of forgetting older training examples is a characteristic of Neural Networks. I wouldn't call it a "flaw" though because it helps them be more adaptive and allows for interesting applications such as transfer learning (if a network remembered old training too well, fine tuning it to new data would be meaningless). In practice what you want ...


10

I'd like to add to what's been said already that your question touches upon an important notion in machine learning called transfer learning. In practice, very few people train an entire convolutional network from scratch (with random initialization), because it is time consuming and relatively rare to have a dataset of sufficient size. Modern ConvNets ...


7

Here is one way you could do that. After training your network, you can save its weights to disk. This allows you to load this weights when new data becomes available and continue training pretty much from where your last training left off. However, since this new data might come with additional classes, you now do pre-training or fine-tuning on the network ...


4

What you are describing sounds like it could be a deliberate case of fine-tuning. There is a fundamental assumption that makes minibatch gradient descent work for learning problems: It is assumed that any batch or temporal window of consecutive batches forms a decent approximation of the true global gradient of the error function with respect to any ...


4

You are looking for incremental (or online) learning. A CNN can be trained incrementally. For example, in the paper Incremental Learning of Convolutional Neural Networks, the authors propose an incremental learning algorithm (inspired by AdaBoost and Learn++, which is another incremental learning algorithm for supervised learning of neural networks) for ...


3

This article on Dynamically Expandable Neural Networks (DEN) (by Harshvardhan Gupta) is based on this paper Lifelong Learning with Dynamically Expandable Networks (by Jeongtae Lee, Jaehong Yoon, Eunho Yang, Sung Ju Hwang) This presents 3 solutions to increase the capacity of the network if needed retaining whatever useful information from the old model and ...


3

I mostly studied HMMs and such models are called Infinite HMMs in that specific domain. I believe that what you are looking for is called Infinite Neural Networks. Not having access to scientific publications, I cannot really refer any work here. However, I found this GitHub repository: https://github.com/kutoga/going_deeper that provides some ...


2

Yes, this is possible. Continuously extending your training data is known as incremental learning. You might also want to take a look at transfer learning, in which you reuse a trained model for a different purpose. This is very useful if you have a smaller dataset. In your particular case, you could train a NN once using your data from 2010 to 2019 and ...


1

For the vast majority of cases where you have a dynamic(and assumed non-linear) relationship between your input and output, you would not use modified architecture. You would simply retrain on the new data. In some cases, based on domain knowledge or intuition, one might put a "weight" on the new data to increase or decrease its importance relative to ...


1

Maybe in theory, but not in practice. The thing is you seem to consider only chronological/sequential training. And there are two ways to view this issue: online learning -> then it is a feature of the method offline learning -> it does not happen thanks to several order randomizations 1. Online-Training or Online Machine Learning. Using the woppal ...


Only top voted, non community-wiki answers of a minimum length are eligible