Welcome to the Practitioner Bundle of Deep Learning for Computer Vision with Python! This volume is meant to be the next logical step in your deep learning for computer vision education after completing the Starter Bundle. At this point, you should have a strong understanding of the fundamentals of parameterized learning, neural net works, and Convolutional Neural Networks (CNNs). You should also feel relatively comfortable using the Keras library and the Python programming language to train your own custom deep learning networks. The purpose of the Practitioner Bundle is to build on your knowledge gained from the Starter Bundle and introduce more advanced algorithms, concepts, and tricks of the trade — these tech- niques will be covered in three distinct parts of the book. The first part will focus on methods that are used to boost your classification accuracy in one way or another. One way to increase your classification accuracy is to apply transfer learning methods such as fine-tuning or treating your network as a feature extractor. We’ll also explore ensemble methods (i.e., training multiple networks and combining the results) and how these methods can give you a nice classification boost with little extra effort. Regularization methods such as data augmentation are used to generate additional training data – in nearly all situations, data augmentation improves your model’s ability to generalize. More advanced optimization algorithms such as Adam [1], RMSprop [2], and others can also be used on some datasets to help you obtain lower loss. After we review these techniques, we’ll look at the optimal pathway to apply these methods to ensure you obtain the maximum amount of benefit with the least amount of effort.
1