## 4 Materials and Methods
### Proposed BengaliNet Architecture  
The purpose of this research was to design a low-cost deep convolutional architecture that can accurately predict the Bengali handwritten characters. That is why BengaliNet was chosen as the name of the architecture. The size of the input image was set to \(28\times 28\) for BengaliNet architecture. The input image was then passed to three different paths. All these three paths have essentially the same combination of layers, but the filter size of convolution is different. \(3\times 3\), \(5\times 5\), and \(7\times 7\) filters were used for the three paths. It turned out because of having both simple and complex shaped characters, any one of the \(3\times 3\), \(5\times 5\), and \(7\times 7\) filters could not produce better learning but in combination, the classification can be enhanced dramatically. This phenomenon is also referred to as multicolumn CNN design as the end network consists of multiple convolutional neural networks or columns [39]. More about the intuition behind classification enhancement can be discovered in the \"Experimental Analysis\" section with proper experimental results.  
Each of the paths started with two convolutional layers of depth 32 followed by a max-pooling layer and a dropout of 25%. After that, the output was provided to two branches. The first branch had one convolutional layer followed by a batch normalization layer and another convolutional layer followed by another batch normalization layer. Then, max-pooling was added followed by a dropout of 20%. The second branch started with two convolutional layers followed by a max-pooling layer and a dropout of 25%. For both branches, the depth of the convolutional layers was set to 64. Outputs of the two branches were then concatenated and fed to a convolutional layer of depth 64 followed by a max-pooling layer and a dropout of 25%. Next, a fully connected layer of size 256 was added after flattening followed by a dropout of 50%. Finally, an output layer was connected with the SoftMax activation function with a size of 7, 10, 50, 171, 199, or 256 based on the number of classes. For all the convolutional layers, the ReLU activation function was used and for all max-pooling layers, the max-pooling filter size was \(2\times 2\).  
Each of the three paths generated a prediction but despite applying a voting process to predict the outcome, we applied the SoftMax averaging technique here. The average of three SoftMax outputs was considered to be the final SoftMax output and was used to predict the outcome. More intuitions about this idea can be discovered in the \"Experimental Analysis\" section. Figure 4 illustrates the architecture of BengaliNet. Our architecture has 2.24-2.43 million parameters based on the number of classes in consideration. Table 2 illustrates the number of parameters for each layer considering 256 classes as 256 is the maximum number of classes in our experimental datasets.  
Figure 4: Proposed BengaliNet Architecture: A Low-Cost Novel Deep Convolutional Neural Network. Numbers below the layers indicate number of filters for convolutional layers, dropout values and number of neurons for fully connected layers.