Chapter 5. Transfer learning: Reusing pretrained neural networks

 

This chapter covers

  • What transfer learning is and why it is better than training models from scratch for many types of problems
  • How to leverage the feature-extraction power of state-of-the-art pretrained convnets by converting them from Keras to TensorFlow.js
  • The detailed mechanisms of transfer-learning techniques including layer freezing, creating new transfer heads, and fine-tuning
  • How to use transfer learning to train a simple object-detection model in TensorFlow.js

In chapter 4, we saw how to train convnets to classify images. Now consider the following scenario. Our convnet for classifying handwritten digits performs poorly for a user because their handwriting is very different from the original training data. Can we improve the model to serve the user better by using a small amount of data (say, 50 examples) we can collect from them? Consider another scenario: an e-commerce website wishes to automatically classify pictures of commodity items uploaded by users. But none of the publicly available convnets (such as MobileNet[1]) are trained on such domain-specific images. Is it possible to use a publicly available image model to address the custom classification problem, given a modest number (say, a few hundred) of labeled pictures?

1Andrew G. Howard et al., “MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications,” submitted 17 Apr. 2017, https://arxiv.org/abs/1704.04861.

5.1. Introduction to transfer learning: Reusing pretrained models

5.2. Object detection through transfer learning on a convnet

Exercises

Summary

sitemap