## 2 Materials and Methods
### Distributed Learning Classification Module (DLCM)  
Distributed learning is an emerging learning method that can allocate data and computing tasks to multiple computing nodes (clients) for parallel computing. During the training process, the computing node (client) can exchange relevant parameters with the server according to a specific algorithm to achieve the purpose of jointly training the model. Through parallel computing, distributed learning can significantly speed up model training and improve the efficiency of the algorithm. In addition, distributed learning can make full use of the information in the dataset and improve the accuracy of the model.  
After training with the RSEM and RSDM, we obtained microbial Raman spectrum data with a large amount of data and high dimensions. If we want to accurately classify the data, we need a complex deep learning model. However, in order to achieve the desired effect, the deep learning model needs to be trained a sufficient number of times, and time is also a very important factor in the classification and identification of microorganisms. This is also the original intention of using spectra to classify microorganisms. In addition, deep learning inevitably suffers from training instability during the iterative process. In order to solve this problem, we introduced the idea of distributed learning and built a distributed learning module for the classification of microbial Raman spectrum data. The framework of this module is shown in Figure 7.  
Specifically, the module sets up \"i\" local clients, each using the same classification network and obtaining consistent initialization parameters from the server. The dataset is evenly divided according to the number of clients, and different clients obtain different sub-datasets. To be more specific, each client's classification network is RESNET, which helps to prevent network degradation caused by vanishing or explosive gradients. Subsequently, all clients began training, with each client iterating \"m\" times in its own classification network, continuously updating gradients during the iteration process. Each client submits their revised model parameters to the server after finishing their respective training sessions. The server takes the model parameters from the client and agrees to them to create the global model for this round. In this manner, a round of global model iteration was completed  
Figure 6: Attention Gates module.  
using distributed learning, and the preceding stages were repeated until the model iteration had achieved the intended result and halted.  
The overall process of the algorithm is described using Algorithm 1.  
```
Input: Client C\({}_{i}\), Client's respective data, Client initial parameters \(\mathbf{w}_{i}\), Training round T, Fixed parameters \(\mathbf{\lambda}\) Output: Global model W
1. Initialize global model W\({}^{0}\)
2. For each client in clients:
3. Train using initialized parameters \(w_{i}\) and generate \(w_{i}^{0}\)
4. For round t in T:
5. Server executes:
6. Receive \(w_{i}^{0}\) and aggregate to generate global model W\({}_{t}\)
7. \(\text{W}_{t}=\text{W}_{t-1}+\lambda\Sigma_{i=1}^{i}(w_{i+1}^{i}-\text{W}_{t-1})\)
8. Return W\({}_{t}\)
9. Client executes:
10. Receive the global model sent by the server W\({}_{t}\)
11. Use the global model W\({}_{t}\) for training and generate parameters \(w_{i}^{t+1}\)
12. Send parameters \(w_{i}^{t+1}\) to server
13. Return W\({}_{T}\)
```  
**Algorithm 1**Model Parallel Training