## 3 Materials and Methods
### Normalization
#### 3.2.6 InceptionV3  
InceptionV3 is a deep CNN architecture that belongs to the Inception family. It was introduced by Google researchers as an extension and improvement over the original Inception architecture. InceptionV3 is designed for image classification and object recognition tasks and is known for its efficient use of computational resources. InceptionV3 introduces the concept of Inception modules, which are blocks containing multiple parallel convolutional branches with different filter sizes. This allows the network to capture features at different scales. InceptionV3 uses factorization techniques, such as \(1\times 1\) convolutions, to reduce the number of parameters in the network and make it computationally efficient. Batch normalization is applied after each convolutional layer, and ReLU activation functions introduce non-linearity.  
InceptionV3 includes auxiliary classifiers at intermediate layers during training. These auxiliary classifiers help with the training process by providing additional supervision signals and gradients. Instead of traditional fully connected layers at the end of the network, InceptionV3 uses global average pooling. This reduces the number of parameters and helps make the model more robust to spatial translations and distortions.  
The overall architecture of InceptionV3 consists of a series of Inception modules, and the network is trained for image classification tasks using datasets such as ImageNet. It achieved competitive performance with relatively fewer parameters compared to previous architectures [29].  
A simplified representation of the mathematical model for a basic Inception module in InceptionV3 is as follows: Let \(X\) be the input tensor; \(W_{1\times 1}\), \(W_{3\times 3\_reduce}\), \(W_{3\times 3}\), \(W_{5\times 5\_reduce}\), \(W_{5\times 5}\), \(W_{pool-proj}\) represent the learnable weights of the convolutional filters; \(\gamma\) and \(\beta\) represent the scale and shift parameters for batch normalization; and \(\sigma\) represents the activation function.  
1. The \(1\times 1\) Convolution Branch: \[X_{1\times 1}=Conv2D(X,\ W_{1\times 1},padding=\text{'}same^{\prime},\ activation=\text{'}relu^{ \prime})\] (5)
2. The \(3\times 3\) Convolution Branch: \[X_{3\times 3\_reduce}=Conv2D(X,\ W_{3\times 3\_reduce},padding=\text{'}same^{\prime},\ activation=\text{'}relu^{ \prime})\] (6) \[X_{3\times 3}=Conv2D\big{(}X,\ W_{3\times 3\_reduce},W_{3\times 3},padding=\text{'}same^{\prime},\ activation=\text{'}relu^{ \prime})\] (7)
3. The \(5\times 5\) Convolution Branch: \[X_{5\times 5\_reduce}=Conv2D(X,\ W_{5\times 3\_reduce},padding=\text{'}same^{\prime},\ activation=\text{'}relu^{ \prime})\] (8) \[X_{5\times 5}=Conv2D(X,\ W_{5\times 5\_reduce},W_{5\times 5},padding=\text{'}same^{\prime},\ activation=\text{'}relu^{ \prime})\] (9)
4. The Max Pooling Branch: \[X_{pool}=MaxPooling2D(X,pool_{size}=strides\ (1,1),\ padding=\text{'}same^{\prime})\] (10) \[X_{pool\_proj}=Conv2D\Big{(}X_{pool},\ W_{pool}\,\ padding=\text{'}same^{\prime},\ activation=\text{'}relu^{ \prime}\Big{)}\] (11)
5. The Concatenation of Branch Outputs: \[X_{out}=Concatenate\Big{(}\Big{[}X_{1\times 1},\ X_{3\times 3},X_{5\times 5},\ X_{pool \_proj}\Big{]}\Big{)}\] (12)The overall InceptionV3 architecture is composed of multiple repeated Inception modules, auxiliary classifiers, global average pooling, and a final fully connected layer for classification.