14 Convolutional neural networks

 

This chapter covers

  • Examining the components of a convolutional neural network
  • Classifying natural images using deep learning
  • Improving neural network performance—tips and tricks

Grocery shopping after an exhausting day is a taxing experience. My eyes get bombarded with too much information. Sales, coupons, colors, toddlers, flashing lights, and crowded aisles are a few examples of all the signals forwarded to my visual cortex, whether or not I try to pay attention. The visual system absorbs an abundance of information.

Ever heard the phrase “A picture is worth a thousand words”? That might be true for you or me, but can a machine find meaning within images as well? The photoreceptor cells in our retinas pick up wavelengths of light, but that information doesn’t seem to propagate up to our consciousness. After all, I can’t put into words exactly what wavelengths of lights I’m picking up. Similarly, a camera picks up pixels, yet we want to squeeze out some form of higher-level knowledge instead, such as names or locations of objects. How do we get from pixels to human-level perception?

14.1 Drawback of neural networks

14.2 Convolutional neural networks

14.3 Preparing the image

14.3.1 Generating filters

14.3.2 Convolving using filters

14.3.3 Max pooling

14.4 Implementing a CNN in TensorFlow

14.4.1 Measuring performance

14.4.2 Training the classifier

14.5 Tips and tricks to improve performance

14.6 Application of CNNs

Summary