The Subtle Art of Effective Transfer Learning
What is Transfer Learning?
Transfer Learning is the method of reusing our existing knowledge developed for one task to solve a similar task. Say, you want to detect cars on night-time images and instead of learning from scratch we could reuse our existing knowledge from a model which has been trained on day-time images. Transfer learning allows us to deal with these scenarios by leveraging the already existing labeled data of some related task or domain.
I believe Transfer Learning is a major achievement in our quest for Artificial General Intelligence (AGI) as Transfer Learning allows us to generalize our knowledge which is something we humans excel at.
Andrew Ng, ex-chief scientist at Baidu, co-founder of Coursera and professor at Stanford, said during his widely popular NIPS 2016 tutorial,
“Transfer Learning will be the next driver of ML success.”
Training Deep Neural Networks from scratch is an expensive process. Not only does it require a lot of compute resources and time, deep Learning models require a huge amount of data and it is a major bottleneck when it comes to start-ups and niche areas of research like health care.
What you will learn :-
- How to build an image classifier in a few minutes using Transfer Learning
- When and how to fine-tune pretrained models
- Freezing layers of a pretrained model depending upon the scenario
- Using ConvNet as a feature extractor
- Using differential learning rates
- Constraints of using pretrained models
Transfer Learning : Beyond Computer Vision
Cross-Lingual Domain Adaptation : Using the knowledge we have learnt from one language and applying our knowledge to another language is another application of transfer learning with huge potential. Cross-lingual adaptation methods would allow us to leverage the vast amounts of labeled data we have in English and apply them to any language, particularly languages with very less labeled data such as Indian languages.
Reinforcement Learning and Learning from Simulations : Training an agent (in Reinforcement Learning) to achieve general artificial intelligence directly in the real world is too costly and hinders learning initially through unnecessary complexity. It is better to train an agent in a simulated environment such as the OpenAI Gym before deploying it in the real world. Eg: Self-driving cars
1.Introduction to Computer Vision (3 min)
2.Introduction to Transfer Learning (3 min)
3.Why should you use Transfer Learning? (2 min)
4.When to use Transfer Learning? (2 min)
5.Build an image classifier in minutes using Transfer Learning (2 min)
6.Effective Transfer Learning techniques (6 min)
7.Feature Extraction using pretrained models (3 min)
8.Constraints of using pretrained models (1 min)
9.Transfer Learning beyond Computer Vision (3 min)
10.Transfer Learning : A right step towards Artificial General Intelligence (AGI) (2 min)
11.Q&A session (3 min)
Basic knowledge of deep learning
Love for Python
More content will be updated soon!
Hi! I’m fascinated by AI and it’s applications particularly in art and culture - generating art, fashion styles, music, literature, etc. I’m a 3rd year student at SRM Institute of Science and Technology, Chennai studying Computer Science Engineering. I’m also part of a QS award winning student-led multidisciplinary lab called Next Tech Lab where we research in AI, Blockchain, Computational Biology, Electrical Systems, Internet of Things, and Mixed Reality.
I'm also a part of a club which organizes PyData KTR . I will be talking about "Abstract Art using Compositional Pattern Producing Networks" in the next meet-up which is scheduled on 14th July, 2018.
I’m currently working as a Computer Vision intern at Cogknit Semantics, Bangalore. I'm working on a fashion recommender system which analyses images of clothes and suggests matching clothes to go along with it. Eg: Suggests matching pants and shoes if the input image is a shirt.
I love Python because of it’s simplistic philosophy and lucid coding style which allows me to think more about model architectures rather than fixing bugs in my code!