In convolutional neural networks, to reach the best accuracy and generalization ability, we need to test many experiments, adding layers or hidden units and so on. Sometimes it will take a lot of time and it can be just a random guess.
But one thing is for sure, neural network is not a brand-new thing. Surely someone must have done the work and built a workable neural network model for specific problems. And there it is!
So what if we use the model trained by other professionals and apply it on our own problem? That is what Transfer Learning does.
Illustration from (zero to mastery course)
Transfer learning can help us:
- Leverage an existing trained model that has been proven to work — save time
- Leverage a model that has already learned patterns on problems that we’re working on.
How to find available model structures and how to use them? Here I introduce two methods. In this blog, I take image domain and EfficientNetB0 as an example of architecture.
Before we start, let’s assume that we are solving a computer vision problem.
Download the model from TensorFlow Hub
First, let’s go to the [TensorFlow Hub]. On the homepage, we can see different types of problem domains.