## 2 Frequency Domain Filtering of Overlapping Patches
### Organization of the Learning Process  
The learning process we utilized in this work for training MLMVN is based on batch learning with validation. The main advantage of learning with validation is that it makes it possible to verify whether a neural network has developed a generalization capability. As learning with validation is based on the minimization of the validation error, it stops when a network is capable of generalizing with a desired accuracy. This also helps to avoid overfitting, which may often affect learning based on the minimization of the learning error (that is, the error on the learning set). Overfitting may occur from repeated attempts to \"memorize\" a learning set by achieving a low learning error. But the actual goal of learning is to develop a generalization capability (that is, to deal with the data that were not used to adjust the weights), not to \"memorize\" a learning set. This leads to improvement in robustness. In the learning process with validation, a dataset is divided into three subsets: a learning (training) subset, a validation subset, and a test subset. The training subset is used to adjust the weights, while the validation subset is used to verify whether a desired generalization capability has been achieved. Then the test subset is used to verify the results of the learning process. Figure 3: Image noise filtering process. Model training was performed separately for each type of noise. To design training, validation, and test sets, a set of grayscale images of different sizes was used. It was split into three subsets, \(S_{t}\) (training), \(S_{v}\) (validation), and \(S_{f}\) (test), such that \(S_{t}\cap S_{v}\cap S_{f}=\emptyset\). The training dataset consists of pairs of vectorized Fourier transforms of noisy and corresponding clean image patches. The training dataset was built using set \(S_{t}\), which comprised 300 grayscale images. It is important to note that as a part of preprocessing, we normalize the images by dividing their intensities by 255, so they have a range \([0,1]\) after normalization. This is important because a neural network learns faster and generalizes better when it deals with normalized data. For each image \(I\in S_{t}\), an image \(I_{\text{noisy}}\) was created by applying noise (additive Gaussian noise or multiplicative speckle noise). Additive Gaussian noise was modeled with the following levels, \(0.1\sigma\), \(0.2\sigma\), and \(0.3\sigma\), while multiplicative speckle noise was modeled with levels \(0.2\sigma\), \(0.3\sigma\), and \(0.4\sigma\), where \(\sigma\) is the standard deviation of the ideal (clean) image. After applying the corresponding noise, \(h\) random patches of size \(m\times n\) were picked from the clean image \(I\). In our experiments, we selected 200 patches per image. The same number of patches, of the same size and at the same spatial coordinates, were picked from each corresponding noisy image \(I_{\text{noisy}}\). As a result, two sets of image fragments were created:  
\[p^{\text{ideal}}=\left\{\mathcal{C}^{(i)}_{(x_{j},y_{j})}\ \middle|\ i=\overline{1,l},\ j= \overline{1,h}\right\}\]  
and  
\[p^{\text{noisy}}=\left\{D^{(i)}_{(x_{j},y_{j})}\ \middle|\ i=\overline{1,l},\ j= \overline{1,h}\right\}\]  
and  
\[P_{\mathcal{F}}^{\text{noisy}}=\left\{\text{vec}\Big{(}\frac{1}{nm}\,\mathcal{ F}(D)\Big{)}^{T}\ \Bigg{|}\ D\in P^{\text{noisy}}\right\}\]  
Thus, the training set for MLMVN was formed from elements of \(P_{\mathcal{F}}^{\text{ideal}}\) and \(P_{\mathcal{F}}^{\text{noisy}}\) in the following way:  
\[L=\left\{\Big{(}T_{i}^{\text{in}},T_{i}^{\text{out}}\Big{)}\ \Big{|}\ i=\overline{1,lh},\ T_{i}^{\text{in}}\in P_{ \mathcal{F}}^{\text{noisy}},\ T_{i}^{\text{out}}\in P_{\mathcal{F}}^{\text{ideal }}\right\}\]  
The validation dataset was built using \(g\) full-size images from \(S_{v}\). Additive Gaussian or multiplicative speckle noise was applied to each image from \(S_{v}\), thereby creating a set of noisy images \(S_{v}^{\text{noisy}}\) similarly to how noise was added to create a training set.