# A Novel Architecture to Classify Histopathology Images Using Convolutional Neural Networks
## 2 Literature Review
### Proposed Architecture  
The proposed CNN was chosen by analyzing the extant literature in the area, thus exploiting the contributions of different works. The main inspiration of the proposed model is the VGG16 architecture [26], with the main differences being (1) the use of normalization layer in every convolution block, (2) the use of three convolution layers in every block instead of four, and (3) the use of fully connected layers with 512 neurons instead of 4096. The proposed architecture is shown in Figure 1. In the proposed architecture, the input image size is \(96\times 96\) pixels. The architecture has 5 convolution blocks that act as feature extractors and one fully-connected block that acts as a classifier. In the first convolution block, three convolution layers followed by a batch normalization layer and a max-pooling layer are used. The padding is kept the same for the three convolution layers to make use of every pixel, especially in the first convolution block and, for the same reason, the stride is set to 1. For the three convolution layers, 32 kernels were used with a size of \(3\times 3\). To reduce the dimensions by two to keep the most relevant features obtained from the first convolution block, a max-pooling layer is added. The second, third, and fourth convolution blocks use the same hyperparameters used in the first convolution block, except for the number of kernels used, which was set to 64, 128, and 256, respectively. In the fifth convolution block, the second and the third convolution layers have no padding to decrease the spatial information with 512 kernels. The output of the convolution blocks is flattened and, subsequently, it becomes the input of the classifier block. The classifier block has two fully connected layers, each with 512 neurons. Overall, the inputs to the convolution blocks are 96 \(\times\) 96 \(\times\) 3, 48 \(\times\) 48 \(\times\) 32, 24 \(\times\) 24 \(\times\) 64, 12 \(\times\) 128, and 6 \(\times\) 6 \(\times\) 256, respectively. The final layer is a sigmoid function that is used to classify into two classes. In total, the proposed architecture consists of 15 convolution layers, 2 fully connected layers, 5 pooling layers, and 5 normalization layers.  
Activation functions have a huge impact on the speed and the accuracy of the networks, and that is why, instead of using the ReLU activation function which is considered as the de-facto activation function, five additional activation functions were tested to determine the best for the proposed architecture.  
Figure 1: A schematic diagram of the proposed network architecture.  
Four designs were tested to determine the optimal architecture. The first design is to test the effect of dropout layers in the classifier block, where a dropout layer with a dropout ratio of 50% will be inserted after each fully connected layer. The second design is to test the performance of the architecture without the dropout layers. The third design is to test the performance of the CNN after placing the normalization after the activation function. A dropout layer with a 50% dropout ratio will be added after each fully-connected layer. The fourth design is the same as the third design but without dropout layers. Different designs are shown in Figure 2.