Transfer Learning for Computer Vision

An implementation with Python

Valentina Alto
Analytics Vidhya
Published in
5 min readDec 31, 2020

--

Whenever we develop knowledge within a given field, not only we are specializing our skills in that specific field, but also are we developing more generic and abstract mental tools that will speed up the process of learning new tasks also in very different domains of knowledge.

Probably the most common example (at least for Italian students who attended classical high school) is the study of ancient Greek and their relation with Maths.

Apparently, two domains far away from each other (literature versus science), have a common denominator which is the way of reasoning needed to get to a result. In other words, when we learn greek grammar, we are also learning how to learn very complex topics, and we will very willingly re-use this knowledge in other fields, namely Maths.

How everything said above relate to Deep Learning?

Let’s start with a common problem of Deep Learning and CNN. To train a proper Network, with a reasonable amount of collected images, it is required a huge computational cost (in terms of time and hardware required), plus a great effort also in the images collection phase.

Then the intuition: what if we were able to re-use what a CNN has been learning in a given task in a new task? The…

--

--

Valentina Alto
Analytics Vidhya

Data&AI Specialist at @Microsoft | MSc in Data Science | AI, Machine Learning and Running enthusiast