In part_5 we used data agmentation to
increase our performance by a large margin. In this tutorial we will introduce a more powerful regularization technique that uses the same idea
of coarse dropout, the data augmentation technique we used, but on the middle layers of the convolutions too instead of normal dropout.
It’s called dropblock.
DropBlocks
Dropblock builds on the idea of dropout regularization in the case of images to act as a better regularizer. The idea is to drop a whole block
of neurons instead of a single one in the feature space. The following is an image from the original paper describing the idea:
(a) input image to a convolutional neural network. The green regions in (b) and (c) include
the activation units which contain semantic information in the input image. Dropping out activations
at random is not effective in removing semantic information because nearby activations contain
closely related information. Instead, dropping continuous regions can remove certain semantic
information (e.g., head or feet) and consequently enforcing remaining units to learn features for
classifying input image.
Implementation
We will be using An Jiaoyang’s implementation of dropblock in tensorflow:
And in our implementation we will change a couple of lines in the convolutional part:
drop_block_size is the size of the block to be dropped. It can be initialized at the beginning or changed per layer. Also note that if you
make drop_block_size equal to 1 it will act like normal dropout.
Another thing that was mentioned in the paper when using dropblocks is the decaying of the keep probability over the training iterations for
better divergence. So starting from 1 then decreasing to 0.7 over many iterations might provide you with a better divergence.
DropBlocks are often used with ResNets so in the next tutorial we will extend our model by adding skip connections and see the results of using
a simple ResNet with dropblock.
If you want to check the full state of the project until now click here to go the repository.
See you in part 7.