bottom layers. To prevent this, a 3-stage training strategy was proposed which freezes the parameter learning for all but the final layer and progressively unfreezes parameter learning from top to bottom, while simultaneously decreasing the learning rate. The 3-stage training strategy on the S10 patch set was as follows:

1.  Set learning rate to 1e-3 and train the last layer for 3 epochs.

2.  Set learning rate to 1e-4, unfreeze the top layers and train for 10 epochs, where the top layer number is set to 46 for Resnet50 and 11 for VGG16.

3.  Set learning rate to 1e-5, unfreeze all layers and train for 37 epochs for a total of 50 epochs.

In the above, an epoch was defined as a sweep through the training set. For the S1 patch set, the total number of epochs was increased to 200 because it is much smaller than the S10 patch set. For randomly initialized networks a constant learning rate of 1e-3 was used. Adam [@kingma_adam_2014] was used as the optimizer and the batch size was set to be 32. The sample weights were adjusted within each batch to keep the five classes balanced.

The second step was to train a 