Welcome to the ImageNet Bundle of Deep Learning for Computer Vision with Python, the final volume in the series. This volume is meant to be the most advanced in terms of content, covering techniques that will enable you to reproduce results of state-of-the-art publications, papers, and talks. To help keep this work organized, I’ve structured the ImageNet Bundle in two parts. In the first part, we’ll explore the ImageNet dataset in detail and learn how to train state-of-theart deep networks including AlexNet, VGGNet, GoogLeNet, ResNet, and SqueezeNet from scratch, obtaining as similar accuracies as possible as their respective original works. In order to accomplish this goal, we’ll need to call on all of our skills from the Starter Bundle and Practitioner Bundle. We’ll need to ensure we understand the fundamentals of Convolutional Neural Networks, especially layer types and regularization, as we implement some of these more “exotic” architectures. Luckily, you have already seen more shallow implementations of these deeper architectures inside the Practitioner Bundle so implementing networks such as VGGNet, GoogLeNet, and ResNet will feel somewhat familiar. We’ll also need to ensure we are comfortable with babysitting the training process as we can easily overfit our network architectures on the ImageNet dataset, especially during the later
epochs. Learning how to correctly monitor loss and accuracy plots to determine if/when parameter updates should be updated is an acquired skill, so to help you develop this skill faster and train deep architectures on large, challenging datasets, I’ve written each of these chapters as “experiment journals” that apply the scientific method.
Inside each chapter for a given network you’ll find: 1. The exact process I used when training the network. 2. The particular results. 3. The changes I decided to make in the next experiment. Thus, each chapter reads like a “story”: you’ll find out what worked for me, what didn’t, and ultimately what obtained the best results and enabled me to replicate the work of a given publication. After reading this book, you’ll be able to use this knowledge to train your own network architectures from scratch on ImageNet without spinning your wheels and wasting weeks (or even months) of time trying to tune your parameters. |