## 4 Experimental Setup
### Experimental Details  
To extract features from Arabic dialect audio, we used the Kaldi platform [24] to extract 80-dimensional Fbank features and 3-dimensional pitch features. The feature extraction used a frame length of 25 ms and a frame shift of 10 ms, without using energy VAD to filter out non-speech frames. Finally, we performed cepstral mean and variance normalization (CMVN) on the extracted 83-dimensional features to improve the system's robustness. Our model was implemented using the PyTorch toolkit [25], with [PERSON] [26] chosen as the optimizer and an initial learning rate set to 0.001. We used a cosine annealing schedule to decrease the learning rate, and the batch size was 32. We employed two NVIDIA V100S GPUs with 32 GB memory each. The models were trained for 30 and 20 epochs, respectively, using balanced and speed perturbation data. An additional 10 epochs were trained during the fine-tuning process for balancing. Due to the particularly large size of the dialect dataset, each experiment required a month-long cycle to complete. Additionally, we proposed a balanced fine-tuning and score normalization method in the experiments. In addition, we proposed a balanced fine-tuning method and a score normalization method in the experiment. **Balanced Fine-Tuning:** In order to address the issue of imbalanced data, we evaluated our proposed model using three data processing methods: balanced data, speed perturbation, and balanced fine-tuning. The specific steps of balanced fine-tuning are as follows: first, a model is trained using unbalanced data augmented with speed perturbation, and then the model is fine-tuned using a previously constructed balanced dataset to correct the fairness issues caused by significant differences in training data volume across different dialects. **Z-Score:** The score distributions differ among different dialects, and even the same dialect may have significant variations in scores due to differences in semantic content and noise environments during data collection. Therefore, it is necessary to normalize the scores for each dialect. In our experiments, we used _Z-Score_ normalization, also known as standard score. \begin{table}
\begin{tabular}{c c c c} \hline \hline  & **Training** & **Dev** & **Test** \\ \hline Dur (h) & 3033.4 & 24.9 & 33.1 \\ Utterances & 1,043,269 & 8955 & 12,615 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Speech data for Arabic dialect identification. Z-Score normalization can be used to compare the values of different datasets, especially when they have different means and standard deviations. In Arabic dialect classification scoring, using Z-Score normalization can map the score of each dialect to a standard normal distribution, thereby reducing the influence of different score distributions of dialects and facilitating the comparison of scores of different dialects. As shown in Figure 4, we randomly selected 2500 utterances from the original training data of each dialect and fed them into our trained model to generate a score file. Utilizing the known labels from the training set, we obtained the mean and standard deviation of each dialect:  
\[\mu_{j}=\frac{1}{n}\sum_{i=1}^{n}x_{ij} \tag{14}\]  
\[\sigma_{j}=\left(\frac{1}{n}\sum_{i=1}^{n}\left(x_{ij}-\mu_{j}\right)^{2} \right)^{\frac{1}{2}} \tag{15}\]  
Here, \(X_{ij}\) represents the probability of the \(j\)-th dialect belonging to the \(i\)-th sentence in the speech corpus. \(\mu_{j}\) represents the mean value of the \(j\)-th dialect, and \(\sigma_{j}\) represents its standard deviation. \(n\) represents the total number of speech utterances. During the testing process, we input a complete speech sentence and perform softmax processing, resulting in 17 scores. We then use the previously obtained mean and standard deviation of each dialect to calculate the deviation from the mean (i.e., the difference between the test score and the mean), and divide it by the standard deviation.