Ayeshmantha Perera
Aug 8, 2018 · 4 min read

Transfer Learning

(Multi-Class image classification step by step guide part 2)

In the second part of my previous blog (Multi-Class image classification step by step guide (part 1)) will be going through transfer learning.As I said in the previous part it’s a huge but understandable topic that we have to know before proceeding further.So what is actually transfer learning

Transfer Learning

In past few years deep neural networks are becoming more accurate on mapping inputs to outputs.And when it comes to training process it’s becoming very easy to handle now a days with GPU’s. Even every cloud platform and paper space kind of separate MLspecific vendor cloud platforms are providing GPU's. So it’s not a big problem for a developer’s to get in touch with deep learning.So peeps if you’re a good coder don’t worry try to learn the basics of ML and you will get in to more for sure.

So just think about a supervised learning scenario.Yes it’s easy ha ha.And it also can label and categorize.But what is the big problem. Let’s say like this if we build a model for to identify cats and dogs and yes it will perform well identifying cat or a dog.But in the same time if want to identify trains and buses oh damn we have to build another separate model to do so.But the thing is these models will break or will not perform with well if we don’t have enough labeled data of buses or trains.

So think like this when we trying to identify buses rather than cats yes they are different.But wait there’s something similar because both are images of objects when it comes to a neural net it first tries to identify edges. Okkkk so it’s basically the same for bus and cat identification scenarios first the neural net is trying to identify the edges(this is call edge detection let’s talk about it in the next part) so like wise moving forward it tries to identify shapes.So it’s pretty clear now transfer learning allows us to leverage the already existing knowledge gained in solving one task to be used as a source knowledge for other tasks that we gonna perform.So try to transfer knowledge as much as possible so it will be easy and the results will be more accurate.Andrew Ng, chief scientist at Baidu and professor at Stanford, said during his widely popular NIPS 2016 tutorial that transfer learning will be — after supervised learning — the next driver of ML commercial success.

Few other definitions for u’re guidance on transfer learning

  1. Transfer learning and domain adaptation refer to the situation where what has been learned in one setting … is exploited to improve generalization in another setting.
  2. Transfer learning is an optimization that allows rapid progress or improved performance when modeling the second task.
  3. Transfer learning is the improvement of learning in a new task through the transfer of knowledge from a related task that has already been learned.

The two common approaches of using transfer learning are

  1. Develop Model Approach
  2. Pre-trained Model Approach

Develop Model Approach You must select a related predictive modeling problem with an abundance of data where there is some relationship in the input data, output data, and/or concepts learned during the mapping from input to output data.Then them model fit on the source task can then be used as the starting point for a model on the second task of interest. This may involve using all or parts of the model, depending on the modeling technique used.Optionally, the model may need to be adapted or refined on the input-output pair data available for the task of interest.

Pre-trained Model Approach Select a pre-trained from available models. The pre-trained model can then be used as the starting point for a model on the second task of interest. This may involve using all or parts of the model, depending on the modeling technique used.Optionally, the model may need to be adapted or refined on the input-output pair data available for the task of interest.

This second type of transfer learning is common in the field of deep learning.

Super so this is what you call as transfer learning.So in the next section will see what is edge detection.Thank you