chapter six

6 Common Design Building Blocks

 

This chapter covers

  • Adding new activation functions.
  • Inserting new layers to improve training.
  • Skipping layers as a useful design pattern.
  • Combining new activations, layers, and skips into new approaches more powerful and the sum of their parts.

At this point we have learned about the three most common and fundamental types of neural networks: fully-connected, convolutional, and recurrent. We have been able to improve all of these architectures by changing the optimizer and learning rate schedule, which alter how we update the parameters (weights) of our models, giving us more accurate models almost “for free”. All of the things we have learned thus far also have a long shelf life, and have taught us about problems that have (and continue) existed for decades. This gives you a good foundation to “speak the language” of deep learning, and some very fundamental building blocks larger algorithms are made from.

6.1 Better Activation Functions

6.1.1  Vanishing Gradients

6.1.2  Rectified Linear Units

6.2 Normalization Layers

6.2.1  Batch Normalization

6.2.2  Layer Normalization

6.2.3  Which Normalization Layer To Use?

6.2.4  A Peculiarity to Layer Normalization

6.3 Skip Connections

6.4 1x1 Convolutions

6.5 Residual Connections

6.5.1  Residual Blocks

6.5.2  Residual Bottlenecks

6.6 Long Short Term Memory RNNs

6.7 Exercises

6.8 Summary