By now, you you'd have noticed that every architecture has in general two parts.
The first part of the architecture is a convolutional base.
This includes convolutional layers and pooling layers.
It could be one convolutional and one willingly.
It could be tens of them.
It could be hundreds of them.
However, if you look at the architectures, most of them in the first part had convolutional.
Basically, the output of that convolutional base goes into a fully connected neural network.
So the job of convolutional base is very generic.
It is to find out and highlight certain features from the input images.
For example, if you are inputting cats and dogs data, the job of convolutional base would be to highlight
eyes, ears.
This goes Glaus, etc..
So all of these individual features of the image are highlighted by the conditional base.
The job of fully connected neural network is to use these identified features to classify the image,
whether it is a dog or whether it is a cat.
So if you have a neural network which is already trained in identifying certain features and then classifying
those images and now you have a new problem in which you are also trying to find the same features,
maybe you are trying to have a different classification.
But if the import images have the same features, in that case, you can use these same convolutional
base of retrain models.
For example, in 2014, the AI, unless we asked each challenge, had one million images of different
animals and there were 1000 different animals to which these images belong.
The convolutional base of the winning networks were identifying features of different animals and declassifies.
In the end, were only classifying those features and do which animal it is.
And what is the breed of that animal?
So now if we're only learning a model to classify cats and dogs, this is the similar kind of input
images that that particular talent had.
So a model that is trained on 2014, data that can be used in our problem also.
So this is the concept of crosswell learning or feature extraction.
We are going to use some part of our pre train model, mostly the convolutional base, because convolutional
base is more genetic.
It is only finding features and we will put a new classifier in front of the convolutional base.
That classifier will be trained by our system and that will be trained to classify and identify are
images into the classes that we have.
So this convolutional base will remain the same.
We will have a new classified on top of it to classify our images.
The advantages of doing this is that it saves a lot of time because we do not have to train this part
of the network.
Another good thing is these are proven models.
They are one of the best in finding the features.
So when we take their convolutional base, we can be assured that the features extracted from the images
would be the best.
Also, these models are trained on huge does it.
They had input data of millions of images.
So even if you have a small dataset from which featured extraction could have been difficult.
These models are already trained to extract features on large amount of data.
And the best thing is they're very easy to use.
They are part of the get us library.
It only takes a few lines of good to download all the weight of all the neurons in the convolutional
base.
And those can be used straightaway.
So in that project, we will see how using pre train models, we can achieve higher level of accuracy
even if we have a small amount of data to train model.