## 3 Results
### Batch Size and the Learning Results  
The training dataset, as described earlier, consists of pairs of noisy and clean image fragments (patches) in the frequency domain. The learning process continued until a certain PSNR level was reached for the validation set, regardless of the learning error (that is, the error on the learning set) at that moment. Another important preprocessing step is to perform mirroring (reflection padding) on a processed image. This step helps to avoid boundary effects while processing an image by ensuring that boundary intensities are processed in the same way as the rest of the intensities. As was mentioned above, to organize the learning process, we used a batch learning algorithm [60; 61]. In our work, we conduct experiments with various batch sizes. After performing many experiments with patches of various sizes, we found that a patch size of \(8\times 8\) is optimal as the one leading to better results. Thus, a patch size of \(8\times 8\) determines that our neural network should have 64 inputs and 64 outputs. To discover how a batch size influences the quality of filtering, the following experiment was conducted. MLMVN with a topology of 64-256-64 was trained to filter additive Gaussian noise with a standard deviation of 0.2\(\sigma\) using different batch sizes. The network utilized a standard activation function for MVNs with continuous output in the hidden layer neurons, while an identity activation function was used in the output layer neurons. The learning epoch threshold was set to 3, while the iteration limit per batch was set to 100. The results of processing images from the test set with this MLMVN trained using various batch sizes are provided in Table 1. For convenience, we also provide the ideal images from the test dataset that were used for the evaluation of the MLMVN filtering capabilities in Figure 5.  
Figure 4: Examples of magnitudes of the convolution kernels in the frequency domain generated by the MLMVN learning process for filtering additive Gaussian noise (**a–d**) and multiplicative speckle noise (**e–h**). These examples are shown for 4 randomly selected hidden neurons for both kinds of noise. According to our observations, larger batch sizes allow for achieving better results. This can be explained by the well-known fact that LLS-based methods for solving overdetermined systems of linear algebraic equations, which are the key elements of batch learning, show more accurate results for systems that are more overdetermined to some level, that is, for the systems where the number of equations is significantly larger than the number of unknowns. The number of equations in this case is determined by the number of samples in a respective batch. During our experiments, we considered various activation functions for the neurons in the hidden and output layers (Table 2). It is well known that the main role of an activation function is to limit the neuron's output range. In our case, an expected output of MLMVN is a filtered image patch in the frequency domain, whose magnitude should be in the range \([0,1]\), as we work with normalized images and their normalized Fourier transforms. Therefore, the important role of an activation function in our case is to keep the magnitude of the resulting Fourier transform coefficients within the range \([0,1]\) (Figure 6). The only exception is the linear (\"identity\") activation function, which simply passes the computed weighted sums to the output without any modification. Figure 5: Ideal (clean) versions of the test images used for evaluating the MLMVN filtering capabilities. When performing filtered image \"synthesis\" from a collection of filtered overlapping patches (Algorithm 2), an aggregation function should be used to process the overlapping pixels in the patches. In this work, we employed median and mean, both taken over the overlapping values as aggregation functions. According to the results of our experiments, the median aggregation function performs slightly better.