## 4 Results and Discussion
### Network Architecture  
A multivariate regression model was defined using deep neural networks with an unconventional architecture specifically dedicated to this task. The network design considered essential information such as color-based modeling, the similarity of colors corresponding to successive values of the target variable, and the approximately uniform color of each photo. The neural network's input layer accepted images with dimensions of 50 \(\times\) 50 and three color channels (RGB), randomly selected from each photo. Subsequently, Conv2D convolutional layers with small 1 \(\times\) 1 filters, L2 regularization, and the GELU (Gaussian error linear unit) activation function were applied after each convolutional layer. A normalization layer was also used, operating along the feature axis for each sample to stabilize and improve the learning process. The architecture also included pooling layers that reduced the spatial size of the feature map, including AveragePooling2D and GlobalMaxPooling2D, which reduced the spatial dimension to one value per feature map. The combination of global pooling and flattening is a standard technique for dimension reduction before fully connected layers. In the next stage, the data was flattened to a 1D vector, which was passed  
Figure 8: Various exemplary images of the vitamin C solution (33.63 \(\upmu\)g/mL) under artificial lighting conditions before (**top**) and after (**bottom**) application of the standardization algorithm. Figure 7: Images of the vitamin C solution (33.63 \(\upmu\)g/mL) under artificial lighting conditions before (source) and after (matched) application of the standardization algorithm and corresponding histograms of RGB channels. to fully connected dense layers with GELU activation and L2 regularization, while the addition of a Dropout layer prevented overfitting. The output was a value corresponding to the predicted concentration of the solution in the image. A detailed description of the network architecture is provided in Table 2 and an overview is illustrated in Figure 9. The total number of parameters was 23,879, and training in a single cycle took a few to several seconds (depending on the computation variant). In a convolutional layer such as Conv2D, the applied L2 regularization works on the convolutional filters (kernels). These filters are responsible for extracting features from the input images. Adding L2 regularization means that during the optimization process, the loss function the model tries to minimize includes an additional term that penalizes large weight values of the filters. Adding L2 regularization to the convolutional layer helps prevent overfitting, stabilizes the optimization process, and promotes more uniform and stable solutions, leading to better model generalization. The kernel size of \(1\times 1\) in the convolutional layer has specific and useful properties in neural networks. The \(1\times 1\) filters are typically used to reduce spatial dimensions without spatial aggregation, which can be useful in reducing the number of feature channels or introducing nonlinearity without changing the spatial size. This configuration is often called a \"pointwise convolution\". The \(1\times 1\) kernel changes the number of output channels (depth) without changing the width and height of the input image, allowing for the combination of information contained in different input channels without integrating spatial information. Each output point is a linear combination of the input channel values at a given spatial point. For example, if at a given input point (x, y) we have values in the channels (w1, w2, w3), the \(1\times 1\) kernel applies different weights to these values and combines them, creating new output channels. Such a kernel has fewer parameters compared to larger convolutional kernels, resulting in fewer computational operations. This is efficient in terms of memory and computation time.