6 Transfer learning

 

This chapter covers

  • Understanding the transfer learning technique
  • Using a pretrained network to solve your problem
  • Understanding network fine-tuning
  • Exploring open source image datasets for training a model
  • Building two end-to-end transfer learning projects

Transfer learning is one of the most important techniques of deep learning. When building a vision system to solve a specific problem, you usually need to collect and label a huge amount of data to train your network. You can build convnets, as you learned in chapter 3, and start the training from scratch; that is an acceptable approach. But what if you could download an existing neural network that someone else has tuned and trained, and use it as a starting point for your new task? Transfer learning allows you to do just that. You can download an open source model that someone else has already trained and tuned and use their optimized parameters (weights) as a starting point to train your model on a smaller dataset for a given task. This way, you can train your network a lot faster and achieve higher results.

6.1 What problems does transfer learning solve?

6.2 What is transfer learning?

6.3 How transfer learning works

6.3.1 How do neural networks learn features?

6.3.2 Transferability of features extracted at later layers

6.4 Transfer learning approaches

6.4.1 Using a pretrained network as a classifier

6.4.2 Using a pretrained network as a feature extractor

6.4.3 Fine-tuning

6.5 Choosing the appropriate level of transfer learning

6.5.1 Scenario 1: Target dataset is small and similar to the source dataset

6.5.2 Scenario 2: Target dataset is large and similar to the source dataset

6.5.3 Scenario 3: Target dataset is small and different from the source dataset

6.5.4 Scenario 4: Target dataset is large and different from the source dataset

sitemap