Module 7 of 12

Computer Vision & Transfer Learning

Lessons

About This Module

With a convolutional network in hand, you can start solving real vision problems: image classification (what is in this picture?) and object detection (what is in it, and where?). The catch is data. Training a large CNN from scratch needs a huge labelled dataset and a lot of compute, which most projects do not have.

Transfer learning is the usual answer. A network that was already trained on a large dataset has learned general visual features such as edges, textures and shapes, and those carry over to new tasks. You keep the pretrained layers, replace the final layer, and train on your own data. You either train only the new layer (feature extraction) or adjust the whole network gently (fine-tuning). Data augmentation, which creates extra training images by flipping, cropping and shifting the ones you have, helps stretch a small dataset further.

Watch the lessons in order, then continue to Sequence Models: RNNs & LSTMs.

Lessons

3 videos
01

Transfer Learning (C3W2L07)

Andrew Ng explains the idea: first train a network on a large task such as image recognition (pre-training), then adapt it to a different task such as radiology images (fine-tuning), and when this is likely to help.

Video 11min
02

Transfer Learning | Deep Learning Tutorial 27 (Tensorflow, Keras & Python)

A hands-on codebasics tutorial in TensorFlow and Keras that reuses a pretrained image model to classify your own images.

Video 25min