Is there any methodology called Recursive Transfer Learning? For example, let's consider a situation that we have a lack of data while training a convolution neural network (CNN) for object detection from scratch. Let's assume hypothetically the CNN is to be trained for recognizing (detecting) the dogs of the beagle-bone breed. And we also demand a very high accuracy result of over 90% for 0.9 IOU threshold from our model. The problem is that our dataset is very small with only 500 labeled images of various breeds of dogs, with only 30-40 images per dog breed. And we are interested in detecting the dogs of only beagle bone breed (but with very high accuracy).
We figure out two ways of solving the problem, conventional transfer learning, and recursive transfer learning.
In Recursive Transfer Learning, multiple iterations of transfer learning are performed on the same model. We start by training the model on a generalized dataset and fine-tune it as we go towards a more specific dataset. Moving forward with our example to implement recursive transfer learning, at first, we initialize our CNN with the weight configurations of another CNN trained on a very huge dataset of Image-net COCO. It is the first time we use transfer learning for our model. We train this pre-trained CNN on our smaller dataset of 500 images to recognize a general class of Dog. Instead of having separate labels for dog breeds, we label all 500 images as one general dog class and train our model. This general model successfully detects dogs but does not know its breed. Then we again fine-tune this model for the second time by training it over a smaller and specific dataset having only 30-40 images to recognize only beagle-bone dogs. Now, this final model attains very high accuracy in detecting only beagle-bone dogs (as we wanted). And we can repeat this by moving from general tasks to even more specific tasks.
On the other side, in the conventional approach, we train the model to detect all classes or breeds of dogs at once. This involves only one iteration of transfer learning, using a pre-trained image-net coco model and train it over a dataset of 500 images to detect various breeds of dogs separately. As compared to the recursive transfer learning approach, this model attains lower accuracy.
In my experiments, the strategy of recursive transfer learning performs better than the conventional strategy. Is this strategy already known by a different name? Is it common to use such strategies in Deep Learning projects? Can it solve the problem of lack of data for Deep Learning models like CNNs?? Is it effective?